달력

05

« 2018/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  

'머신러닝실전'에 해당되는 글 1

  1. 2018.01.19 [정리] 모두를 위한 딥러닝 07 - 실전 연습 및 팁 by 김성훈

[정리] 모두를 위한 딥러닝 07 - 실전 연습 및 팁  by 김성훈 


강의 웹사이트 : http://hunkim.github.io/ml/

Lec = 강의 / Lab = 실습


러닝 레이트 learning rate 가 너무 크면 아래와 같이 예측값이 안드로메다로 간다...


반대로 러닝 레이트 learning rate 가 너무 작으면 좋은 예측을 못하거나 엄청 오래걸린다. 


2차 함수를 3차원처럼 등고선으로 나타낼 수도 있다.

만약 x1, x2 두 값이 입력값인데, 차이가 너무 크다면 납작한 원이 될 수 있다.

이렇게 되면 선처리를 해야 한다.


이렇게 넓은 범위를 포함하고 있는 입력값이 있다면 이를 적절한 범위로 만드는 선처리 작업이 필요하다.

그게 프리 프로세싱. 노말라이제이션. 정규화.


정규화를 위한 많은 알고리즘이 있지만 유명한 스탠다디제이션.

코드를 보니 파이썬에서 구현할때에는 좀 쉬워보인다.


다음에는 오버피팅.

빨간 네모가 예측해야 하는 값이라면 이게 - 마이너스일까 + 플러스일까.

왼쪽 그래프로 본다면 - 마이너스가 되지만 (적절한 학습), 오른쪽 그래프로 보면 + 플러스가 된다.

- 마이너스가 맞는 값인데, 너무 정확하게 학습하면 + 플러스로 잘못 예측하게 된다.

이게 오버피팅이다. 

너무 구부리지 말자.

어떻게?

많은 트레이닝 셋. (데이터가 많아야 한다)

너무 큰 값, 동떨어진 값, 특정값은 줄여야 한다.

일반화를 시켜야 한다.


이를 파이썬으로 구현하면 아주 쉽다.

square 함수를 사용하면 된다.


그래서 트레이닝 세트가 (기반 데이터가) 많으면 일부를 따로 뺀다.

그 데이터는 트레이닝을 하지 않고 모의 테스트를 진행한다.






Posted by 멋지다마라송


티스토리 툴바