1. Recap of main ML algorithms
(1) Linear

- 공간을 두 부분으로 나누는 선 찾기
- 2차원인 경우 두 부분으로 나누는 선을 찾는 것은 매우 직관적
- 이러한 접근법이 고차원의 공간으로 일반화될 수 있는데, 이것이 선형 모델의 주요 아이디어
- Example : Logestic Regression, Support Vector Machine
- 장점 : 희소 고차원 데이터에 좋음.
- 한계 : 간단한 접근으로 점을 분리할 수 없는 경우
(2) Decision-Tree

- 공간을 두 부분으로 나누는 선 찾기
- 한 클래스를 다른 클래스와 한 축에 평행하게 한 줄로 분리
- 분할을 한 후 두 개의 하위 공간을 얻으며, 상위 하위 공간은 더이상 분할할 필요 없음.
- 하위 분할된 공간을 하위 공간으로 재생성하며, 하나의 결정 트리는 공간을 상자로 나누고 이 상자 안에 있는 상수와 함께 데이터를 근사시키는 것.
- Example : Decision Tree, Random Forest, GBM, XGboost, LightGBM
- 장점 : 표 형식의 데이터에서 좋음.
- 한계 : 많은 분할이 필요하기에 선형 종속성을 포착하기 어려움.
(3) K-NN(K-Nearest Neighbors)

- 물음표가 표시된 점에 대한 레이블을 예상해야 할 때, 서로 가까운 점과 비슷한 레이블을 가질 것이라고 예측
- 가장 가까운 좀을 찾아 그것의 라벨을 정답으로 선택하는 일반화 방식 사용
- Example : Tensorflow, Keras, MXNet, Pytorch, Lasagna
- 장점 : 결측값을 채울 때 k-NN이 유용하게 사용됨.
- 한계 : 가까운 점이 비슷한 레이블일 것이라는 가정이 적용되지 않는 경우
(4) 읽기 자료
1) Random Forest
2) Gradient Boosting
3) K-NN
2. Soft/Hardware Requirements
(1) Ram : 16+gb ram이면 충분
(2) Core : Cpu 4+ cores이면 충분
(3) Storage : SSD 용량이 클수록 좋음
(4) Cloud Resource
1) AWS
2) AZURE
3) GCP
(5) Software
- language : python : numpy, pandas, matplotlib, scikit-learn
- IDE : jupyter notebook
- Special Packages : XGBoost, Keras, LightGBM, Catboost
- External tools : Vowpal wabbit, fast_rgf
.
.
.
강의 링크 : Coursera