기계학습은 인공 지능의 한 분야로, 컴퓨터가 스스로 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다. 직역하면 '기계를 학습시킨다' 인데, 말그대로 사람이 직접 로직을 명시하지 않아도 데이터를 통해 컴퓨터가 '학습'하여 자동으로 문제를 해결할수 있도록 하는 알고리즘 이다. 머신러닝의 등장으로 인해 기존 인공지능 분야는 더이상 수작업으로 많은양의 샘플데이터를 DB화 하여 수작업으로 컴퓨터에 등록하지 않아도 되었고 더불어 사람조차 명확하게 구분할 수 없는 지식을 구현할수 있게 되었다.
기계 학습의 핵심은 표현(representation)과 일반화(generalization)에 있다. 표현이란 데이터의 평가이며, 일반화란 아직 알 수 없는 데이터에 대한 처리이며, 어떠한 작업(Task)에 대해 꾸준한 경험(Experience)을 통하여 그 T에 대한 성능(Performance)를 높이는 것이다.
일반적으로 기계학습은 알고리즘을 이용해 데이터를 분석하고 분석 결과를 스스로 학습하여 이를 기반으로 알 수 없는 데이터를 예측/판단 한다. 따라서 머신러닝에서는 양질의 데이터가 매우 중요한 역할을 하며, 양질의 데이터를 많이 보유할수록 보다 높은 성능을 이끌어낼 수 있게 된다.
<정리>
기계학습(ML, Machine Learning) 이란, 사람이 일일이 명시하지 않은 동작을 양질의 데이터로부터 기계가 스스로 학습하고 이를 바탕으로 추후에 입력되는 알 수 없는 데이터를 판단/예측하는 알고리즘을 개발 및 연구 하는 분야
기계학습(ML, Machine Learning) 의 종류
기계학습(ML, Machine Learning) 은 레이블(Lable)을 어떻게 설정하는가에 따라 크게 3가지로 분류된다.
* 레이블(Lable)과 속성(Feature)
레이블(Lable) 은 학습을 위해 준비된 Data set의 속성(Feature)이 무엇을 분석할지에 따라 정의되는 데이터를 의미한다. 예시를 들어서 설명하자면 아래와 같은 Data Set이 머신러닝을 위해 준비되어 있다고 가정하자.
Iris Data Set 위에 Data Set에서 우리가 분석하고자 하는, 판단/예측 하고자 하는 열이 레이블(Lable)이 되고 이 외의 열들이 속성(Feature) 가 된다. 예를 들어 우리가 '꽃받침의 길이','꽃받침의 너비','꽃잎의 길이','꽃잎의 너비' 속성을 기반으로 '꽃의 종류'를 맞추는 머신러닝 모델을 구현하고자 한다면 '꽃의 종류'가 레이블이 되는 것이다. 즉, 속성(Feature)는 머신러닝을 학습시키기위한 문제가 되고 레이블(Lable)은 문제에 대한 정답이 된다.
지도학습(Supervised Learning)
레이블이 있는 Data Set을 학습 데이터로 사용하는 기계학습이다. 즉, 문제(속성,Feature) 와 정답(레이블, Lable) 을 알려주고 이 둘을 같이 학습함으로서 알 수 없는 데이터가 들어왔을때 올바른 답을 예측하도록 한다. 지도학습은 레이블의 형태에 따라 다시 두가지로 나뉜다.
- 분류(Classification)
레이블이 이산형 데이터 인 경우 학습된 머신러닝 모델을 분류 모델 이라고 한다. 이산형 데이터는 수치적인 의미를 가지나 소수점의 형태로 표현되지 못하는 데이터를 의미한다. 즉, 분류 모델은 속성을 분석하여 해당하는 Data 가 어떤 그룹에 속하는지를 맞추는도록 구현 된다.
ex) 손글씨 이미지 데이터를 통해 어떤 숫자인지 맞추는 모델
- 회귀(Regression)
레이블이 연속형 데이터 인 경우 학습된 머신러닝 모델을 회귀 모델 이라고 한다. 연속형 데이터는 수치적인 의미를 가지고 소수점으로도 표현이 가능한 데이터이다. 따라서 회귀모델은 속성과 레이블의 상관관계를 함수식으로 표현하면서 구현된다. 분류 모델과 달리 어떠한 수치가 나올지 정확하게 예측할 수 없다.
ex) 주가 예측 모델
지도학습을 구현하기 위한 알고리즘에는 의사결정 트리(Desicion Tree), KNN(K-nearest neighbor), 신경망(Neural Network), SVM(Support Vector Machine) 등 이 있다. 대부분의 알고리즘들은 분류모델과 회귀모델을 모두 구현 할 수 있지만 데이터 및 상황에 따라 더 효율적인 알고리즘을 선택하여 구현한다.
장점으로는 사람이 가공한 데이터를 사용하므로 데이터 의 정확도는 높다. 하지만 단점으로는 인력이 들고 따라서 많은 양의 데이터를 구하기 힘들다.
비지도학습(Unsupervised Learning)
레이블이 없는 Data Set을 학습 데이터로 사용하는 기계학습이다. 지도학습은 사람이 결과를 안다는 가정하에 컴퓨터가 문제를 해결하길 바란다면, 비지도학습은 정답이 없는 데이터에서 컴퓨터가 사람의 개입없이 알아서 어떠한 결과를 도출 해내는 학습니다.
비지도학습의 대표적인 알고리즘으로는 군집화(Clustering) 와 분포추정(Underlying Probability Density Estimation) 이 있다.
장점으로는 사람이 인지 하지 못했던 문제를 해결할 수 있고 많은 데이터를 수집하기 쉽다. 단점으로는 학습의 결과가 옳은지 판단할 정확한 기준이 없다는 것이다.
강화학습(Reinforcement Learning)
강화학습은 최근에 추가된 기계학습의 종류이다. 만약 기계학습이 지도학습과 비지도학습, 두가지로만 나눌수 있다면 지도학습에 포함되는 영역이나 일반적인 지도학습과 다른 점은 보상(Reward)의 개념이 추가된 것이다. 초반에는 어느정도의 사람의 개입이 들어갈 수 있지만 보상에 초점을 두고 현재의 상태에서 보상이 최대치가 되는 행동을 취함으로써 컴퓨터가 스스로 학습하는 것이다.
지도학습과 비지도학습은 학습 데이터가 주어진 상태에서 변화가 없는 정적인 환경에서 학습을 진행 하였다면 강화학습은 어떤 환경 내에서 현재 상태를 관찰하고 선택할 수 있는 행동 중 최대의 보상을 가져다 주는 것이 무엇인지를 학습한다.