menu

머신러닝 알고리즘 별 장점과 단점

머신러닝 알고리즘 선정 이유 

머신러닝은 수집된 데이터와 특정 알고리즘을 기반으로 최적의 추론을 구하는 컴퓨터 프로그램입니다. 최적의 추론을 구하기 위해 다양한 알고리즘들이 사용될 수 있으며  다양한 알고리즘을 이해하고 실습할 수 있게 많은 예제를 준비했습니다.

수집된 데이터의 특징과 상황에 따라 가장 적합한 알 고리즘을 선택하는 것이 중요합니다. 

가령 수집된 데이터에 특징만 있고 분류 없이 따로 설정돼 있지 않을 경우 지도 학습 알고리즘은 사용할 수 없습니다. 이 경우 비지도 학습 알고리즘인 k평균 군집화 알고리즘을 사용해 서로 유사한 데이터를 군집화할 수 있습니다. 

수집된 데이터에 특징과 분류값이 모두 조재한다면 지도 학습 알고리즘 중 가장 적합한 알고리즘을 찾아야 합니다. 가령 스마트폰 음성 비서 같은 경우 추론의 정확도도 중요하지만 추론을 내기까지 걸리는 알고리즘의 시간 복잡도 역시 고려해야 할 것입니다. 또한 머신러닝 모델의 추론의 도출 과정을 머신러닝 비전문가에게 설명할 때는 추론의 정확도만큼 추론 과정의 시각화가 중요할 것입니다. 

머신러닝 알고리즘의 장단점을 표에 간략히 요약했습니다. 하지만 이 표는 단순히 각 알고리즘의 장단점을 요약한 내용일 뿐이고 각 알고리즘의 특장점을 이해하는 것은 실습과 함께 진행하겠습니다. 

알고리즘 장점 단점
k-최근접 이웃  -구현이 쉽다. -알고리즘을 이해하기 쉽다. -하이퍼 파라미터가 적다.  -예측 속도가 느리다. -메모리를 많이 쓴다. -노이즈 데이터에 예민하다.
서포트 벡터 머신  -상대적으로 적은 데이터로도 높은 정확도를 낸다.  -예측 속도가 빠르다. -고차원 데이터를 처리하기가 쉽다. -결정 경계선이 많이 겹칠 때 정확도 낮아진다. -수학적 이해 없이는 모델의 분류 결과를 이해하기 어렵다. -커널 트릭 오사용 시 과대 적합되기 쉽다. 
의사결정트리  -모델의 추론 과정을 시각화하기 쉽다. -데이터에서 중요한 특성이 무엇인지 쉽게 알아낼 수 있다. -학습 및 예측 속도가 빠르다.  -과대적합되기 쉽다. -조정해야 할 하이퍼 파라미터가 많다. 
랜덤포레스트  -앙상블 효과로 의사결정 트리의 과대적합 단점을 보완한다. -조정해야 할 하이퍼 파라미터가 많다.
나이브베이즈  -고차원 데이터를 처리하기가 쉽다. 구현하기 쉽다. -학습 및 추론 시간이 빠르다.  -모든 변수가 독립변수라는 가설하에 작동 함으로써 데이터가 가설과 다를 경우 정확도가 낮아진다. 
선형회귀  -수집된 데이터를 통해 새롭게 관측된 데이터의 예측값(수치값)을 구할 수 있다.  -데이터 특징들이 선형 관계에 있다는 가설하에 작동함으로써 데이터 특징이 가설과 다를 경우 정확도가 낮다.
로지스틱회귀 -데이터를 분류할 때 확률을 제공한다. -데이터 특징이 많을 경우 학습이 어려워 과소적합되기 쉽다.
K 평균 -데이터 크기에 상관없이 군집화에 사용할 수 있다. -구현하기 쉽다.  -군집화 결과에 대한 확률을 제공하지 않는다. -데이터의 분호가 균일하지 않을 경우 정확도가 떨어진다.
주성분 분석 -고차원 데이터를 저 차원 데이터로 축소할 때 사용된다. -구현이 쉽다. -차원 축소 시 정보의 손실이 있다.