머신러닝(Machine Learning)은 우리의 통념보다 오래된 기술이고, 이미 우리가 사용하는 많은 서비스와 상품에 직,간접적으로 활용되고 있습니다. 매일 쏟아지는 스팸메일로부터 우리를 보호하는 스팸메일 필터링 기술, 전자상거래 사이트에서 적합한 물건을 추천해주는 서비스, 애플의 시리와 같이 사람의 음성을 듣고 이를 인식하는 서비스 등 우리 곁에는 많은 서비스가 자리를 잡고 있습니다.

 

 


 

 

 

"머신러닝은 인공지능의 패턴인식과 계산학습 이론에서 발전한 컴퓨터과학의 한 분야다. 머신러닝은 데이터로부터 학습하고, 예측할 수 있는 알고리즘을 연구한다. 이러한 알고리즘은 정적으로 주어진 프로그램이 아닌 입력된 데이터로부터 모델을 만들어 예측이나 결정을 내린다" (wiki)

 

 

여기서 알 수 있듯이 머신러닝의 정의에서 제일 중요한 부분은 주어진 데이터를 이용해 스스로 학습하고 적합한 모델을 만든다는 점입니다. 일반적으로 컴퓨터로 어떤 일을 하게 하려면 사람이 컴퓨터에 소상히 Input(데이터는 무엇인지), Program(이런 데이터가 들어오면 어떻게 처리해야 하는지), Output(결과를 어떻게 표현해야 하는지) 등을 모두 정의해야 합니다.

컴퓨터가 이해할 수 있도록 정의하는 것이 프로그래머가 프로그램을 개발하는 과정이며 Input(입력), Program(프로그램), Output(출력)을 어떻게 처리해야 하는지 명령어를 이용해 코딩을 합니다. 컴퓨터는 지능이 없으므로 입력, 프로그램, 출력에 대한 상세한 내용을 논리적 모순 없이 프로그램으로 작성해야만 원하는 결과를 얻을 수 있습니다.

하지만 머신러닝에서는 전혀 다른 방법을 적용하고 있습니다. 사람은 입력과 출력만 제공하고, 프로그램은 머신러닝 스스로 만들게 하는 것입니다. 적절한 데이터가 준비되어 있다면 기존의 접근방법에서는 프로그램을 작성하는 데 상당한 노력과 시간을 보내야 하지만, 머신러닝 접근방법에서는 이러한 수고가 필요가 없습니다. 원하는 결과를 머신러닝에 출력으로 지정하면 나머지 작업은 머신러닝에 의해 스스로 프로그램을 작성하기 때문에 사람은 충분한 양의 잘 정돈된 데이터와 머신러닝을 적용하는 데 필요한 컴퓨팅 파워만 제공해주면 됩니다.

 


 

 

기존 접근방법과 머신러닝 접근방법의 비교

 

다음은 머신러닝의 접근방법과 기존 접근방법을 보여주는 그림으로, 각 접근방법이 어떻게 다른지를 확실히 보여주고 있습니다.


 

머신러닝은 데이터에 기반을 두기 때문에 계산 통계(Computational Statistics)와 많은 연관성이 있습니다. 데이터로부터 학습한다는 것은 머신러닝의 관점에서 보면, 주어진 데이터를 이용해 확률을 계산하고 특정 데이터를 줬을 때 이미 과거의 데이터를 이용해 계산된 확률로 결과치를 만들기 때문입니다.

이러한 특성은 머신러닝에서 데이터가 얼마나 중요한지 강력하게 알수 있습니다. 아무리 좋은 머신러닝 알고리즘이라 하더라도 제공되는 데이터의 양이 적절하지 않거나 품질이 떨어진다면 결코 좋은 결과를 기대할 수 없습니다. 그 유명한 'Garbage in, Garbage Out' 원칙은 머신러닝에서도 당연히 적용됩니다.

 

데이터가 머신러닝 결과물에 막대한 영향을 미치기 때문에 머신러닝에서는 데이터를 탐색하고 정리하는 데이터 마이닝(Data Mining)이 아주 중요합니다. 데이터 마이닝을 통해 입력 데이터로 사용할 적합한 입력변수를 선택하고, 이 입력변수에 빠진 데이터를 보충하거나 이상치(Outlier)를 제거하고, 적절한 양의 데이터를 선택하는 과정이 사실상 머신러닝에서 제일 중요한 과정이어서 그 중요성은 아무리 강조해도 지나치지 않습니다.

 

 

 

 


 

※ 오늘은 '머신러닝이란 무엇인가?'에 대하여 알아보았습니다. 다음 번 포스트에는 머신러닝의 장단점 에 대하여 다루어 보겠습니다.

이 포스트는 학부에서 제공하는 기본적인 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 인공지능, 머신러닝 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

인공지능 #컴퓨터공학 #AI #머신러닝 #데이터사이언스 #데이터마이닝 #Machinelearning #Datamining #Datascience

+ Recent posts