본문 바로가기
DATA Science/Python Machine Learning 2nd ed.

개요

by Rainbound-IT 2021. 5. 25.
반응형
머신러닝의 일반적 개념 이해하기
세 종류의 학습과 기본 용어 알아보기
성공적인 머신러닝 시스템을 설계하는 필수 요소 알아보기
데이터 분석과 머신러닝을 위한 파이썬을 설치하고 설정하기

 

머신러닝의 세종류

 

  • 지도학습

레이블된 데이터, 직접 피드백, 출력 및 미래예측

  • 비지도학습

레이블 및 타깃 없음, 피드백 없음, 데이터에서 숨겨진 구조 찾기

  • 강화학습

결정과정, 보상시스템, 연속된 행동에서 학습

 

지도학습

지도학습 (출처:https://www.javatpoint.com/supervised-machine-learning)

분류(classification) 

과거의 관측을 기반으로 새로운 샘플의 범주(category)형 클래스 레이블을 예측하는 것.

클래스 레이블은 이산적이고 순서가 없어 샘플이 속한 그룹으로 이해가 가능하다.

종류는 이진분류(2개), 다중분류(3개 이상) 이 있다.

분류의 예시(class를 나누는 선을 결정경계라고 한다)

 회귀(Regression)

 연속적인 출력 값을 예측 하는 것

예측변수(설명변수, 입력)와 반응변수(출력, 타깃)가 주어졌을 때 출력 값을 예측하는 두 변수 사이의 관계를 찾는다.

ex. 학생 점수와 공부시간의 시험점수 예측

선형 회귀함수의 예시

출처 :https://medium.datadriveninvestor.com/machine-learning-101-part-1-24835333d38a

 

입력(x)와 타깃(y)이 주어졋을때 샘플과 직선과의 거리가 최소가 되는 직선을 그리는게 회귀함수이다.

즉, 데이터에서 학습한 직선의 기울기와 절편을 이용하여 새로운 데이터 값을 예측한다.

 

강화학습

환경과 상호작용하여 시스템(에이전트) 성능을 향상하는 것이 목적이다.

환경의 현재 상태 정보는 보상(reward) 신호를 포함하기 떄문에 강화학습을 지도학습과 관련된 분야로 볼수도 있다.

강화학습의 피드백은 정답레이블이나 값이 아닌 보상함수로 얼마나 행동이 좋은지 측정한 값이다.

ex. 체스게임

강화학습(https://nervanasystems.github.io/coach)

비지도학습

비지도 학습은 레이블되지 않거나 구조를 알 수없는 데이터를 다룬다.

 

군집(Clustering)

사전정보 없이 쌓여 있는 그룹 정보를 의미 있는 서브그룹 또는 클러스터로 조작하는 탐색적 데이터 분석기법

분석과정에서 만든 각클러스터는 어느정도 유사성을 공유하고 다른 클러스터와는 비슷하지 않은 샘플그룹을 형성한다.

ex. 마케터가 고객을 그룹으로 나누어 각각에 맞는 마케팅 프로그램 개발

군집의 예(https://www.geeksforgeeks.org/clustering-in-machine-learning/)

차원축소(Dimensionality reduction)

비지도 학습의 하위 분야인 차원축소를 알아보자

보통 고차원의 데이터를 다루게 되면 성능과 공간에 한계에 다다르게 된다.

잡음 데이터를 제거하기위해 특정 전처리 단계에서 적용하는 방식이다.

차원축소(https://www.semanticscholar.org/paper/A-Survey-of-Dimension-Reduction-Methods-for-Data-Engel-H%C3%BCttenberger/8dc7a7af1685d6667d24f013ecc5fceeb2bcc689/figure/1)

 

기본 용어와 표기법

붓꽃데이터셋(텐서플로우 블로그)

붓꽃 샘플은 데이터셋에서 하나의 행으로 표현된다.

센티미터 단위의 측정값은 열에 저장되어 있으며 데이터셋의 특성(Feature)라고 한다.

150X4 크기의 행렬
표기방법
위행렬을 표기

 

 

머신 러닝 시스템 구축 로드맵

  1. 전처리
  2. 예측 모델 훈련과 선택
  3. 모델 평가 및 샘플 예측

 

이책에서는

Numpy 1.16.1

Scipy 1.2.1

scikit-learn 0.20.2

matplotlib 3.0.2

pandas 0.24.1

tensorflow 2.0.0-alpha0

를 사용한다

 

설치는 따로 포스팅 하겟다.

반응형

댓글