minhui study
머신러닝의 이해와 지도학습을 이용한 분류(개념) 본문
머신러닝의 유형
1. 지도학습 (Supervised Learning)
: 훈련 데이터에 정답(Label)이 있어 주어진 정답에 맞게 특징이 학습되기를 기대하는 경우에 사용한다.
① 분류 ex) 의사결정나무, 서포트백터머신
② 회귀 ex) 선형회귀, 로지스틱 회귀
2. 비지도학습 (Unsupervised Learning)
: 훈련 데이터에 정답이 없고 주어진 특징 내에서 분류 간 서로 구분이 잘 되도록 나누기 원하는 경우에 사용한다.
① 군집화 ex) K-평균
② 회귀 ex) PCA, SVD
3. 강화 학습 (Reinforcement Learning)
: 학습(혹은 수집)되는 데이터에 정답은 없으나 동작하거나 반응하는 결과에 상과 벌을 주어서 스스로 진화할 수 있는 경우에 사용한다.
지도학습
정답을 알려주며 학습시키는 것.
지도 학습 알고리즘은 한 세트의 사례들을 기반으로 예측을 수행한다. 지도학습에는 기존에 이미 분류된 학습용 데이터로 구성된 입력 변수와 원라는 출력 변수가 수반되고 알고리즘을 이용해 학습용 데이터를 분석합으로써 입력 변수를 출력 변수와 매핑시키는 함수를 찾을 수 있다. 이렇게 추론된 함수는 학습용 데이터로부터 일반화를 통해 알려지지 않은 새로운 사례들을 매핑하고, 눈에 보이지 않는 상황 속에서 결과를 예측한다.
예를 들면 강아지와 고양이 사진을 보여주고, "이것은 강아지야", "저것은 고양이야"하면서 학습하는 것이다. 그러면 컴퓨터는 강아지라는 정답을 알고 있기 때문에 사진 속에서 강아지의 특정 값을 추출하게 된다.
지도학습에는 크게 분류(Classification)와 회귀(Regression)가 있다.
1) 분류(Classification)
- 이중 분류 : 어떤 데이터에 대해 두 개의 군집으로 나누는 것
ex) 감정 분석 (긍정과 부정을 구분)
Q : 이 사진은 고양이야?
A : 예 또는 아니오
- 다중 분류 : 어떤 데이터에 대해 여러 개의 군집으로 나누는 것
ex) 이미지 태깅 (이미지에서 사물이나 동물을 분류), 토픽 모델링 (텍스트 분석)
Q : 이 동물은 뭐야?
A : 고양이야
2) 회귀(Regression)
훈련 데이터의 값을 분석해 주어진 값에 대한 결과 수치를 예측하는 것으로 주어진 값에 따르는 최적의 예측 함수를 찾는다고 생각하면 된다.
Q : 어디 동네에 어떤 평수 아파트면 집 값이 어느 정도야?
A : 어디 동네에 24평이면 얼마이고, 어디 동네에 32평이면 얼마야
비지도 학습
정답을 따로 알려주지 않고(label이 없고) 비슷한 데이터들을 군집화하는 것
지도 학습의 강아지, 고양이처럼 미리 정확한 답을 인지시킨 후에 학습을 진행하는 것이 아니라, 데이터 자체에서 유용한 패턴을 찾아내는 학습 방법이다. 이처럼 비지도 학습에서는 정답을 찾기 보다는 분류를 통해 역으로 특성을 파악하고 답에 접근한다.
예를 들어 새나 토끼 등 동물들이 있을 때 각 동물이 무엇인지는 모르지만 동물의 특성인 꼬리와 얼굴 형태 등을 가진 동물의 패턴을 분류했더니 우리가 찾고자 하는 정답이라는 것이 밝혀지는 과정이다.
비지도학습의 대표적인 2가지 예는 군집화와 차원 축소이다.
1) 군집화
특정 기준에 따라 특성이 비슷한 데이터 사례들을 하나의 세트로 묶는 것
2) 차원 축소
특성이 많은 데이터를 특징의 수를 줄이면서 꼭 필요한 특징을 포함한 데이터로 표현하는 방법
강화 학습(Reinforcement learning)
상과 벌이라는 보상을 주며 상을 최대화하고 벌을 최소화하도록 강화 학습하는 방식
정확한 정답은 없지만 이러한 반복적인 행동들을 통해 칭찬과 벌을 받음으로써 보상의 가중치를 최대화하는 것이 목표강화학습은 은 환경으로부터의 피드백을 기반으로 행위자의 행동을 분석하고 최적화한다.
시행 착오(Trial-and-error)와 지연 보상(delayed reward)은 다른 기법과 구별되는 강화 학습만의 특징이다.
< 참고 도서 및 출처 >
실무가 훤히 보이는 머신러닝&딥러닝 ( 마창수, 최재철 지음 )
'Python > 챗봇' 카테고리의 다른 글
베이스 정리로 텍스트 분류하기 (0) | 2020.07.21 |
---|---|
Word2Vec으로 문장을 벡터로 변환하기 (0) | 2020.07.18 |
한국어 분석(형태소 분석) 실습 (0) | 2020.07.14 |
머신러닝의 이해와 지도학습을 이용한 분류(서포트 벡터 머신 알고리즘) (0) | 2020.07.09 |
머신러닝의 이해와 지도학습을 이용한 분류(의사결정나무) (0) | 2020.07.09 |