machine learning basics pt.7

MACHINE LEARNING

  • KNN (K-Nearest Neighbors)

    좌표 공간을 기준으로 해당 데이터에서 가장 가까운 데이터의 라벨을 확인하고 해당 라벨로 예측하는 기법
    K 값에 따라서 학습 결과가 달라짐.

Clustering

unsupervised learning

분류 모델인 classification과 비슷해보이나 비교하는 것은 무의미함. 비지도학습 자체로 모델링 기법으로 바라봐야함.

  • x값이 비슷한 그룹들끼리 grouping하는 기법.
  • X와 Y의 라벨 혹은 관계를 구분/파악하기 위한 학습방식이 아니라 비슷한 X끼리 라벨을 분류하기 위한 기법
  • 비슷한 군집들끼리 분석해서 학습시키는 기법으로 inertia value를 기준으로 k값 선별(k의 값 = 변곡점)
1. K-Means
  - 각 군집의 중심값 (혹은 초깃값)을 랜덤으로 설정 및 계산하고 모델 학습 시작.
  - 임의의 k개 초깃값 선별해서 학습하는 기법.
  - Expectation: 각각의 군집에서 가장 가까운 군집과 중심을 찾아서 군집화로 분류하는 과정
  - Maximization: 중심값을 업데이트 하는 과정
   summary: k개의 임의의 중심값을 업데이트하는 과정을 반복하면서 최적의 군집 중심값을 찾아가는 기법

2. K-Means ++
  - 임의로 아닌 처음부터 군집간의 거리가 가장 많이 떨어져있는 상태에서 초깃값을 찾는 학습과정을 선택하는 기법
  - 초기에 군집을 하나만 랜덤으로 선택
  - 첫번째 초깃값과 가장 먼 거리의 데이터를 중심으로 이 때의 거리를 확률값으로 판단해서 학습.

Unsupervised transformation model

Dimensional Reduction problem: PCA (Principle Component Analysis)

차원 축소가 필요한 이유: 차원의 저주 문제

  • 데이터 학습에 도움되지 않은 정보들이 너무 많으면 오히려 학습에 방해가 됨.
  • x 피처 데이터들의 분포가 전체적으로 잘 퍼져있어서 보여줄 수 있는 경우 데이터의 특성을 잘 설명해준다고 해석할 수 있음.
  • 주성분들은 제 1주성분을 제외한 나머지 주성분들은 제1주성분과 수직으로 관계가 존재함. 수직의 관계는 서로 상관관계가 없다는 것을 의미함. (수직인 직선을 그래프를 통해 찾을 때 기울기 곱이 -1임을 생각해본다면 도움되지 않을까??)
  • PC: 기존의 피쳐들로 성분을 select하는 것이 아닌 새로운 성분을 만들어 내서 차원을 축소하는 기법.
  • PCA code 중 n_components의 값으로 주성분의 개수를 선택해서 모델링
  • 1st component 가 가장 우선적인 성분으로 모델에서 가장 영향력이 큰 성분이라 할 수 있기 때문에 성분들 중 제거해야하는 경우라면 첫번째 주성분을 살려야함.
  • 전처리할 때 자주 쓰이는 기법으로 비지도학습은 주로 지도학습 모델링을 support할 때 사용함.
  • PCA는 여러 피처들의 조합을 통해 차원을 줄였기 때문에 학습결과가 좋게 나오는 편임.

Extra info about MACHINE LEARNING

  • Grid Search

    파라미터 후보들을 사용자가 지정해주면 알아서 최적의 파라미터 값을 찾아주는 방법
    딕셔너리 형태로 입력해서 학습