3장 머신러닝 핵심 알고리즘
머신러닝 핵심 알고리즘 원리만 이해하고 넘어가는 장이다. [p.66]
지도학습 (p.66)
지도학습은 회귀와 분류로 나눌 수 있다. (p.66 그림 참고)
- 회귀 : 연속형 데이터를 받아 연속된 값을 예측한다.
- 분류 : 이산형 데이터를 받아 훈련 데이터의 레이블 중 하나를 예측한다.
지도 학습 알고리즘을 자세히 보자 (구현은 내 깃헙에!)
K-최근접 이웃(K-nearest neighbor)
분류 알고리즘이며 모든 데이터와 인스턴스 기반 거리를 측정한 후 가장 많은 속성을 가진 클러스터에 할당하는 모델이다.
- 직관적이고 용이해서 훈련 데이터를 충분히 확보한 상태에서 초보자가 사용하기 좋다.
서포트 벡터 머신(Support Vector Machine, SVM)
분류 알고리즘이며 결정 경계(기준선)을 기준으로 분류하는 모델이다.
- 커널을 적절히 선택하면 정확도가 좋기 때문에 정확도를 요구하는 분류 문제를 다룰 때 사용하면 좋다.
ex) 텍스트 분류
결정 트리(decision tree)
데이터를 분류하거나 결과값을 예측하는 분석 방법이다.
- 결정 트리는 이상치가 많은 값으로 구성된 데이터셋을 다룰 때 사용하면 좋다.
- 결정 과정이 시각적으로 표현되기 때문에 머신 러닝이 어떤 방식으로 의사 결정을 하는지 알고 싶을 때 유용하다.
로지스틱 회귀와 선형 회귀(logstic regression & linear regression)
회귀 알고리즘들이다.
- 회귀 알고리즘이란 주어진 두 개의 변수에서 한 변수에서 다른 변수를 예측하거나 두 변수의 관계를 규명하는데 사용하는 방법이다.
로지스틱 회귀
- 분석하고자 하는 대상들이 두 집단 혹은 그 이상일 때 나누어진 경우, 개별 관측치들이 어느 집단에 분류될 수 있는지 분석하고 이를 예측하는 모형을 개발하는 데 사용되는 통계 기법이다.
- 주어진 데이터에 대한 확신이 없거나(분류 결과에 대해 확신이 없을 때) 향후 추가적으로 훈련 데이터셋을 수집하여 모델을 훈련시킬 수 있는 환경에서 사용하면 유용
선형 회귀
- 독립 변수를 사용하여 종속 변수의 움직을 예측하고 설명하는데 사용
- 독립 변수와 종속 변수가 선형 관계를 가질 때 사용하면 유용
- 복잡한 연산 과정이 없어서 컴퓨팅 선능이 낮은 환경이나 메모리 성능이 좋일 않을 때도 유용
비지도학습 (p.94)
비지도학습은 군집과 차원 축소로 나눌수 있다.
- 군집 : 각 데이터의 유사성(거리)을 측정한 후 유사성이 높은 데이터끼리 집단으로 분류
- 차원 축소 : 차원을 나타내는 특성을 줄여서 데이터를 줄이는 방식
K-평균 군집화(K-means clustering)
- 데이터를 입력받아 소수의 그룹으로 묶는 알고리즘
- 데이터셋을 이용하여 몇 개의 클러스터를 구성할지 사전에 알 수 있을 때 사용하면 유용
밀도 기반 군집 분석(Density-Based Spatial Clustering of Applicatoins with Noise, DBSCAN)
- 일정 밀도 이상을 가진 데이터를 기준으로 군집을 형성하는 방법
- K-평균 군집화와는 다르게 사전에 클러스터의 숫자를 알지 못할 때 사용하면 유용
- 데이터에 이상치가 많이 포함되었을 때 사용하면 좋다.
주성분 분석(Pricipal Component Analysis, PCA)
- 고차원 데이터를 저차원으로 축소기켜 데이터가 가진 대표 특성만 추출
- 데이터의 특성(변수)가 너무 많을 경우 유용
요약
이외에도 정말 많은 알고리즘들이 있다는 것을 안다. 하지만 ML은 DL 공부가 어느정도 진행하고 깊게 공부할 예정이다. 😬
알고리즘 기법들에 더 자세한 설명과 구현은 나중에 기술 리뷰 아카이브에 자세히 할 예정!