머신러닝 맛보기 2탄 - 알고리즘
파이썬을 이용한 머신러닝, 딥러닝 실전개발 입문 서적을 정리한 내용입니다.
1. 서포트 백터 머신 (Support Vector Machine)
SVM 이란 머신러닝 방법중 하나입니다. SVM 은 다양한 연구가 활발하게 진행되어 괴장히 높은 인식 성능을 발휘하는 방법입니다. SMV 은 선을 구성하는 매개변수를 조정해서 요소들을 구분하는 선을찾고, 이를 기반으로 패턴을 인식하는 방법입니다.
예를 들어, A와 B라는 두 가지 패턴이 있을때 A 와 B 라는 패턴을 구분하는 방법을 찾는 것이 패턴인식의 목표입니다. 이를 위해 A와 B를 벡터로 나타내서 평면 위에 올리고 구분선을 그리게 됩니다. 이때 패턴의 경계가 되는 것을 "식별 평면" 이라고 합니다.
마진 최대화 등의 기술을 사용해 분류 문제를 해결할 때 사용합니다.
예) 키, 몸무게로 비만여부 판단
1.1 SVM 종류
scikit-learn 에서는 세가지 종류의 SVM을 지원합니다. SVC/NuSVC/LinearSVC 입니다. 모두 여러개의 레이블 분류에 사용합니다. SV[M] 이 아니라 SV[C] 인것은 Classification (분류)의 앞글자를 사용했기 때문입니다.
SVC 와 NuSVC는 표준적으로 구현된 SVM입니다. 오류 처리방법이 약간 다르지만 수학적으로는 같습니다. LinearSVC 는 선형 커널 특화된 SVM 으로 계산이 빠르며, 다양한 옵션을 가지고 있습니다.
2. 랜덤 포레스트 (Random Forest, Randomized Trees)
랜덤 포레스트는 2001년 레오 브라이만이 제안한 머신러닝 알고리즘입니다. 집단학습을 기반으로 고정밀 분류, 회귀, 클러스터링 등을 구현하는 것입니다. 학습 전용 데이터를 기반으로 다수의 의사 결정 트리를 만들고, 만들어진 의사결정 트리를 기반으로 다수결로 결과를 유도하므로 높은 정밀도를 자랑합니다. 학습 데이터를 무작위로 샘플링해서 만들어진 다수의 의사결정 트리를 사용하기 때문에 랜덤 포레스트라는 이름이 붙은 것입니다.
"의사결정 트리" 라는 것은 트리 구조를 하고 있는 그래프인데, 예측과 분류를 수행하는 알고리즘 자체를 의사결정 트리라고 부르기도 합니다. 일반적으로 부정확한 학습 방법이라 약학습 방법으로 분류되지만, 집단학습을 하면 정밀도를 굉장히 높일수 있습니다.
정리: 랜덤 포레스트는 처리가 빠르고, 분류 정밀도가 높다는 장점이 있습니다. 그래서 머신러닝에서 많이 사용되는 알고리즘입니다.
지금까지 머신러닝 맛보기 2탄 이였습니다.
참고서적 : 파이썬을 이용한 머신러닝, 딥러닝 실전개발 입문 (http://www.yes24.com/Product/Goods/42496558?scode=032&OzSrank=1)
'AI' 카테고리의 다른 글
머신러닝 맛보기 7탄 (0) | 2019.05.09 |
---|---|
머신러닝 맛보기 6탄 (0) | 2019.05.02 |
머신러닝 맛보기 5탄 (0) | 2019.04.18 |
머신러닝 맛보기 4탄 - 핸즈온 (0) | 2019.04.08 |
머신러닝 맛보기 3탄 (0) | 2019.03.19 |
머신러닝 맛보기 1탄 (0) | 2019.03.18 |
AWS SageMaker 로 머신러닝 맛보기 1탄 (1) | 2019.03.07 |
딥러닝을 위한 준비 1탄 (윈도우 버전) (0) | 2019.03.06 |
댓글