머신러닝
Machine Learning
- Machine learned / by computer languages / to perform the algorithm / created by human
- 인간이 개발한 알고리즘을 컴퓨터 언어를 통해 기계 (컴퓨터) 에게 학습시키는 행위
* 알고리즘 : 문제를 해결하기 위한 방법론들의 집합 ex. Gradient, Backpropagation
* 컴퓨터 언어 : 인간과 컴퓨터가 소통하기 위한 수단 ex. C++, Python
머신러닝 모델링
함수가 X와 함수식을 주고 Y가 뭔지 묻는 거라면, 머신러닝은 X와 Y가 주어졌을 때 함수식을 찾는 것이다.
즉 함수식을 찾는 것이 머신러닝인데, X와 Y가 수만개 이상이 존재하면 그 사이에서 X, Y 사이 관계를 설명하는 함수식을 찾는 것이 어렵기 때문에 컴퓨터의 도움을 받아야한다. 컴퓨터가 함수식을 찾게 하기 위해, X와 Y의 관계를 잘 찾는 방법론 (알고리즘)을 인간이 개발하고, 알고리즘을 잘 구현할 수 있도록, 컴퓨터 언어를 통해 컴퓨터에게 학습시켜서 컴퓨터가 수만개의 X,Y 사이에서 함수식이란 해답을 제공할 수 있도록 만드는 것이 머신러닝 모델링이다.
* 함수식 = 모델임! 따라서 모델링이라 하는 것
머신러닝을 통해서 예측을 할 수 있는데, 이처럼 X와 Y 데이터가 주어졌을 때,
Y = f(X)란 함수식를 찾으면 미래에 Y값이 없는 X값이 주어졌을 때, Y값을 알 수 있다.
학습 데이터, 검증 데이터
이러한 예측과정에서 알아야하는 것이 학습데이터와 검증데이터다.
* 검증 데이터는 Validation data라고도 하는데 교수님은 그냥 Testing data로 칭한다고 하심
학습데이터와 검증데이터 모두 기존에 있는 데이터이기 때문에, 기존에 있는 데이터를 함수식을 만드는 데 모두 사용하면 되지 않나 할수도 있지만, 그렇게 되면 새로운 값이 들어오기 전까지 만들어진 함수식이 제대로 됐는지 어떤지 알 수 없다.
그렇기에 기존에 있는 데이터를 학습 데이터 / 검증 데이터로 나눠, 학습 데이터로 함수식을 만들고 검증 데이터를 해당 함수식에 넣었을 때, 함수식으로 예측한 y값이 실제 y값과 얼마나 유사한지 보아 함수식의 정확도를 알아볼 수 있다.
모델 (F(x))의 종류
선형 모델 - 트리 모델 - 랜덤 포레스트
비선형 모델 - 인공신경망 (뉴럴 네트워크)
추가
이러한 머신러닝을 실체에 적용하면 인공지능이 된다.
예를 들어, 자동차에 함수가 적용되는 데 함수가 경치(이미지)를 보고 스스로 운전할 수 있도록 하는 함수라 하면 결과적으로 무인자동차가 되는 거다.
출처
- 김성범 [교수 / 산업경영공학부]