MyCloud

[Coursera] 머신러닝 1주차 강의정리 본문

Knowledge/Machine Learning

[Coursera] 머신러닝 1주차 강의정리

Swalloow 2016. 7. 24. 05:17



Supervised Learning



감독학습이란, 과거의 평가된 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 방법입니다.


 1. Classification : 분류

   - 단절된 요소를 나누는 것 (discrete value)

   - 이메일이 도착했을 때 스펨 메일인지 아닌지 구분, 환자의 종양 크기에 따라 악성 종양인지, 아닌지 판단하는 것


 2. Regression : 회귀 (추상, 트렌드, 경향)

   - Regression은 continuous value 를 예측하는 것입니다.

   - 집의 평수에 따라 가격을 예측, 수 많은 제품들을 3달 안에 판매할 수 있는지 예측




Unsupervised Learning



자율학습이란, 대상에 대한 어떤 정보도 주어지지 않은 상태(labeling 되지 않은 데이터)에서 예측하는 방법입니다.


 1. Clustering : 군집화

   - Google News 에서 비슷한 주제의 기사를 모아서 보여주는 것

   - 유전자 나열을 통해 사람이 몇 명 있는지 구분하는 것

 2. Cocktail party problem (Audio processing)

   - 잡음이 많은 칵테일 파티에서 녹음된 다양한 소리 중에서 한 사람의 목소리만 추출해 주는 문제

   - 파장의 높낮이를 구분해서 서로 다른 주체라는 것을 기계가 파악함




Model and Cost Function


가장 먼저 나오는 모델은 Linear Regression 입니다.

먼저 개념을 잡아보면, 주어진 Training Set을 통해 Cost Function을 구하는 문제라고 볼 수 있습니다.

Hypothesis란, 함수와 비슷한 개념 (매핑, 예측)입니다.

Hypothesis h는 다음과 같이 계산할 수 있습니다.



여기에서 h(theta)는 결과 값, theta는 가중치를 의미하며,

예측 값 - 실제 값 = 0 이면 완벽한 모델링입니다.

그래서 기울기 계산(미분 값)을 통해 계속 0으로 가까워지도록 해야 합니다.

아이디어는 theta0과 theta1을 조절하여 h(theta)가 함수 (x,y)에서 실제 결과 값인 y에 가까워져야 하는 것입니다.

Linear Regression의 Cost Function 또는 Squred Error Function J의 계산은 다음과 같습니다.



위의 수식에서 왜 제곱을 할까? 절대값을 씌워도 되지 않나? 라는 의문이 생김


위의 수식에서 파라메터(input)는 theta0, theta1입니다.

이제 J를 최소화하는 방법을 알아보기 위해서 파라메터가 1개인 경우부터 살펴보겠습니다.


h_theta(x)와 J(theta_1)의 그래프를 그려보면 1차 함수와 2차 함수 그래프가 나타납니다.

2개의 파라메터로 그래프를 그린다면, 3차원 그래프로 표현됩니다.

그리고 이를 평면에 나타낸다면 등고선의 형태(contour plot)로 표현할 수 있습니다.





Comments