1.2 What Is Machine Learning
기계학습은 데이터를 기반으로 컴퓨터가 예측이나 어떤 행동을 하도록 만드는 방법입니다.
예를 들면 집 값을 예측하기위해 컴퓨터는 과거 집값을 통해 패턴을 학습합니다. 이 책은 지도학습방법에 대해서 집중적으로 다룹니다. 지도학습방법(supervised learning)이란 결과값(e.g 집 값)이 있는 데이터를 통해 새로운 데이터에 대해 예측하는 것을 배울 수 있도록하는 방법을 말합니다. 지도학습을 제외하고는 군집화를 예로 들 수 있습니다. 군집화는 비지도학습방법(unsupervised learning)으로 결과값이 없는 경우 데이터간의 군집을 찾아주는 방법을 말합니다. 또한 이외에 강화학습(reinforcement learning)도 예로 들 수 있습니다. 강화학습에서는 에이전트가 특정 상황에서 행동을 취함으로써 특정 보상을 최적화하는 과정을 말합니다. (e.g 테트리스를 하는 컴퓨터) 지도학습의 목적은 예측 모델이 데이터의 특성(e.g 집 크기, 위치, 층 수 등)를 통해 결과값(e.g 집 값)을 매칭하도록 학습하는 것입니다. 결과값이 범주형(categorical)인 경우 이러한 문제를 분류 문제(classfication)라고 한다. 결과값이 숫자형(numeric)인 경우는 회귀 문제(regression)이라 부른다. 기계학습 알고리즘은 파라미터(가중치)를 추정하거나 구조(나무)를 학습하며 모델을 학습합니다. 이 알고리즘은 점수(score)나 오차(loss)가 최소가 되도록 합니다. 집 값을 예로 들때, 기계는 측정된 집 값과 예측된 집 값의 차이가 최소가 되도록 합니다. 모두 학습된 모델은 이제 새로운 관측치에 대해서 예측치를 만들 수 있습니다.
집 값 추정, 상품 추천, 교통 표지판 탐지, 신용 부도 예측 그리고 사기 탐지는 모두 기계학습으로 해결할 수 있다. 문제는 각각 다르지만 접근방법은 모두 똑같습니다.
1 단계 : 데이터 수집(Data collection). 많으면 많을수록 좋습니다. 데이터는 예측하려는 결과와 예측을 위한 추가적인 정보를 모두 포함하고 있어야합니다. 교통 표지판 탐지의 경우 (“사진에 교통 표지판이 있니?”), 길거리 사진과 거기에 교통 표지판이 보이는지에 대해서 모아야합니다. 신용 부도 예측의 경우, 이전 실제 대출금, 고객들의 대출금이 부도가 났는지 그리고 예측하는데 도움을 줄 수 있는 수입, 과거 신용 부도 경험 등과 같은 정보가 필요하다. 집 값 자동 예측 프로그램과 같은 경우는, 과거 집 값과 실제 사유지에 대한 정도인 크기, 위치 등과 같은 데이터가 필요하다.
2 단계 : 이 정보를 표지판 탐지 모델, 신용 평가 모델 또는 집 값 예측 모델을 만들 기계학습 알고리즘으로 학습하자.
3 단계 : 새로운 데이터에 모델을 사용하자. 모델을 자율주행차, 신용 평가 과정 또는 부동산 시장 웹 사이트같은 제품이나 프로세스에 통합하자.
기계는 체스나 최근에는 바둑 또는 날씨를 예측하는 것과 같이 많은 부분에서 사람을 능가합니다. 기계가 사람만큼 또는 그보다 덜하더라도 속도, 재상산성 그리고 규모면에서 더 큰 장점이 있습니다. 한번 만들어진 모델은 특정 문제에 대해 사람보다 더 빠르고 결과를 일정하게 낼 수 있고 무한정 복사할 수 있습니다. 기계학습 모델을 다른 모델에 복제하는 것도 빠르고 저렴하게 할 수 있습니다. 특정 문제를 사람에게 훈련시키는 것은 몇십년이 걸리고 (특히 어렸을때) 더 비용이 많이 듭니다. 기계학습을 사용할때 가장 큰 단점은 데이터와 기계가 해결하는 작업에 대한 인사이트가 점점 더 복잡한 모델에 숨어있다는 것입니다. 수백만개의 파라미터가 있는 심층신경망(deep neural network)을 사용하지만 이 모델을 이해할 수 있는 방법은 없습니다. 수백개로 구성된 의사결정나무에서 투표로 예측을 하는 랜덤 포레스트(random forest)같은 경우도 마찬가지입니다. 의사결정이 어떻게 이루어진 것인지 이해하기 위해서는 투표들과 수백개의 의나결정나무를 살펴봐야 합니다. 가장 성능이 좋은 모델은 여러개의 모델을 섞는(앙상블이라고 하는) 방법입니다. 그러나 각각의 모델이 해석할 수 있는 모델이라 해도 앙상블한 모델은 해석할 수는 없습니다. 성능이 가장 중요하다면 더 크고 복잡한 모델을 사용하면 됩니다. Interviews with winners on the kaggle.com machine learning competition platform을 보면 우승 모델들은 대부분 앙상블이거나 부스팅이나 심층신경망과 같은 복잡한 모델입니다.