Machine Learning
인공지능, 머신러닝, 딥러닝 의미 구분
- 인공지능은 대중적으로 사용되는 단어로 가장 포괄적이다.
- 머신러닝은 특정 분야를 지칭한다.
- 딥러닝도 머신러닝의 한 종류이다.
- 머신러닝에는 많은 기술이 포함되어 있다.
- 딥러닝은 머신러닝의 한 종류로 인공지능에서 해결하지 못한 것들을 해결했다.
- 딥러닝의 문제점은 머신러닝, 인공지능의 문제점이다.
머신러닝이란
- 데이터를 이용한 모델링 기법
- 음성, 이미지, 영상과 같은 데이터로 부터 목표 결과물(=모델)을 획득하는 것
- 머신이 스스로 데이터를 분석하여 모델을 찾아내는 것
- 머신러닝은 영상인식, 음성인식, 자연어 처리의 분야에서 사용
머신러닝의 문제
- 학습데이터와 추론데이터는 같지 않음
- 다시 말하면 학습데이터의 질이 중요
- 이런 문제는 딥러닝에서도 동일
- 학습 데이터와 추론데이터가 달라져도 성능에 차이가 없도록하는 것을 일반화(Generalization)
과적합
- 머신러닝은 학습데이터를 충실히 반영해야 좋은 성능
- 그림
- 그런데 학습데이터에는 무시해야될 데이터도 존재
- 그림
- 이 처럼 학습데이터를 너무 충실히 따르다 발생하는 문제를 과적합이라 함
- 과적합은 모든 머신러닝의 문제
과적합을 해결하기
- 정칙화(regularization): 모델의 형태를 최대한 간단하게 만드는 수치해석적 기법
- 일종의 평균에서 떨어진 경우는 무시하는 방법
- 데이터를 무시하므로 성능이 떨어질 수 있는 단점
- 검증(validation): 복잡한 학습데이터의 경우에는 과적합 상태를 확인하기 위한 방법
- 학습데이터를 학습데이터와 검증데이터로 구분(8:2 비율)
- 학습데이터는 모델을 학습
- 검증데이터로 모델의 성능을 평가
- 검증교차(cross validation): 검증 방법을 일부 변경
- 검증과 비슷하나 검증데이터와 학습데이터를 무작위로 변경하여 사용
머신러닝의 종류
- 머신러닝은 학습방식에 따라 지도학습, 비지도학습, 강화학습
- 지도학습은 입력, 정답을 학습데이터로 사용
- 머신러닝, 딥러닝에서 사용되는 학습방법
- 비지도학습은 입력만을 학습데이터로 사용
- 입력에서 패턴, 구문분석을 수행
- 강화학습은 입력, 출력, 출력에 대한 평가 점수를 학습데이터로 사용
- 제어나 게임플레이 같은 상호작용을 통해 최적의 동작을 학습해야할 때 사용
- 지도학습은 모델의 사용에 따라 분류(classification)과 회귀(regression)으로 구분
- 분류는 학습데이터로 입력과 해당범위를 사용
- 회귀는 학습데이터로 입력과 값을 사용
- 분류와 회귀는 결과 데이터의 형태의 차이(범위냐, 값이냐)
- 비지도학습에는 군집화(clustering)라는 응용분야가 있음
- 유사한 데이터를 묶는다는 점에서 지도학습의 classification과 비지도학습의 clustering은 헷갈릴수 있음
- 결과로 값이 나온다는 것은 같지만, 사용되는 모델이 지도학습이냐 비지도학습이냐 구분