머신러닝의 개념
- 머신러닝이란 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 추론하는 알고리즘 기법을 통칭한다.
- 현실 세계의 매우 복잡한 조건으로 인해 기존의 소프트웨어 코드만으로는 해결하기 어려웠던 많은 문제점들을 이제 머신러닝을 이용해 해결해 나가고 있다.
- 머신러닝 알고리즘은 데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해 낸다.
- 데이터마이닝, 영상 인식, 음성 인식, 자연어 처리에서 개발자가 데이터나 업무 로직의 특성을 직접 감안한 프로그램을 만들 경우 나이도와 개발 복잡도가 너무 높아질 수밖에 없는 분야에서 머신러닝이 급속하게 발전을 이루고 있다.
머신러닝의 분류
- 지도학습
- 분류
- 회귀
- 추천 시스템
- 시각/음성 감지/인지
- 텍스트 분석, NLP
- 비지도학습
머신러닝 알고리즘 종류
- 기호주의: 결정 트리 등
- 연결주의: 신경망/딥러닝
- 유전 알고리즘
- 베이지안 통계
- 유추주의: KNN, 서포트 벡터 머신
머신러닝의 단점
- 데이터에 너무 의존적이다. (garbage in, garbage out)
- 학습시에 최적의 결과를 도출하기 위해 수립된 머신러닝 모델은 실제 환경 데이터 적용 시 과적합 되기 쉽다.
- 복잡한 머신러닝 알고리즘으로 인해 도출된 결과에 대한 논리적인 이해가 어려울 수 있다. (머신러닝은 블랙박스라고도 함)
- 데이터만 집어 넣으면 자동으로 최적화된 결과를 도출하는 것은 환상이며, 데이터의 특성을 파악하고 최적의 알고리즘과 파라미터를 구성할 수 있는 고급 능력이 필요하다.