2022/05 4

[요약] 핸즈온 머신러닝 - 06. 결정 트리

(이진)결정트리 개념 매 노드마다 참 / 거짓을 분류하는 2진 트리를 만든다. 부모 노드는 어떤 특성에 대한 조건을 만들고 이에 대한 참 / 거짓 자식 노드를 가진다. 만약 자식 노드에서 참 / 거짓을 분류할 적절한 조건을 찾지 못했다면 리프노트가 되며 class 를 예측한다. 이 과정을 모든 자식 노드가 리프노드가 될때 까지 또는 지정한 depth 에 도달할 때 까지 반복한다. 노드의 구성 sample : 노드에 해당하는 훈련 샘플 개수. value : 노드에 속한 샘플의 클래스별 개수. gini : 불순도. 특징 직관적이고, 시각적이며, 결정의 사유가 명확하다(= 화이트박스 모델). 데이터 전처리가 거의 필요하지 않다. 학습이 완료되기 전 까지 클래스의 개수를 예측할 수 없다. 불안정하다 샘플 데이터..

[요약] 핸즈온 머신러닝 - 05. SVM

SVM 기본 성질과 특성 클래스 사이에 가장 넓은 마진을 가지는 분류기를 찾는 과정 (= large margin clasification). 결정경계는 경계에 위치한 샘플에 의해 전적으로 결정 : 이 샘플이 서포트 벡터 SV. 마진 밖에 위치한 훈련 샘플은 결정 경계에 영향을 주지 않음. 스케일에 민감 : 스케일링에 따라 SV 의 개수가 달라질 수 있고, 마진의 폭이 달라질 수 있으며, 결정경계의 기울기가 달라진다. 구분 하드 마진 분류 모든 샘플이 마진 영역 밖에 위치. 이상치에 민감 하드 마진 분류가 불가능 할 수 있다. 일반화가 어려운 결정경계가 성립할 수 있다. 소프트 마진 분류 마진의 크기와 마진오류의 트레이드 오프. 마진 오류가 있더라도 일반화가 쉬운 적절한 결정 경계를 구함. "최적 해"를 ..

개발/머신러닝 2022.05.24

[요약] 핸즈온 머신러닝 - 04. 모델 훈련

선형 회귀 정의 선형 회귀 모델의 예측 정의 $\hat{y} = \theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} + ... + \theta_{n}x_{n} = \sum_{i=0}^{n}\theta_{i}x_{i} = h_{\theta}(\textbf{x}) = \Theta\cdot\textbf{x}$ $\hat{y}$ = 예측값. $x_{i}$ =$i$ 번째 특성 값. 단 $x_{0} = 1$. $\theta_{i}$ =$i$ 번째 모델 파라미터. $\theta_{0}$ 은 편향 또는 bias 라 부른다. $h_{\theta}(\textbf{x})$ = 가설함수. 벡터 표현 머신러닝에서는 계산의 편의를 위해 변수를 열벡터로 나타낸다. 따라서 모든 훈련 세트 $X$ 에 ..

개발/머신러닝 2022.05.06

[요약] 핸즈온 머신러닝 - 03. 분류

MNIST MNIST 는 손으로 쓴 숫자 70000개 데이터로 ML 계의 hello world 라고 할 법 하다. 70,000개 (훈련 60천개, 테스트 10천개)의 28 * 28 이미지와 레이블로 구성되어있다. https://openml.org 을 통해 제공받을 수 있다. sklearn 은 fetch_openml 함수를 제공한다. 이진 분류기 훈련 확률적 경사하강법 (SGD) 경사하강법의 한계 인식 학습률 작으면 : 시간 많이 걸리고, 지역 최적값에 수렴할 위험. 학습률이 크면 : 시간이 적게 걸리지만, 발산할 위험 있음. 매 배치마다 랜덤하게 선택한 점을 대상으로 경사 하강법을 수행. 경사하강법 대비 매우 빠르지만, 매우 불안정함. 불안정한 대신 지역 최적값을 회피할 가능성이 높음. 랜덤 데이터 --..

카테고리 없음 2022.05.04