머신러닝, 너 이름이 뭐니?

머신러닝 단어부터 이해하기, 데이터 마이닝은 또 뭐야?

머신러닝, 기계학습? 기계를 학습시킨다? 기계가 학습한다?
⟪모두를 위한 머신러닝 강의⟫ 동영상을 통해 이런 알고리즘이 있고 Tensorflow에서 관련 메서드를 어떻게 호출하는지 등에 대해 배웠다. 새로운 내용을 배우느라 마냥 신기하고 재밌어서 따라가기에 급급했다. 언젠가부터 내가 머신러닝을 제대로 배우고 있는건가라는 생각이 들었다. 마치 내부는 어떻게 동작하는지 모르는채 라이브러리나 프레임워크만 가져다 쓰고서 나 다 알아 하는 느낌이라 불편했다. 뭔가 기초부터 차근차근 알려줄 사람이 필요했다. 
이번 글에서는 ⟪인공지능, 머신러닝, 딥러닝 입문⟫을 통해 알게 된 ‘머신러닝’ 의미를 정리해보고자 한다.

Machine Learning = Machine + Learning

Wikipedia

기계 학습(機械學習) 또는 머신 러닝(영어: machine learning)은 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 가령, 기계 학습을 통해서 수신한 이메일이 스팸인지 아닌지를 구분할 수 있도록 훈련할 수 있다.

Machine

IBM 아서 사무엘은 Machine을 다음과 같이 정의했다.
“프로그래밍 가능한 컴퓨터"
Machine Learning은 프로그래밍 가능한 컴퓨터를 통해 일일이 처리 로직을 명시하지 않더라도 어떤 Task를 수행하기 위해 새로운 데이터가 들어왔을 때 옳은 선택을 할 수 있도록 기계를 훈련시키는 것을 목적으로 한다.
Learning이라는 기계 훈련 과정을 통해 최적화된 모델을 찾는 것이 중요하다.

Learning

아직 ‘기계를 학습(훈련)시킨다’ 라는 개념이 머릿속에 명확히 그려지지 않는다.
컴퓨터가 스스로 알아서 문제 해결 방법을 찾는 것이 아니다. 문제 해결에 필요한 모델을 선정하고 최적화시키는 몫은 사람에게 있다. 최적 수준을 찾는 것은 기계의 도움을 받는다.
Learning은 다음 3가지 과정을 모두 포함하는 단어이다.

Learning = Representation + Evaluation + Optimization
  • 표현(representation)
    입력값을 처리해서 어떻게 결과값을 만들지 결정하는 논리모델을 의미한다.
    kNN, SVM, 의사결정트리 등 우리가 알고 있는 문제 해결 알고리즘이 표현에 해당한다.
  • 평가(evaluation)
    Task(예, 사진을 입력받아 카테고리를 구분하는 작업)를 얼마나 잘 수행했는지 판단하는 방법 또는 기준이다.
    최소제곱법을 예로 들 수 있다. 최소제곱법은 오차(이미 알고 있는 y값과 모델이 계산한 y값의 차)의 제곱합이 가장 적은 모델을 높이 평가하겠다는 방법이다. 이때 오차의 제곱합을 Cost function이라 부른다. 즉 비용을 최소화하는 모델을 선택한다. 
    Linear Regression인 경우,
    H(x): y = Wx+b
    cost(W, b) = sigma (H(x)-y)²/m (suppose convex function)
  • 최적화(optimization)
    평가에서 설정한 기준을 만족하는 최적 조건을 찾는 것이다.
    최소제곱법 기준이라면 Cost가 0에 가까운 W, b값을 밝혀내는 것이 목표가 된다. 이 때 경사감소법(Gradient Descent)등과 같은 방법으로 최적 조건을 찾는다. W, b값 변화에 따른 Cost 변화 그래프를 그리고 그래프 양 끝에서 경사도를 따라 내려가면서 경사도가 0인 최저점을 찾는다.
    최적화 과정이 끝나면 학습 모델에 사용한 W, b값(가중치)이 결정된다. 이로써 학습이 완료되었다고 할 수 있다.
resource from 모두를 위한 머신러닝 강의 동영상

머신러닝 vs. 데이터 마이닝

대학교 때 흥미로왔던 데이터 마이닝 수업. 어라? 데이터 마이닝 수업에서 배운 기법들이 머신러닝에도 쓰이네? 그럼 내가 머신러닝을 배웠던걸까?
⟪인공지능, 머신러닝, 딥러닝 입문⟫에 쓰여진 바에 의하면 분류, 예측, 군집과 같은 문제 해결을 컴퓨터 과학 입장에서는 머신러닝, 통계학 입장에서는 데이터 마이닝이라고 한다. 이런 현상은 1990년대 머신러닝 연구를 하던 컴퓨터 과학자들이 통계학 사례를 컴퓨터를 이용해 풀면서 비롯되었다고 한다. 
머신러닝과 데이터 마이닝의 목적을 알면 그 차이를 분명히 알 수 있다.

머신러닝
기존 데이터로 모델을 학습시킨 후 새로운 데이터를 입력 했을 때 예측값을 알아내기 위한 목적

데이터 마이닝
가지고 있는 데이터에서 일정한 패턴이나 특성을 찾기 위한 목적

What’s the next

지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.