https://eglife.tistory.com/57
9. Support Vector Machines
https://eglife.tistory.com/56 8. Ensemble Methods and Boosting https://eglife.tistory.com/55 7. Decision Trees https://eglife.tistory.com/54 6. Overfitting & Regularization https://eglife.tistory.com/48 5. Classification 2 (Bayes Classifiers) https://eglif
eglife.tistory.com
Machine Learning의 마지막 Part 비지도학습이다.
1~9를 Label 있는 것만 다루다가 처음이자 마지막으로 Label이 없는 Data를 가지고 노는 Model에 대한 이야기를 해보려고 한다.
Cluster 하는 데, Cluster 간 거리는 뭘 기준으로 삼을 것이냐!
K-Means 등장, 목적함수 J를 최소화하는 방향으로 알고리즘 진행. data를 가까운 cetroid 쪽으로 넘기고 centroid 재설정 -> J 변화 X 까지 반복
Data Manifold -> 고차원 데이터가 있을 때 이것을 다 아우룰 수 있는 data subspace가 있을 것이라는 가정
또 갑자기 수학적으로 가는 Principal Component Analysis PCA
대충 데이터 0에 센터 맞추고, 정규화 -> Covarriance Matrix로 Variance 젤 높은 라인 찾자(이게 data information을 가장 잘 보존) -> eigenvalue decomposition하고 PC1을 x축으로 model rotation 때림 -> covariance matrix가 diagonal이 되고 each dimension들이 uncorrelated하다는 것. -> 마지막으로 또 largest K ( variance 큰 놈) 하나 고르고 나머지 다 버려. 그러면 또 그 선 기준으로 K dimension Space를 얻는다. 당연히 Variance는 젤 크니까 data loss는 가장 적고!
- Covarriance Matrix -> Variance 대빵? PC1 해. 이놈 기준으로 rotate.(PC1이 X축됨) 그리고 또 여차여차 Covariance Matrix를 구하면 아까 rotate 때문에 eigenvalue 들이 diagonal이 되어서 각 dimension들이 uncorrelated가 된다.
이 중에 젤 큰 놈 k를 하나 고르고 나머지 다 버린다음 얘 기준으로 k dimension Space를 하나 또 얻는다.
계속 Variance 큰 놈 기준으로 선을 그으니까 data loss는 젤 적다.
선형회귀는 x,y,축에 align한 유클리드 거리 계산, PCA는 PC Line에 수직으로 거리 계산
Clustering과 마찬가지로 elbow쪽 값 보고 PC 개수 정하면 될 듯