-
머신러닝이란 무엇인가?Machine Learning/Stanford ML Specialization 2021. 4. 4. 00:23
머신러닝이란 무엇인가? 머신러닝이라는 용어를 만든 아서 사무엘의 1959년도 정의와 톰미첼의 1998년 정의가 있는데, 최근 톰미첼의 정의를 많이 쓰는 추세이다.
아서 사무엘은 머신 러닝을 다음과같이 정의했다.
"the field of study that gives computers the ability to learn without being explicitly programmed."
"컴퓨터가 명시적으로 프로그래밍 되지 않아도, 스스로 학습할 수 있도록 하는 연구분야다"
- Arthur Samuel톰 미첼(Tom Mitchell)은 조금더 현대적인 정의를 내놓았다.
"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."
"만약 어떤 작업 T에서 경험 E를 통해 성능측정 P을 했을 때 성능이 향상된다면, 그 컴퓨터 프로그램은 학습을 한다고 말할 수 있다."
- Tom MitchellWhat is machine learning?
게임을 하는데 1000번을 할 수 있음에도 10번만 한다면? 실력이 좋지 않을 확률이 높다. 머신 러닝에는 다양한 중료가 있는데,
- Supervised learning (지도학습)
- Unsupervised Learning (비지도학습)
- Reinforcement Learning (강화학습)
등이 있다. 우리가 많이 접하는 유투브의 추천 알고리즘은 Supervised일수도 Unsupervised일수도 있다.
League of Legend를 예로 들어보자.
E = the experience of playing many games of League of Legend
E는 리그오브레전드를 많이 플레이한 경험이다. 이 플레이를 하면서
미니언을 잡을때 막타를 잘 치면, 골드를 더 벌 수 있다는 것,
한타가 펼쳐지면 티모인 유저가 원딜을 집중적으로 Q를 날리고 무빙을 하면서 딜을 넣으면 승률이 높다는 것,
주로 다니는 길목 또는 풀숲에 버섯을 심는것이 팀에 도움이 되는등의 데이터가 쌓일것이다.
T = the task of playing League of Legend
T는 리그오브레전드를 플레이 하면서 승리를 하는것이다.
P = the progability that the progrm will win the next game.
P는 이러한 경험과 테스크를 토대로 승률이 많이 올라간다면, 이것은 학습되었다고 할 수 있다.
아무리 많이 플레이 해도, 맵리딩을 하지 않거나 팀원들에게 부모님 안부를 자꾸 묻는 등의 행동으로 심해에서 나올 수 없게되고,
게임 1판을 한것과 10판을 한것이 승률이 별반 차이가 없는것처럼, 머신러닝도 잘못된 방향으로 트레이닝된다면, 학습되었다고 말할수 없다.
머신러닝의 학습 방법은 여러가지가 있는데, coursera 강의에서는 Supervised Learning과 Unsupervised Learning을 소개했다.
Supervised Learning
먼저, Supervised Learning (지도학습)은 우리가 기대하는 결과가 무엇인지 알고있을때 사용하는 방법으로, 결과값을 같이 주고 학습을 시키는 방법이다. Supervised Learning은 regression(회귀학습)과 classification(분류학습)으로 나눠질 수 있다. 아래 예시를 보자.
집들의 크기를 가지고 가격을 예측하는 모델을 만든다고 하면, 가격은 우리가 예측하고자하는 목표이고, 사이즈는 지속적으로 제공되는 input이기 때문에, 이것은 regression 이다. 하지만, 이 문제를 가격 측정이 아니라, 요청 가격보다 높거나 낮게 판매할지 제시하는 모델을 만든다면, 이것은 classification 문제가 된다.
또다른 예시를 생각해보자. 사람의 사진들이 주어지고, 사진속 인물들의 나이를 예측하는 모델을 만든다면, 이것은 regression 문제이다. 하지만 사진속 인물의 손톱 색깔을 보고 장속 건강을 예측하는 모델을 만든다면 그것은 분류학습니다.
Unsupervised Learning
그렇다면 Unsupervised Learning (비지도학습)은 무엇일까? 비지도학습은 우리의 결과가 어떻게 나타날지 거의 모르거나 전혀 모르는 상태에서 학습하는 방법이다. 이 학습법은 Clustering 과 Non-Clustering으로 나눠질 수 있다. Clustering의 예시로는, 100가지의 유전자를 모아서 이 유전자를 수명, 위치, 역할 등 다양한 변수에 의해서 어떻게 유사하거나 관련있는지 그룹으로 자동 분류하는 방법이 있다. Non-clustering의 예시로는 헤이즈 콘서트장에서 사람들이 떼창을 한다고 했을 때, 개별 목소리와 음악을 식별해 낼 수 있는 모델을 떠올릴 수 있다.
학습 방법들에 대해서 앞으로 디테일하게 배워가도록 하자.
Reference
'Machine Learning > Stanford ML Specialization' 카테고리의 다른 글