Machine Learning #1 – Andrew Ng

이 글은 Coursera에서 Andrew Ng의 Machine Learning 강의를 듣고 요약한 것입니다.
강의를 들으신분들이 Remind할 때, 기계학습에 대한 지식이 있지만 개론적인 내용을 다시 듣고 싶을 때 좋은 자료라고 생각합니다.


 

Introduction

기계 학습의 종류
  • Supervised Learning (통제된 학습)
    주어진 해답(Right Answers given)을 기반으로 추론하는 것

    • Regression
      Predict continuous valued output (회귀분석 : 연속된 값을 가지는 결과를 추론하는 것)
      ex) 집의 평수에 따른 가격 예측
    • Classification
      Discrete valued output (0 or 1 같이 딱 떨어지는 결과를 가지는 것)
      ex) 종양 크기에 따라 암이 악성인지 양성(yes or no)인지 구분하는 것, Type 1/Type 2/Type 3 Cancer의 구분
  • Unsupervised Learning (통제되지 않은 학습)
    성격이 특정 되어있지 않은 데이터를 기반으로 추론

    • Clustering
      비슷한 것 끼리 모으기
      ex) 뉴스 클러스터링 (같은주제 찾기), 컴퓨터 서버 클러스터 구성, SNS 분석, 마켓 세그멘테이션 분석, 천문자료 분석
    • Cocktail party problem
      두 개의 음성이 한 마이크에 함께 녹음 되었을 때 각각을 추출해 내는 문제
      일반적인 C++, Java 코드로 짜면 매우 복잡하나, Octave라는 Matlab의 Opensource 버전을 사용하면 한 줄로 해결이 가능하다.
Cocktail party problem 알고리즘의 예)

[W,s,v] = svd((repmat(sum(x.*x,1), size(x,1),1).*x)*x’);

SVD : singular value decomposition
처음엔 Octave로 알고리즘을 고안한 뒤에 실무 적용시에 Java 같은 기성언어로 다시 짜는 방법이 훨씬 쉽다.

Linear Regression with One Variable

표현방식
Training set : 잠재적으로 예상되는 관계를 찾기 위해 필요한 Data Set
m : Training set의 개수
x : features. 입력 변수
y : target variable. 목표가 되는 변수
x(i), y(i) : Training set의 i 번째 값. 제곱이 아니라는걸 보여주기 위해서 괄호로 쌌다.
Training set -> Learning Algorithm -> Making Hypothesis Function.
데이터 셋을 통해서 알고리즘을 배우고, hypothesis를 찾아낸다.
그 hypothesis function (h)에 x를 입력하여 예상되는 y를 알아낸다.

Linear Regression

Image (1차 함수)
목표는 예상되는 h(x)와 Training set의 차이를 Minimize(최소화) 시키는 것이다.
최소화 시키는 함수를 Cost Function 이라고 한다.
Cost Function의 해는 x가 아니라 2 이다.
3
y는 Training set의 y. h는 hypothesis의 y
둘의 차를 제곱하면 모든 등호가 양으로 바뀔 것이고, 모두 더한 다음 평균을 내면 m의 개수에 영향을 받지 않게 된다.

Simplified Cost Function

4
 5
Cost function의 해는  6 한 개 뿐이다.
이런 경우 Cost Function J의 최적해 그래프는 2차 함수 형태를 띄게 된다. (6를 제곱하게 되므로)

Linear Regression Again

다시,  2 두 개의 해를 갖는 cost function으로 돌아가면,
최적해 그래프가 4차 함수 형태를 띄게 되는데, 3차원 포물선 그래프를 띄게된다.
포맷변환_7
이런 그래프는 표현하기가 어려워서 잘 쓰지 않고, 대신에 contour plots (등고선)라는 그래프를 쓰게 된다.
포맷변환_8