Book report 33

[파이썬 머신러닝 완벽가이드] 06. 차원 축소

01. 차원 축소(Dimension Reduction) 개요¶ 차원 축소는 매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 것입니다. 일반적으로 차원이 증가할수록 데이터 포인트 간의 거리가 기하급수적으로 멀어지게 되고, 희소(sparse)한 구조를 가지게 됩니다. 또한 수백 개 이상의 피처로 구성된 데이터 세트의 경우 상대적으로 적은 차원에서 학습된 모델보다 예측 신뢰도가 떨어집니다. 피처가 많을 경우 개별 피처간에 상관관계가 높을 가능성도 큽니다. 다중 공선성 문제는 모델의 예측 성능이 저하시킵니다. 차원 축소해 피처 수를 줄이면 더 직관적으로 데이터를 해석할 수 있다. 또한 차원 축소를 할 경우 학습 데이터의 크기가 줄어들어서 학습에 필요한 처리 능력..

[파이썬 머신러닝 완벽가이드] 05. 회귀

01. 회귀 소개¶ 회귀 분석은 유전적 특성을 연구하던 영국의 통계학자 갈톤(Galton)이 수행한 연구에서 유래했다는 것이 일반론입니다. 회귀 분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법으로 일례로 사람의 키는 평균 키로 회귀하려는 경향을 가진다는 자연의 법칙입니다. 회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭합니다. 머신러닝 관점에서 독립변수는 피처에 해당되며 종속변수는 결정 값입니다. 즉, 머신러닝은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것입니다. 회귀 계수가 선형이나 아니냐에 따라 선형 회귀와 비선형 회귀로 나눌 수 있으며 독립변수의 개수가 한 개인지 여러 개인지에 따라 단일..

[파이썬 머신러닝 완벽가이드] 04. 분류

01. 분류(Classification)의 개요¶ 지도학습은 레이블(Label), 즉 명시적인 정답이 있는 데이터가 주어진 상태에서 학습하는 머신러닝 방식입니다. 즉, 기존 데이터가 어떤 레이블에 속하는지 패턴을 알고리즘으로 인지한 뒤에 새롭게 관측된 데이터에 대한 레이블을 판별하는 것입니다. □ 분류는 다양한 머신러닝 알고리즘으로 구현 베이즈(Bayes) 통계와 생성 모델에 기반한 나이브 베이즈 독립변수와 종속변수의 선형 관계성에 기반한 로지스틱 회귀 데이터 균일도에 따른 규칙 기반의 결정 트리(Decision Tree) 개별 클래스 간의 최대 분류 마진을 효과적으로 찾아주는 서포트 벡터 머신(Support Vector Machine) 근접 거리를 기준으로 하는 최소 근접(Nearest Neighbor..

[파이썬 머신러닝 완벽가이드] 03. 평가

머신러닝은 데이터 가공/변환, 모델 학습/예측, 그리고 평가(Evaluation)의 프로세스로 구성됩니다. 모델의성능 평가 지표는 일반적으로 모델이 분류냐 회귀냐에 따라 여러 종류로 나뉩니다. 분류의 평가방법도 일반적으로는 실제 결과 데이터와 예측 결과 데이터가 얼마나 정확하고 오류가 적게 발생하는가에 기반하지만, 단순히 이러한 정확도만 가지고 판단했다가는 잘못된 평가 결과에 빠질수 있습니다. ※ 분류의 성능 평가 지표 정확도(Accuracy) 오차행렬(Confusion Matrix) 정밀도(Precision) 재현율(Recall) F1 스코어 ROC AUC 01. 정확도(Accuracy)¶ 정확도 = 예측 결과가 동일한 데이터 건수 / 전체 예측 데이터 건수 정확도는 직관적으로 모델 예측 성능을 나타내..

[파이썬 머신러닝 완벽가이드] 02. 사이킷런으로 시작하는 머신러닝

01. 사이킷런 소개와 특징¶ ◎ 사이킷런¶ 사이킷런(scikit-learn)은 파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 라이브러리입니다. -- 사이킷런 특징 쉽고 가장 파이썬스러운 API를 제공합니다. 머신러닝을 위한 매우 다양한 알고리즘과 개발을 위한 편리한 프레임워크와 API를 제공합니다. 마지막으로 오랜 기간 실전 환경에서 검증됐으며, 매우 많은 환경에서 사용되는 성숙한 라이브러리입니다. In [1]: # 사이킷런 불러오기 및 버전 확인 import sklearn print(sklearn.__version__) 0.24.1 02. 첫 번째 머신러닝 만들어 보기 - 붓꽃 품종 예측하기¶ ◎ 붓꽃 품종 예측¶ 분류는 대표적인 지도학습 방법의 하나입니다. 지도학습은 학습을 위한 다양한 피처와 ..

[파이썬 머신러닝 완벽가이드] 01. 파이썬 기반의 머신러닝과 생태계 이해

01. 머신러닝의 개념¶ ◎ 머신러닝¶ 머신러닝 : 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭합니다. 머신러닝의 분류 : 일반적으로 머신러닝은 지도학습, 비지도학습, 강화학습으로 나뉩니다. 지도학습 : 분류, 회귀, 추천 시스템, 시각/음성 감지/인지, 텍스트 분석, NLP로 나눌 수 있습니다. 비지도학습 : 클러스터링, 차원 축소, 강화학습으로 나눌 수 있습니다. 머신러닝의 가장 큰 단점은 데이터에 매우 의존적입니다. {Garbage IN, Garbage OUT} ◎ 파이썬과 R 비교¶ R은 통계 전용 프로그램 언어, 파이썬은 개발 전문 프로그램 언어입니다. 파이썬의 장점 : 쉽고 뛰어난 개발 생산성, 인터프리터 언어(interpreter Language)의 특성상 속도는 ..

Chapter 6. 학습 관련 기술들

◎ 밑바닥부터 시작하는 딥러닝(1)¶ ● chapter 6. 학습 관련 기술들¶ 6.1 매개변수 갱신 최적화(Optimization) : 매개변수의 최적값을 찾는 것 확률적 경사 하강법(SGD)이란 매개변수의 기울기를 구해, 기울어진 방향으로 매개변수 값을 갱신하는 일을 몇 번이고 반복해서 점점 최적의 값을 도출해내는 방법 In [1]: # SGD 구현하기 class SGD: def __init__(self, lr=0.01): self.lr = lr # learning rage(학습률) def update(self, parms, grads): for key in params.keys(): params[key] -= self.lr*grads[key] SGD의 단점 SGD는 단순하고 구현도 쉽지만, 문제에 ..