1. Machine Learning Basics
이 포스팅은 김성훈 교수님의 강의(모두를 위한 딥러닝)를 수강하며 공부한 내용을 정리한 것입니다.
섹션1. 머신러닝의 개념과 용어
Machine Learning (기계 학습)이란 무엇인가?
통계적인 경험을 통해 문제의 해법을 찾아가는 인간의 특징을 기계에 적용한 것이 머신러닝(machine learning)이라고 할 수 있다.
기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 연구 분야이다.
Deep Learning 이란 무엇인가?
딥러닝(deep learning)은 더욱 고도화된 머신러닝 방법으로 사진과 같은 고차원 데이터에서 기계 스스로 패턴을 알아낼 수 있다는 장점이 있다. 예를 들면, 개와 고양이를 분류할 때 기존 머신러닝은 일반적으로 귀, 코, 입, 발 모양 등 개와 고양이를 구별할 수 있는 큰 특징을 뽑아 적은 수의 변수로 만들어 학습시키고, 딥러닝은 많은 픽셀로 구성된 개와 고양이 사진 자체를 학습시켜서 진행합니다.
학습하는 방법
Supervised learning : 라벨링이 되어있는 학습 데이터로 학습하는 방법
어떤 레이블들이 정해져 있는 데이터(=Training set이라고도 함)를 갖고 학습하는 것이다.
일례로, 이미지를 주고, cat, dog, mug, hat 등등을 식별하게 하는 것도 각 이미지에 식별 대상에 대한 정보인 label를 달아서 데이터를 제공 받아서 학습한 것이다.
Types of Supervised learning
- regression (ex. 시험점수 예측)
- binary classification (ex. Pass/non-pass 예측)
- multi-label classification (ex. A, B, C, D, ...등급 예측)
ML에서의 일반적인 문제 유형
- Image labeling
- Email spam filter
- Predicting exam score
Unsupervised learning : 주어진 데이터로 스스로 학습하는 방법
일일히 label을 주어서 학습할 수 없는 경우로, supervised learning과 반대되는 개념이다.
ex) 구글 뉴스는 자동적으로 유사한 뉴스들을 그루핑해주는데, 이 경우에는 그 전에 미리 label을 정해주기 어렵다. word clustering과 같은 경우에도 마찬가지.
Reinforcement Learning(강화학습) : 행동에 대한 보상을 받으면서 학습하여 어떤 환경 안에서 선택 가능한 행동들 중 보상을 최대화 하는 행동
상과 벌이라는 보상(reward)을 주며 상을 최대화하고 벌을 최소화 하도록 강화 학습하는 방식.
알파고가 이 방법으로 학습 되었고, 주로 게임에서 최적의 동작을 찾는데 쓰는 학습 방식이다.