728x90

지도학습

지도학습: 라벨링이 된 데이터를 학습시키는 것
비지도학습: 라벨링이 되지 않은 데이터를 학습시키는 것

타깃 기준 분류
타깃이 범주형 -> 분류 (과일을 사과, 배로 구분)
타깃이 연속형 숫자 -> 회귀 (중학생 키를 예측)

K-최근접 이웃 알고리즘

K-nearest neighbor, kNN: 비교대상이 되는 데이터 포인트 주변에 가장 가까이 존재하는 k개의 데이터셋과 비교해 가장 가까운 데이터 종류로 판별

가장 가까이 존재하는 k개의 데이터는 test data의 좌표와 전체 데이터셋의 좌표를 대상으로
L2 norm(Euclidean distance)을 계산하여 ascending order로 정렬한 뒤 k개를 선택하여
다수결의 원칙에 따라 가장 많은 y 값으로 예측값을 결정함

타겟이 연속형인 경우, 주변 k개의 데이터의 y값의 평균으로 예측값을 결정함

릿지 회귀 분석(L2 제약식)

가중치 w가 폭발적으로 커지면 분산이 커지는 문제가 발생하여 제약식을 사용

목적함수와 제약식

릿지 회귀 분석 식 (라그랑주 프리멀 함수 형태)
최적해

람다의 값에 따라 최적값이 달라짐
람다의 역할:

  1. 계수(coefficient의 사이즈 조절
  2. 정규식 크기(amount)를 조절
  3. 람다가 0에 가까워질 수록 최소 제곱 추정량에 가까워짐
  4. 람다가 무한대에 가까워 질 수록 릿지 해는 0에 수렴(그래도 0은 안됨). -> 상수항만 남은 모형에 가까워짐

라쏘 회귀 분석(L1 제약식)

라쏘 휘귀 분석(lasso regression): 기본 회귀 분석식에 L1 제약식을 적용

라쏘 회귀 분석 식 (라그랑주 프리멀 함수 형태)
라쏘 추정량

릿지 라쏘 일반화된 형태의 추정량

여기서 q=1이면 lasso, q2면 ridge.
그 외의 숫자 사용 가능

Elasticnet: Ridge regression + Lasso regression

로지스틱 회귀 분석

독립변수 x와 종속변수 y 간의 관계를 모형화하여 목표변수를 분류하는 통계적 방법론
결과 변수가 binary인 회귀 모델에 fit시킬 때 사용하는 방식

  • y = ax + b 식에서 y값의 치역은 무한대임
  • 무한대인 y값을 0-1 사잇값으로 제한하려면
  • 이 식에서 Wtx+b만 우변에 남기면
  • 여기서 y/1-y는 odds ratio, 좌변 전체를 logit이라고 함
  • 이렇게 변환된 식으로 0-1 사이의 값으로 예측값을 분류할 수 있음

선형회귀에서 intercept(상수)의 의미:
y 절편으로 기준 예측값(x=0일때 값), 절편값을 보정할 수도 있고, 여러 모델간 성능을 비교할 수 있음

나이브 베이즈 (Naive Bayes)

나이브 베이즈란 서로 조건부 독립인 피처를 가정하고, 베이즈 이론을 기반으로 하는 머신러닝 알고리즘

의사 결정 나무 (Decision Tree)

의사결정나무는 의사 결정을 하는데 나무를 사용하는 것
루트 노드, 리프노드, 조상 노드, 부모 노드, 자식 노드, 형제 노드, 레벨(루트 노드를 기준으로 특정 노드까지의 경로 길이)
깊이(트리의 최대 레벨), 차수(특정 노드에 연결된 자식 노드의 수)

엔트로피 (Entropy)
불순도(노드에 서로 다른 데이터가 얼마나 섞여 있는지)는 낮을 수록 좋음
불순도가 낮을수록 데이터가 섞여있지 않음

지니계수 (Gini Index)
불순도를 측정하는 다른 방법
데이터 셋에서 랜덤으로 선택한 데이터에 임의로 라벨링을 정했을 때 틀릴 확률
해당 데이터 셋의 데이터가 모두 동일하게 라벨링되어 있다면 지니 계수는 최솟값 0을 가짐 (불순도 0)

회귀 나무
의사 결정나무의 피처가 연속형 변수인 경우 사용
예측값은 각 항목의 평균값으로 예측
ex 바람이 약함으로 구분되는 데이터 4개가 있다면, 그 4개의 값의 평균 100을 사용
-> 의사 결정 나무의 오버피팅을 극복하기위해서 랜덤 포레스트를 사용

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

벡터를 두 클래스로 잘 나눌 수 있는 최적선을 찾아서 그 서포트 벡터를 기준으로 클래스를 판별

SVM은 서포트 벡터의 margin이 최대 길이가 되는 선이 최적
그런데 maximal margin classifier는 outliers에 sensitive하기 때문에
-> missclassify를 허용하면서 cross validation하는 것이 필요함

이러한 개념을 적용한 것이 soft margin
soft margin에서도 어느정도의 missclassify를 허용할지를 세팅해야 함

커널 서포트 벡터 머신은 피처 공간의 차원을 증가시켜 벡터의 위치를 퍼지게 만들고 그 공간에서 서포트 벡터 머신을 적용하는 것

서포트 벡터 회귀는 서포트 벡터를 회귀 모형을 만드는데 활용하는 방법

Cross Validation

크로스 밸리데이션은 전체 데이터를 train test로 나누고, train을 다시 train과 validation set으로 여러 케이스로 split하여 모형을 평가하는 기법

반응형