머신러닝 개론

머신러닝 개념

  • 인공지능 > 머신러닝 > 딥러닝(하위개념)
  • 머신러닝 : 데이터 기반 규칙 도출(학습)을 통한 자동화/최적화
  • 딥러닝 : 인간의 뇌를 모방한 뉴럴 네트워크를 통한 모델 학습/자동화/최적화
    Input -> Black Box -> Output

지도/비지도 학습

  • 지도(Supervised) 학습 : 정답데이터(Lable)을 사용하여 모델 훈련/회귀, 분류 문제
  • 비지도(Unsupervised) 학습 : 입력데이터에 대한 레이블이 없는 경우의 학습(데이터의 패턴이나 구조를 발견하는 것) / 클러스터링, MLM 문제

정형/비정형 데이터

머신러닝 성능평가 방법론

  • 분류 모델의 성능평가 : Confusion Matrix
    • Accuracy : (모델이) 예측한 것들 중에 (실제와)일치한 비율
    • Precision : (모델이) 맞았다고 예측한 것 중 (실제로) 맞은것의 비율
    • Recall : (실제) 맞는 것들 중에 (모델이) 맞았다고 예측한 비율
    • F1 score(조화평균) = 2 x (recall x precision)/(recall + precision) : 1에 가까울 수록 정확한 예측
  • 훈련 집합과 테스트 집합
    - sklearn.model_selection : train_test_split
  • 과대적합과 과소적합
    • 과대적합 : 모델이 과하게 훈련 집합에 학습/일반화 성능 부족
      • 해결방안
        • 정규화
        • 앙상블 기법 : 배깅과 부스팅
        • 프루닝 : 결정트리에서 가지치기
    • 과소적합 : 학습이 충분하지 않음

경사하강법

비용함수의 기울기를 사용하여 파라미터를 반복적으로 업데이트 하면서 최적의 값을 찾는 알고리즘

연속형과 범주형 데이터

분류와 회귀문제

  • 분류
    - 데이터 포인트의 범주 예측

    • 로지스틱 회귀/SVM/K-NN/결정트리/랜덤포레스트
  • 회귀
    - 연속적인 값 예측

    • 선형회귀/다항회귀/릿지/라쏘/SVR/랜덤포세스트

머신러닝과 분류(Classification) 문제

이진분류/다중 클래스 분류

로지스틱 회귀(Logistic Regression)

K-최근접 이웃 알고리즘(K-Nearest Neighbors, KNN)

서포트 벡터 머신(Support Vector Machine, SVM)

의사 결정 트리(Desicion Tree)

머신러닝과 회귀(Regression) 문제

모델

선형 회귀

  • 단순 선형 회귀
  • 다중 선형 회귀

다항 회귀

  • 다항 회귀 모델

정규화 회귀

  • 릿지 회귀(L2 정규화)
  • 라쏘 회귀(L2 정규화)

회귀 트리

  • 결정 트리 회귀 모델

앙상블 방법

  • 배깅(Bagging) : 부트스트램 샘플링을 통해 여러개의 모델을 학습 후 결과물을 평균 혹은 다수결로 결합(랜덤 포레스트 회귀)
  • 부스팅(Boosting) : 여러 약학 학습기를 순차적으로 학습시켜 예측 성능을 향상(잘못 예측한 샘플에 가중치 부여)시키는 방법(AdaBoost, Gradient Boosting, XGBoost, LightGBM)
  • 스태킹(Stacking) : 여러개의 모델을 학습시키고, 이들의 예측결과를 메타 모델에 입력하여 최종 예측 수행 (Stacking Regressor & Classifier)

기타 회귀

  • 서포트 벡터 회귀(SVR)

선형회귀 평가지표(Metrics)

  • 평균 제곱 오차 : MSE
  • 평균 절대 오차 : MAE
  • 결정 계수 : R-squared(1에 가까울수록 좋은 모델)
  • 평균 제곱근 오차 : RMSE

다중 공선성(MultiCollinearity)

: 회귀 분석에서 독립 변수들 간의 강한 상관관계로 발생하는 문제, 모델의 계수 추정의 불안정성을 초래함
: 변수 간의 상관관계를 줄이기 위한 변수 선택 및 정규화 기법을 사용할 수 있음

모델 성능 기록

: Weight and Biases(완디비)

  • 실험 추적
  • 하이퍼 파라미터 튜닝
  • 모델 시각화 및 분석
  • 협업 및 공유

Feature Selection

  • RFE : Recursive Feature Elimination
  • Filter Method
    (데이터의 통계적 속성을 사용하여 특성 선택)
    • Variance Threshold(분산 임계값)
    • Correlation Coefficient(선형 상관 계수)
    • Chi-Squared Test(카이제곱 검증)
  • Wrapper Methods
    (모델을 학습시키고 평가하여 특성을 선택)
    • Sequential Feature Selection(SFS)
    • Recursive Feature Elimination with Cross-Validation(RPECV)
  • Embedded Methods
    (모델 학습 과정에서 특성을 선택)

교차 검증(Cross Validation, CV)

교차 검증은 모델의 성능을 평가하고 일반화 능력을 검증하기 위해 데이터를 여러개의 부분으로 나누어 반복적으로 학습과 평가를 수행하는 방법

  • K-Fold Cross Validation : 데이터를 K개로 나누어 학습과 테스트 데이터로 사용
  • Stratified K-Fold Cross Validation(층화된 K-폴드 교차 검증) : 주로 불균형 데이터 셋에서 각 폴드가 클래스 비율을 동일하게 유지하도록 데이터를 나눔
  • GridSerchCV & K-Fold Cross Validation
  • RamdomizedSearchCV와 Staratified K-Fold Cross Validation

Hyper Parameter Tunning

머신러닝 모델의 학습과정에서, 사용자가 설정해야 하는 변수

  • Grid Search : 모두 탐색
  • Random Search : 무작위 탐색
  • Bayesian Optimization(베이지안 최적화) : 이전 결과를 바탕으로 다음 하이퍼 파라미터 선택
  • 초매개변수 최적화 알고리즘(최신 알고리즘) : Hyberband, Optuna

머신러닝과 클러스터링(Clustering) 문제

주어진 데이터 집합을 여러개의 군집으로 나누는 비지도 학습 방법 중 하나

거리 측정

  • 유클리드 거리
  • 맨허튼 거리
  • 민코프스키 거리

데이터 간 유사도(Similarity)

  • Jaccard Simility(자카드 유사도)
  • 코사인 유사도
  • 상관 계수 (Correlation Coefficient)

모델

K-Means 클러스터링

초기 중심점을 설정하여 클러스터링 : 초기 파라미터 설정 (n_clusters)

Hierarchicla

덴드로그램 트리구조로 표현

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

데이터 포인트의 밀도를 기반으로 군집을 형성

평가

엘보우 기법(Elbow Method)

실루엣 계수(Silhouettte Coefficient)

: 각 데이터 포인트가 자신의 클러스터 내에서 얼마나 가깝게 군집되고, 다른 클러스터와 얼마나 멀리 떨어져 있는지 측정

결과 프로토타이핑

  • Stramlit
  • PyPlot Dash Board
profile
인공지능관련 작업중

0개의 댓글