본문 바로가기
python 및 머신러닝/집단지성 프로그래밍

[Programming Collective Intelligence] - 집단지성 프로그래밍 12장 알고리즘 요약

by java개발자 2016. 12. 9.

 구분 

 특징

 장점

 단점

 나이브 베이지안 분류기

 속성 간에 통계적 독립임을 가정하였다

 큰 데이터 세트를 학습하고, 질의할때 속도에서 빠르다.

 증분학습에서, 이전 학습 데이터를 사용하지 않고도 확률을 갱신할 수 있다.

 학습모델 해석이 쉽다.

 특성의 조합에 기반을 두어 변화하는 출력을 다룰 수 없다. "독립"임을 가정하므로, 속성간의 "조합"을 배울 수 없다.

 의사결정트리 분류기

 트리

 학습모델 해석이 쉽다.

 분류와 숫자 데이터를 혼합하는 능력!! (not 회귀와 같은 통계기법들)

 속성간의 조합(상호작용)을 쉽게 다룰 수 있다. (not 나이브 베이지안)

 적은 데이터에서도 흥미로운 결과 도출

 증분학습시 전체 데이터 세트 필요

 숫자 결과를 예측하는데에는 그리 좋지 못함

 데이터가 복잡할시, 트리가 거대해짐

 신경망

 

 복잡한 비선형 함수도 처리가능

 입력들간의 의존관계도 밝힐 수 있다.

 증분학습 가능

 학습모델의 저장 공간이 적음

 학습데이터가 연속적인 스트림형태를 가진 응용에서도 사용될 수 있다.

 블랙박스 기법 : 추론과정을 이해할 수 없음.

 학습속도와 네트워크크기를 선택할 규칙이 없음 - 충분한 실험 필요

 SVM

 벡터, 커널트릭

 학습된 후에는 새로운 관찰 분류 속도가 매우 빠르다.

 분류와 숫자 데이터가 혼합된 세트에도 적용


 증분학습시 전체 데이터 세트 필요

 최적커널변환 함수와 이 함수의 인자들을 찾아야 함. - 교차검증을 위해 충분히 큰 데이터 세트를 가져야 함. - 가용할 데이터가 많은 문제에 좀 더 잘 적용됨. (not 의사결정트리)

 블랙박스 기법

 kNN

 거리 유사도(수치)

 학습모델 해석이 쉽다.

 증분학습 가능


 추정을 할때, 모든 학습 데이터가 있어야 한다.

 데이터 세트가 클 경우 계산량이 아주 클 수 있다.

 올바른 축척 요소들을 찾는 과정이 오래걸림

 군집화

 계층적, kMeans

 

 

 다차원 비례 축소법

 거리(수치)

 밀고 당기기 - 오류 합이 줄어들지 않을 때까지 조정하는 것이므로 최적화와 비슷

 

 

 비음수 행렬 인수분해

 

 

 

 최적화

 비용함수의 값을 최소화!!

 시뮬레이티드 어닐링

 유전자 알고리즘

 

 




*증분 학습(incremental learning) : 학습할 데이터가 계속 추가된다.