본문 바로가기
기계학습/코세라 - 기계학습 (Andrew Ng)

week6

by tryotto 2019. 8. 14.

1. Deciding What to Try Next 

      - 버그가 발생했을때, 대처법 :

1) 더 많은 테스트 케이스를 갖고와서, 학습한다

2) 변수의 갯수를 줄인다/늘린다

3) 변수의 차수를 늘린다 (ex. x->x^2)

4) 람다값을 줄인다/늘린다 (?)



2. Evaluating a Hypothesis

      - 방법 : Training set 이랑 Test Set 을 따로 구분해서 평가를 한다

-> 보통, 주어진 예시의 70%를 Training set, 남은건 Test Set으로 할당해서 쓴다



3. 오버피팅 문제 해결 - Model Selection

      - 의의 : Training Set이랑 Test Set으로 구성하고 학습 시 

-> Training Set에서만 잘 작동하는 학습 모델이 형성될 수 있음


      - 해결 방식 : 주어진 Data 값들을 크게 세 부류로 나눈다 (Model Selection)

1) Training Set (60%)

2) Cross Validation Set (20%)

3) Test Error (20%)


      - 적용 순서 : ## 너무 어려워서 이해가 잘 안 됨. 복습 필요



4. Bias   vs.   High variance (1)

      - 개요 :

1) Bias : 변수가 너무 적은 경우 (?)

2) High Variance : 변수가 너무 많은 경우 (?)


      - Bias와 variance 구분하는 기준? -> Error값 기준, 함수 이용해야

1) Trainning error : 회를 거듭할수록 error값이 작아짐. 언더피팅

2) Cross Validation error (or test case error) : 회를 거듭할수록 오버피팅이 발생 -> 아래볼록 포물선 모양

 

      - 알고리즘의 효율이 낮다고 판단될 때 :

1) trainning error 도 높고, cross validation error도 높다? 

-> Bias (언더피팅)

2) trainning error 은 낮고, cross validation error은 높다? 

-> Variance (오버피팅)



5. Bias   vs.   High variance (2)

       - 오버피팅을 막기 위한 방법 : Regularization

- 이 때 도입되는 변수 = 람다

       1) 람다 값이 너무 작은 경우 : Regularization을 사실상 안 하는것 -> 오버피팅 발생 (Variance가 크다)

                    2) 람다 값이 너무 큰 경우 : 과한 Regularization -> 언더피팅 (Bias가 크다)

  -> 따라서, 적절한 크기의 람다값 설정이 필요함을 알 수 있다


** Regularization을 할 때, 전체 Cost Function에 대해서만 Regularize 해준다!!

   다른 값들, Test Case, Cross Validation, Training case 에 대한 Cost Function은 

   Regularize 해주는게 아니다!!


  - 람다값 선택 기준? :

      1) 여러 범위의 람다값들을 상정한다

      2) 각각의 람다값에 대해 최소의 Cost Function 값을 산출하는 변수를 구한다

        3) 구한 변수들을 모두 Cross Validation의 Cost Function에 넣는다

      4) 최소한의 Cost Function 값을 갖는 Cross Validation의 변수를, Test Case의 Cost Function에 넣는다


6. Learning Curves 

        - Trainning Set Size에 따라 :

1) Trainning Cost Function : Trainning Set Size 가 클수록 error 값이 커진다

2) Cross  Validation Cost Function : Trainning Set Size가 클수록 error값이 작아진다


        - High Bias 일 경우 (변수가 적을 경우) :

1) Trainning Cost Function : Trainning Set Size 가 클수록 error 값이 커진다

2) Cross  Validation Cost Function : Trainning Set Size가 클수록 error값이 작아진다

-> 이때, Error 값이 크다 (High error)


>> High Bias 일 경우, 더 많은 데이터를 갖고 오는 건 큰 효과가 없음을 알 수 있다


        - High Variance 일 경우 (변수가 많을 경우) :

1) Trainning Cost Function : Trainning Set Size 가 클수록 error 값이 커진다

-> 이떄, Error 값이 크다

2) Cross  Validation Cost Function : Trainning Set Size가 클수록 error값이 작아진다

-> 이떄, Error 값이 작다


>> High Variance 로 어려움을 겪고 있을 경우, 더 많은 Trainning Set을 가져올수록 도움이 된다



7. 응용 : 스팸 메시지 구별 학습

        - error 값을 줄인은 방법?

1) 많은 데이터를 적용한다

2) 고도화 된 이메일 주소/내용 신경망을 구축한다



'기계학습 > 코세라 - 기계학습 (Andrew Ng)' 카테고리의 다른 글

week8  (0) 2019.08.14
week7  (0) 2019.08.14
week5  (0) 2019.08.14
week4  (0) 2019.08.14
week3  (0) 2019.08.14