AI/Hands-on ML

AI/Hands-on ML

[핸즈온 머신러닝] 7장 - 앙상블 학습과 랜덤 포레스트

7. 앙상블 학습과 랜덤 포레스트 앙상블 학습 - 일련의 예측기(분류나 회귀 모델)로부터 예측을 수집하면 가장 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있음 - 이때 일련의 예측기를 앙상블이라고 하기 때문에 - 이를 앙상블 학습이라고 함 - 앙상블 학습 알고리즘은 앙상블 방법이라고 함 랜덤포레스트 - 훈련 세트로부터 무작위로 각기 다른 서브셋을 만들어 일련의 결정 트리 분류기를 훈련 - 모든 개별 트리의 예측을 구함 - 가장 많은 선택을 받은 클래스를 예측으로 삼음 - 이러한 결정 트리의 앙상블을 랜덤 포레스트 라고 함 7. 1 투표 기반 분류기 Hard Voting - 로지스틱 회귀 분류기, SVM 분류기, 랜덤 포레스트 분류기, k-최근접 이웃 분류기 등 여러 개의 분류기를 훈련시킴 - 각 분류기..

AI/Hands-on ML

[핸즈온 머신러닝] 6장 - 결정 트리

6. 결정 트리(decision tree) - SVM처럼 분류와 회귀 작업, 그리고 다중출력 작업도 가능한 머신러닝 알고리즘 - 매우 복잡한 데이터셋도 학습할 수 있는 강력한 알고리즘 (2장에서 캘리포니아 주택 가격 데이터셋을 완벽하게 맞추는 DecisionTreeRegressor 모델 훈련) - 가장 강력한 ML 알고리즘 중 하나인 랜덤 포레스트의 기본 구성 요소 6.1 결정 트리 학습과 시각화 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() X = iris.data[:, 2:] # 꽃잎의 길이와 너비 y = iris.target tree_clf = Decisio..

AI/Hands-on ML

[핸즈온 머신러닝] 5장 - 서포트 벡터 머신

5. 서포트 벡터 머신(SVM) - 매우 강력하고 선형이나 비선형 분류, 회귀, 이상치 탐색에도 사용할 수 있는 다목적 머신러닝 모델 - 복잡한 분류 문제에 잘 맞음 - 작거나 중간 크기의 데이터 셋에 적합 - 데이터를 선형으로 분리하는 최적의 선형 결정 경계를 찾는 알고리즘 5.1 선형 SVM 분류 - SVM 분류기는 클래스 사이에 가장 폭이 넓은 도로를 찾는 것과 같음 => 라지 마진 분류라고 부름 - 여기서 마진은 두 데이터 군과 결정 경계가 떨어져 있는 정도를 의미 - 도로 바깥쪽에 훈련 샘플을 더 추가해도 결정 경계에는 영향을 미치지 않음(데이터가 추가 되더라도 안정적으로 분류해낼 수 있음) - 도로 경계에 위치한 샘플에 의해 결정(의지)됨 => 이런 샘플을 서포트 벡터라고 함(오른쪽 그림의 동..

AI/Hands-on ML

[핸즈온 머신러닝] 4장 - 모델 훈련

4장은 앞 장에서 블랙박스처럼 취급되었던 머신러닝 모델과 훈련 알고리즘에 대한 내용이다. 이 장에서 언급하는 대부분의 주제는 신경망을 이해하고 구축하고 훈련시키는데 필수이다. 4.1 선형 회귀 우선, 가장 간단한 모델 중 하나인 선형 회귀 모델을 훈련시키는 두 가지 방법을 소개하고 있다. 직접 계산할 수 있는 공식을 사용하여 훈련 세트에 가장 잘 맞는 모델 파라미터를 해석적으로 구함 경사 하강법이라 불리는 반복적인 최적화 방식을 사용하여 모델 파라미터를 조금씩 바꾸면서 비용 함수를 훈련 세트에 최소화 시키는 방법(위 방법과 동일한 파라미터로 수렴) 4.2 경사 하강법 - 여러 종류의 문제에서 최적 해법을 찾을 수 있는 일반적인 최적화 알고리즘 - 비용 함수를 최소화하기 위해 반복해서 파라미터 조정해감 *..

AI/Hands-on ML

[핸즈온 머신러닝] 3장 - Classification

3장은 일반적인 지도 학습인 분류(클래스 예측)을 MNIST 데이터셋을 통해 집중적으로 다룸 github.com/ageron/handson-ml2/blob/master/03_classification.ipynb - 손으로 쓴 70000개의 숫자 이미지를 모은 MNIST 데이터셋 사용 - 각 이미지는 어떤 숫자를 나타내는지 레이블이 되어 있음 - 분류 알고리즘 테스트 시 자주 사용하는 데이터셋 3.1 MNIST¶ In [3]: from sklearn.datasets import fetch_openml mnist = fetch_openml('mnist_784', version=1) mnist.keys() Out[3]: dict_keys(['data', 'target&#39..

KIM DEON
'AI/Hands-on ML' 카테고리의 글 목록 (4 Page)