Lecture 2 "Supervised Learning Setup Continued" -Cornell CS4780 SP17

Lecture 2 "Supervised Learning Setup Continued"

by Cornell CS4780, Machine Learning for Decision Making SP17

* 부족한 영어 실력으로 잘못된 해석이 있을 수 있습니다. 수정이 필요한 부분이 있다면 알려주시면 감사하겠습니다.

개요

  1. Supervised Learning Setup ( continue )
  2. Train and Test
  3. H ( hypothesis class ) and Algorithm
  4. TA ( Terrible Algorithm ) Cases
  5. Loss Function
  6. Generalization

1. Supervised Learning Setup ( continue )

(x៷,y៷) ~ P

  • 우리는 P(y|x)를 모르며, 그래서 ML을 통해 알고자 하는 것입니다.
  • 동일 분포를 가지는 환경에서 수행이 되어야 한다고 강조하고 있습니다. ( IID 참고 )
  • 노키아 사례를 통해 "동일 분포" 구성이 얼마나 중요한지 알수 있습니다.
    • 사진 촬영시 얼굴인식을 통한 부가기능을 제공함.
    • 얼굴 인식시 사용한 데이터가 "백인"이 아니였음.
    • 미국 유저들에게서 "얼굴인식"이 잘 되지 않는 문제 발생.

Example : Facial Recognize in Image

  • 각 pixel 은 RGB( Red / Green / Blue ) 의 데이터로 구성됨
  • 1장의 Image는 화소에 따라, 6M 개의 pixel 을 가짐
  • 1장의 Image를 x = { ... } 로 표현한다면,
    6M * 3 (RGB) = 18M 의 실수형 데이터 조합으로 표현가능

Dense / Sparse

  • Dense : 전체 공간에 데이터가 빽빽하게 차 있는 경우 ( 극히 일부 데이터가 0 )
  • Sparse : 전체 공간에 비해 데이터가 희소한 경우 ( 대부분의 데이터가 0 )
  • ML 시 데이터 처리를 위한 부분에서 중요한 포인트로 활용될 수 있습니다.
    • Memory 관리 측면

2. Train and Test

  • Train
    • Feature( x ) + Label ( y ) 을 통해 ML Algorithm을 학습 ---> 학습된 모델(h)가 생성됨
  • Test
    • 학습된 모델(h)와 Feature( x' ) 를 이용하여 처리 --> 예측된 y 가 생성됨 ( =h(x) )
    • 학습이 잘 되었다면, h(x) 값은 Label y에 근사할것이라고 기대
  • Memorized 문제를 피하기 위해서는, DataSet을 Train과 Test로 분할하는게 좋습니다
  • 이때, Train 과 Test 의 분산은 동일해야 합니다.

3. H ( hypothesis class ) and Algorithm 


H ( hypothesis class ) 는 가설을 표현하는 다양한 알고리즘들의 집합체를 의미하며,
우리는 그중에서 가장 좋은 품질을 가지는 알고리즘 h를 찾는 일을 하게 됩니다.

다양한 알고리즘에는 아래와 같은 것들이 있습니다.

  • Decision Tree
  • Linear Classifier
  • Artificial Neural Nets
  • Support Vector Machines
  • ...
"특정 알고리즘이 최고로 좋다"보다는 "어떤 문제, 혹은 어떤 데이터를 가지고 있느냐"에 따라서
최적의 알고리즘은 달라질 수 있습니다.
일부는 수동으로 혹은 일부는 자동으로 최적의 h 를 찾는 일을 진행합니다.

4. TA( Terrible Algorithm ) Cases

  1. Pick h ∈ H Randomly
    • 무작위로 h 를 선택했을 때, 이 h가 최적이라고 말할 수 있는가? 에 대한 내용입니다
  2. H 내 모든 알고리즘들을 다 돌려서 최고의 h 를 선택하는 방식
    • 사실 유한한 자원을 가지고는 불가능한 방식
  3. h(x) = y៷ 에서  x = x៷, ( x៷, y៷) ∈ D  , Memorization 문제
    • 학습시 이미 사용한 데이터를 h의 input으로 사용하였기 때문에,
      loss function이 낮게 나올수 밖에 없는 상황입니다.
    • Train 시 사용하는 영역과 Test 에 사용하는 영역을 분리해서 관리해야 합니다.
  4. 기타
    • 군용 오토바이와 민간 오토바이 분류 문제
      • 처음에는 군용과 민간을 잘 분류하였음. 그런데 몇일 지나고 나서 정상동작하지 않음
      • 이유는 데이터의 문제 ( 군용은 낮에, 민간은 저녁에 찍은 사진을 사용 함 )
      • 해서 밝은 색은 군용, 어두운 색은 민간용으로 분류를 하고 있었음

5. Loss Function 


Loss Function은 H 내 선택한 h 가 얼마 잘 동작하는지를 측정할 수 있는 함수를 말합니다.
기본적으로 값이 작을수록 좋은 성능이라고 할 수 있습니다.

  • 0/1 loss : ઠ[h(x) = y]
  • Squared loss : ( h(x) - y )^2
    • 특정 outlier 값으로 인하여, 전체 성능에 대한 평가 저하로 표현될수 있지 않나?
      그럴수 있습니다.
      보통 많은 수의 작은 차이보다는 큰 차이를 보이는 포인트에 더 민감하게 반응하게 만들기 위해 이용됩니다.
  • Absolute loss : | h(x) - y |
특정 loss function 이 좋다기 보다는 내가 가지고 있는 데이터나 어떤 기준으로 성능을 측정할 것인지에 따라 loss function을 선택하면 됩니다.

6. Generalization


  • 기대값이 작아야 합니다.
  • 구성
    • E : Expectation value ( 기대값 )
    • l : loss function
    • h : hypothesis 
    • P : same distribute








댓글

이 블로그의 인기 게시물

JTDS&Mabatis 에서 MSSQL NVARCHAR 처리

"구글이 목표를 달성하는 방식 OKR" - 독서 후기