대부분의 소프트웨어들은 명시적이다(explicit)


즉 코더가 일일이 이럴땐 이러케, 저럴땐 저러케 동작하라고 적어놓으면, 고대로 동작한다.


따라서 규칙이 겁나 복잡한(자율주행 자동차) 경우 코더들을 갈아넣어도 만들 수 없는 소프트웨어들이 있기 마련이다.



기계 학습은, 이러한 명시적이지 않은 동작들을 데이터로부터 학습하여 수행할 수 있게하는 알고리즘이다.


데이터들로부터 일반적인 동작을 알아내서 스스로 동작하는 것이다.



이러한 정의 하에, 데이터마이닝 머신러닝은 교집합이 상당한데,


기계학습은, 데이터로부터 학습하고, 미래를 예측한다는 특성이 강한 반면에,


데이터마이닝은 데이터들에 감춰져있던 속성을 발견하는 특성이 강하다.


가령 사용자들의 sns를 분석해 소비 패턴을 파악하는 경우에 데이터마이닝 속성이 강하다고 할 수 있다.




머신러닝의 학습 방법은 크게 두가지로 나뉜다.



지도 학습(supervised learning)이란


학습할 데이터(training set)에 이미 속성(label, 정답)들이 부여되어 있고, 학습 이후에 올바른 정답(사용자가 원하는)을 밷게 하는 방법이다.


대부분의 머신러닝 분야는 지도 학습이 주를 이루고 있다.


가령 고양이와 사람 사진을 분류하게 학습시킨다던가, 손글씨를 읽어내게 학습시키는 류는 모두 지도 학습방법을 쓴다.


지도학습의 학습 데이터는 {입력, 정답} 쌍이다.



반면 비지도 학습(unsupervised learning)


사용자도 정답(label)을 모르는 데이터들을 주고 학습시키는 방법이기 때문에


기계 스스로 비슷한 데이터들끼리 모아주는(군집화, clustering) 행동과 밀접하다.


군집화와 속성 분류는 개념은 비슷하지만 완전히 다른 기법이므로 명확히 구별해서 사용해야 한다.


비지도 학습의 학습 데이터는 입력만 있고 정답은 없다.




지도 학습도 데이터 종류에 따라 두 가지로 나눌 수 있다.


고양이와 사람은 명확히 다르기 때문에, 종을 구분하게 학습시키는 것은 분류(classification)라 한다.


반면 키와 같이 범위형으로 주어지는 학습 데이터로, 자식의 키를 예측하게 하는 등의 모델은 회귀분석(regression)이라 한다.


+ Recent posts