Machine Learning 개요
AI(artificial Intelligence) 인공지능
→ 사람의 사고능력을 구현한 프로그램
- Strong AI
사람과 구별할 수 없는 정도의 강한 AI.
전자기적 방식으로 사고하므로 생화학적 방식으로 사고하는 사람보다 100만배정도 사고속도가 빠르다.
만드는 방법조차 모른다
- Weak AI
특정 영역에서 잘 동작하는 AI
ex. 챗봇, 자율주행, 검색
기존 프로그램 방식
rule based programming | explicit programming
어떠한 조건, 알고리즘에 따라 수행되는 프로그램 방식
이 방식으로는 조건이 너무 많을 때 문제를 해결하는 것이 쉽지 않음
Machince Learning
AI를 구현하기 위한 하나의 방법론이다.
데이터를 기반으로 특성과 패턴을 파악하여 모델이라는 결과를 만들고, 모델을 이용하여 새로운 데이터에 대한 예측을 진행한다.
Type
- supervised learning 지도학습
학습에 들어가는 데이터에 입력값과 그 정답(label)도 같이 주어지는 경우
- Regression 회귀 : 예측값이 연속적인 수치값으로 나오는 경우
- Classification 분류 : 예측값이 어느 분류에 속하는가로 나오는 경우
- unsupervised learning 비지도학습
입력 데이터만 주어지는 경우. 그 데이터에 대한 정답 label이 주어지지 않음.
- Clustering 군집화 : 유사한 특성을 가지는 데이터끼리 군집을 만듦
- semisupervised learning 준지도학습
비지도학습과 지도학습이 혼용된 경우. 어떠한 데이터는 레이블이 있고 어떠한 데이터는 레이블이 없는 경우.
대표적으로 google photo가 여기에 속한다.
- reinforcement learning 강화학습
action, reward 개념을 이용한 학습
학습을 하면서 reward를 주고 더 많은 reward를 받을 수 있는 policy를 택하는 방식으로 학습이 진행.
머신러닝이 잘 수행되려면
- 데이터가 많아야 하고
- 데이터가 양질의 데이터여야 한다.
Machine Learning의 기법
- Regression
- SVM (support vector machine)
- Decision Tree, Random Forest
- Naive Bayes
- KNN(K-Nearest Neighbor)
- Neural Network
- Clustering(K-Means, DBscan)
- Reinforcement Learning