본문 바로가기
Study/Machine Learning

Lecture 1) Machine Learning 이란?

by 커피콩 2022. 1. 20.

YouTube에 올라온 Andrew Ng 교수님의 Machine Learning 영상을 보고 Lecture별로 강의 내용을 정리하고자 한다.

정리한 내용을 두고두고 참고할 수 있으니깐! 작심삼일이나 하지 말자

영어로 강의를 하시기 때문에 잘못 이해한 부분이 있을 수 있다..

 

1.1 What Is Machine Learning

A computer program is said to learn from experience E with respect to some task T and some performance measure P, if tis performance on T, as measured by P, improves with experience E.

이메일 프로그램이 내가 스팸이라고 표시하거나 표시하지 않은 메일들을 감시하고 이를 기반으로 더 잘 필터링할 수 있는 방법을 학습한다고 가정하자. 그러면 여기서 T는 "Classifying emails as spam or not spam"을, E는 "Watching you label emails as spam or not spam", P는 "The number(of fraction) of emails correctly classified as spam/not spam"이 된다. 

따라서 이런 구조로 스팸 분류에 Machine Learning이 적용될 수 있다.

 

Machine Learning 알고리즘의 크게 2가지로 분류할 수 있고, 그 외로 Reinforcement learning, Recommender systems가 있다.

1. Supervised Learning
2. Unsupervised Learning
3. 그 외: Reinforcement learning, Recommender systems

1.2 Supervised Learning

Supervised Learning(지도 학습)은 데이터 셋과 함께 "정답"이 주어진다.

1.2.1 Regression

예를 들어 집값 예측을 해보자. 집값 예측 사례는 Regression problem에 속한다. Regression(회귀)는 continuous valued output, 즉 연속적인 값을 예측하고 위 예제에서는 사이즈에 따른 집 값이 해당한다.

분홍색 직선에 fitting하는 대신, 이차 함수 또는 이차 다항식을 사용할 파란색 선을 사용하기로 결정했다고 가정하자.

분홍색 직선은 750 feet^2에 150K 달러를, 파란색 선은 는 200K 달러를 예측했다. 둘 중 어떤 것을 선택해도 정답이다.

1.2.2 Classification

종양 크기에 따른 악성 또는 양성을 예측을 해보자. 이 사례는 Classification problem에 속한다. Classification(분류)는 Discrete valued output, 즉 0 또는 1로 예측하고, 여기서는 악성이냐 아니냐를 판별하는 게 해당한다. Classificiation 값은 2가지로만 분류해야하는 것이 아니고 3개 이상의 값으로도 분류할 수 있다.

malignant는 악성, 즉 해로운 종양이고 benign은 양성 종양으로 해롭지 않은 것을 의미한다.

(O는 benign, X malignant 이다.)

 

여기서 몇 가지 Attribute를 더 추가한 문제를 풀 수 도 있다. 종양 크기와 나이, 2가지 feature를 갖고 악성 종양, 양성 종양을 판별해보자.

O는 종양 크기에 따른 나이를 의미하고, X는악성으로 판정 받은 종양을 의미하고 학습한 결과 직선이 양성 종양, 음성 종양을 판별하는 기준이다. 따라서 분홍색 동그라미에 해당하는 환자는 음성 종양을 가질 것이라는 판단할 것이다.

 

1.2.3 Wrap-up Question

Problem 1은 동일 품목의 방대한 배고를 다음 3달동안 얼마동안 팔 것이냐라는 문제이기 때문에 Regression이고,

Problem 2는 고객별 계좌가 hacked 되었냐 아니냐로 판별 가능한 문제라서 Classification 문제이다.

 

1.3 Unsupervised Learning

Unsupervised Learning(비지도 학습)은 데이터 셋이 주어지나, 어떠한 Label이 주어지지 않는다.

우리는 주어진 데이터로 구조를 찾을 수 있다.

1.3.1 Clustering Algorithm

위 예시는 데이터셋을 2개의 Cluster(군집, 집합)로 구분할 수 있다. 이 알고리즘은 다양한 분야에서 사용될 수 있다.

동일한 토픽에 대한 기사를 묶기 위해 Google News에서 사용하고, DNA 데이터를 이해하는데도 활용된다. 이외에도 Organize computing clusters, Social network analysis, Market segmentation, Astronomical data analysis 등에 사용된다.

1.3.2 Cocktail party algorithm

Cocktail party problem를 보자. 칵테일 파티에서 2명이 말을 한다고 했을 때 각각의 마이크는 2명의 목소리가 섞인 채 녹음하게 될 것이다.

Cocktail party algorithm을 통해 녹음된 결과를 2개의 오디오 파일로 분리할 수 있다. 특이값 분해(SVD) 공식을 통해 한 줄로 분리 가능하다.

1.3.3 Wrap-up Question

2번, 3번이 Unsupervised Learning에 해당하고, 1번, 4번이 Supervised Learning에 해당한다.

댓글