머신러닝의 정의

September 01, 2018

머신러닝은 일종의 소프트웨어다.기존의 소프트웨어는 규칙을 프로그래머가 입력을 해준다. 스팸필터로 예를 들면, 특정단어가 발견되면 스팸처리를 할수 있다. 하지만, 현실의 스팸의 종류는 너무 다양하고 계속 발전한다. 프로그래머가 일일이 규칙을 정하는 것이 비효율적이다. 머신러닝은 컴퓨터가 스스로 배우면서 이러한 ‘판단’을 할수 있게 만드는 소프트웨어다.

“Field of study that gives computers the ability to learn without being explicitly programmed” Arthur Samuel(1959)”

지도학습과 비지도 학습

머신러닝은 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 나눈다. 둘간의 가장 큰차이는 답(y)의 유무이다.

당연히 지도학습이 더 쉽고, 현재는 더 많이 쓰이지만 앞으로는 비지도학습이 더 많은 가능성을 가지고 있는 미개척 분야이다.

훈련 셋, 검증 셋, 시험 셋

머신러닝은 말 그대로, 데이터를 통해서 소프트웨어를 훈련(train)시켜서 예측(predict)을 하는 것이다. 그렇기 위해서는 당연히 데이터가 필요하고, 데이터는 크게 3개의 셋(Set)으로 나눌수 있다. 현업에서 검증 셋은 종종 생략되는 경우가 있다.