요즘은 머신러닝이라 하면 누구나 다 자연스럽게 받아들인다.
하지만 위키를 찾아보면 아래와 같이 정의하고 있다.
“Make predictions or decisions without being explicitly※ programmed“
Source: Wikipedia
※ explicitly: 분명하게, 명쾌하게, 솔직하게
결국 머신러닝이라 하면 사용자가 어떻게 동작할 지 explicit 하게 알려주지 않고 잘 동작하도록 프로그램 하는 방법이라 하겠다.
어떻게 동작방법을 알려주지 않고 정확한 결과를 가져 온다는 말일까?
생각해보면 말이 안되는 소리이기도 하다.
당연히 동작방법이 정확하지 않다면 정확한 결과를 가져올 수 없다. 그래서 머신러닝도 정확한 Input과 Output에 대한 정의를 내려줘야 한다.
여기서 이야기 하고 싶은 내용은 동작 방법을 프로그램하는 것이 아닌(explicit 한 함수를 만드는 것이 아닌), Data Dependent 한 함수를 만든다고 생각 하면 될 것이다.
결국 핵심음 “Data”이고, Data에서 패턴을 찾고, 이 패턴을 함수로 만들어 사용하는 것이 머신러닝이라 할 수 있다.
많은 발전이 있었지만, 아직까지도 머신러닝은 전혀 완벽하지 않다. 아직도 우리가 할 일이 많고 시장은 매우 커질 것이다.