본문 바로가기
AI/[DLBasic]모두의 딥러닝(딥러닝의 기본)

[DLBasic]Lecture 1 : Machine Learning Basics

by 쵸빙 2020. 1. 15.

머신러닝, ML은 일종의 소프트웨어, 프로그램이다. 보통의 어플리케이션은 explicit programming, 즉 프로그래머가 이미 입력을 예측해서 그 결과를 결정해놓는다. 그러나 보통 입력은 매우 다양해서 모든 상황을 미리 예측할 수 없을 수도 있다. 그래서 1959년에 Arthur Samuel은 사람이 모든 상황을 미리 생각하지 말고 프로그램 자체가 상황에서 점차적으로 배우는 것이라고 Machine Learning을 정의했다.

("Field of study that gives computers the ability to learn without being explicitly programmed"

 - Authur Samuel(1959))

 

머신러닝을 할 때 미리 주어진 데이터를 학습하는 방법으로 Supervised Learning과 Unsupervised Learning의 두 가지로 나누어진다. Supervised Learning은 이미 레이블이 정해져있는 훈련 데이터로 학습을 하는 것이다. 

Supervised Learning

어떤 이미지가 주어졌을 때 고양이인지 강아지인지 등 사진에 무엇이 있는지 판단하는 것도 학습할 때는 이미 레이블이 달려져 있는 supervised learning으로 배우게 된다

 

Unsupervised Learning의 예로는 뉴스 사이트에서 유사한 기사들을 모으는 것(Google news grouping), 비슷한 단어들을 그룹으로 묶는 것(Word Clustering) 등이 있다. unsupervised learning은 미리 정답을 주는 것이 아니라 주어진 데이터를 보고 직접 판단하는 것이다.

 

이 강의에서는 unsupervised learning을 주로 다룰 것이다.

ML이 사용되는 예로는 다음과 같다.

1. Image Labeling : 이미지들에 어떤 물체가 있는지 판단한다.

2. Email spam filter : 이메일 중 미리 스팸 이메일들을 뽑아놓고 그것들에서 학습한다.

3. Predicting exam score : 이전에 시험을 본 사람들의 공부 시간과 성적 등의 자료들로 예측한다.

알파고의 경우에도 기존에 사람들이 바둑을 둔 것을 학습한 뒤 이세돌이 하나하나 바둑을 놓을 때마다 그에 기반해서 판단한다.

 

Supervised learning도 결과에 따라서 다르게 볼 수 있다

-시험에 대한 성적을 예측하는 시스템을 만든다고 하면 0~100점으로 범위가 넓으므로 Regression 사용

-어떤 사람이 시험을 통과했는지 떨어졌는지 Pass, Fail로 나눈다고 하면 둘 중의 하나를 고르는 것이기 때문에 분류, Classification을 사용한다. 이 경우에는 두 경우에서 고르는 것이기 때문에 Binary Classification.

-A,B,C,D,F 중에서 성적을 고르는 것은 레이블이 많기 때문에 Multi-Label Classification이라고 한다.

 

Regression의 Training data의 예

     Regression의 학습하는 데이터, Training data의 예시이다. 몇 시간동안 공부했더니 성적이 어떻게 나왔는지 알려주는 것이고 이는 0~100점의 넓은 범위에 분포되어있으니 regression을 사용해서 학습하면 되겠다.

 

Binary Classification의 Training Data의 예

     이번에는 결과가 Pass, Fail의 두 가지밖에 없으니 Classification이 되겠고, 그 중에서도 Binary Classification이겠다. 

 

Multi-Level Classification의 Training Data의 예

     이번에는 결과가 A,B,C,D,E로 여러 개이므로 Multi-Level Classification이다.

 

다음 시간에는 Linear Regression에 대해 배울 것이다.