용어정리
- AI
- 사람이 만든 예측모델
- 머신러닝, 딥러닝
- 머신러닝
- 회귀(Regression)와 분류(Classification)
- Train, Test, Validation
- 모델링
- 목적 : 일반화된 모델을 만드는 것
- 학습에 사용되지 않은 데이터에서도 비슷한 성능
- 함수형 - 경사하강법
- 접선의 기울기 or 편미분값
- 선형회귀(Linear Regression)
- y가 숫자
- 단순회귀 (Simple Regression), 다항회귀 (Polynomial Regression), 다중회귀 (Mutiple Regression)
- 함수 및 평가는 MSE(Mean Squared Error)
- MSE 작으면 데이터의 분포와 특징을 설명한다
- Capacity : 데이터에 대한 설명력
- 파라미터 업데이트
- 상관계수를 활용한 EDA
- 인코딩 - LabelEncoding, OneHotEncoding
- 스케일링 - MinMaxScaler, StandardScaler
- 로지스틱회귀 (Rogistic Regression)
- y가 문자
- 이진분류 (Binary Classification)
- 함수는 시그모이드(Sigmoid)
- 손실함수는 크로스엔트로피(Cross Entropy)
- 실제값과 예측값의 확률을 곱하여 엔트로피 계산
- 엔트로피 = 불확실성의 척도
- 평가는 정확도, 정밀도, 재현율, R1스코어
- 의사결정나무 (Decision Tree)
- y가 숫자 혹은 문자
- 학습의 기준
- 기본은 Gini Impurity Index (vs Cross Entropy)
- 분류-불순도(Impurity)
- 분산이 제일 작은 것으로 rule을 정함
- 엔트로피가 0이 될때까지 rule이 생성됨
- 예측-분산
- 불순도가 제일 낮은 것으로 rule을 정함
- rule이 많아질 수록 capacity가 높아짐
- 오버피팅(train 데이터에만 최적화됨, 과대적합) 이슈가 크다
- 정확도, 정밀도, 재현율과 비교를 통해서 적절한 크기의 의사결정나무 계산
- 하이퍼파라미터 튜닝이 중요함
- feature Importance (기여도)
- 랜덤 포레스트
- 행 : n_estimators / 열 : max_features
- 병렬처리
- AdaBoosting Model (에이다 부스팅)
- 오답노트를 활용한 가중치
- 모델을 만든 후에 다 합침
- Gradinet Boosting Model
- Gradient는 오차를 의미
- 오차를 다음번에 맞추게끔
- 하나의 모델이 계속 업데이트되어 나옴
표 정리
지도 학습 | 비지도 학습 |
---|---|
회귀(수치예측)와 분류(범주예측) | 군집, 차원축소 |
선형회귀, 로지스틱회귀, 의사결정나무, 랜덤포레스트… | K-평균 군집(K-means), 주성분분석(PCA) |
train, test, validation data (레이블 있는 데이터) | 레이블 없는 데이터 |
LinearRegression | LogisticRegression | DecisionTree | RandomForest |
---|---|---|---|
함수형 머신 | 함수형 머신 | 트리형 머신 (오버피팅 이슈 → 가지치기) | 앙상블 기법 (병렬 처리) |
회귀 문제 (y가 숫자) | 분류 문제 (y가 문자) | 회귀, 분류 | 회귀, 분류 |
y = wx + b (파라미터 업데이트) | 시그모이드 함수 (파라미터 업데이트) | rule 추가 (하이퍼파라미터 튜닝) | 다양성(n_estimators), 임의성(max_features) 증가 - GridSearchCV |
MSE (경사하강법) | 크로스엔트로피 | 지니 불순도 계수, 분산 | |
MSE, R2 Score | Precision, Recall, F1 Score | 회귀, 분류에 따라 결정됨 | 회귀, 분류에 따라 결정됨 |
sklearn.linear_model | sklearn.linear_model | sklearn.tree | sklearn.ensemble |
AdaBoosting | GradientBoost | LightBGM | XGBoost | KNeighbors |
---|---|---|---|---|
앙상블 기법 | 앙상블 기법 (Gradient는 오차 의미) | 앙상블 기법 | 앙상블 기법 | 이웃한 데이터 분류 |
이전 모델의 잘못 분류된 모델의 가중치 조정 (다수의 모델 생성 이후 합침) | 이전 모델의 오차 사용하여 학습 (같은 모델이 계속 업데이트) | 경량화 기법 | 강력한 병렬 처리, 욕심쟁이 알고리즘, Early Stopping | 최근접 이웃의 개수 |
sklearn.ensemble | sklearn.ensemble | lightgbm | xgboost | sklearn.neighbors |