일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- JanusGateway
- 달인막창
- table not found
- 코루틴 컨텍스트
- preemption #
- PytestPluginManager
- VARCHAR (1)
- 자원부족
- 개성국밥
- mp4fpsmod
- JanusWebRTCGateway
- Value too long for column
- terminal
- pytest
- Spring Batch
- kotlin
- 오블완
- PersistenceContext
- addhooks
- taint
- 깡돼후
- vfr video
- 코루틴 빌더
- 티스토리챌린지
- JanusWebRTCServer
- JanusWebRTC
- tolerated
- 겨울 부산
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
너와 나의 스토리
[Machine Learning - google developers] 손실 줄이기 본문
[Machine Learning - google developers] 손실 줄이기
노는게제일좋아! 2019. 7. 19. 11:39Step3 - 손실 줄이기
● 반복 방식
에서 b와 w1에 적절한 값을 넣어보면서 손실 계산하는 과정 반복
* 손실 계산 -> 손실 함수(제급 손실 함수) 사용
● 경사 하강법
매개변수 업데이트를 어떻게 할까 -> 경사하강법
회귀 문제에서 손실과 w1을 대응한 도표는 항상 볼록 함수 모양을 할 것이다.
볼록 문제에서 기울기가 정확하게 0인 지점인 최소값이 하나만 존재한다.
이 최소값에서 손실 하수가 수렴한다.
- 경사하강법
1. w1에 대한 시작 값 선택 ( 손실 곡선 중에서 한 점 선택 )
2. 그 점에서 손실 곡선의 기울기를 계산
ㄴ 어느 방향이 더 정확한지를 알 수 있음
ㄴ 기울기는 [방향, 크기]를 가짐
ㄴ 기울기는 항상 손실 함수 값이 가장 크게 증가하는 방향을 향한다 -> 즉, 기울기의 반대 방향으로 이동해야 한다.
3. 시작점에 기울기의 크기의 일부를 더해서 다음 지점을 선택한다.
4. 이 과정을 반복해 최소값에 점점 접근한다.
● 학습률
경사하강법 알고리즘은 기울기에 학습률 또는 보폭이라 불리는 스칼라를 곱하여 다음 지점을 결정한다.
- 학습률이 너무 작으면 -> 학습 시간이 너무 오래 걸림
학습률이 너무 크면 -> 곡선의 최저점을 이탈할 우려가 있음 (수렴이 안될 수 있음)
- 골디락스 학습률
: 손실 함수가 얼마나 평탄한가
손실 함수의 기울기가 작다면 더 큰 학습률 시도
작은 기울기를 보완하고 더 큰 보폭을 만들어 낼 수 있다.
● 확률적 경사하강법
경사하강법에서의 배치: 단일 반복에서 기울기를 계산하는 데 사용하는 예의 총 개수
(gradient descent의 각 단계마다 모든 training examples을 사용하는 것)
- 배치가 너무 커지면 단일 반복으로도 계산하는 데 오랜 시간이 걸릴 수 있다.
-> 데이터 세트에서 예를 무작위로 선택하면 훨씬 적은 데이터 세트로 중요한 평균값을 추정할 수 있다.
(노이즈는 있겠지만)
- 확률적 경사하강법(SGD)
반복당 하나의 예(배치 크기 1)만을 사용한다.
반복이 충분하다면 SGD가 효과는 있지만 노이즈가 매우 심하다
* Stochastic: 확률적
- 미니 배치 확률적 경사하강법(Mini batch SGD)
: 전체 배치 반복과 SGD 간의 절충안
일반적으로 무작위로 선택한 10개에서 1000개 사이의 예로 구성됨
'Data Analysis > Machine learning' 카테고리의 다른 글
RNN의 변형 - LSTM(Long Short Term Memory) (0) | 2019.07.24 |
---|---|
time series data 다루기 - kaggle 실습 / pandas 함수 정리 (0) | 2019.07.22 |
[Machine Learning - google developers] ML로 전환하기 - 선형 회귀 / 학습 및 손실 (0) | 2019.07.19 |
GBM(Gradient Boosting) (0) | 2019.07.18 |
GP(Gaussian Process regression) (0) | 2019.07.17 |