일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 Challenge
- 책
- 소프트맥스 함수
- AdaGrad
- HTML
- 역전파
- 백준
- Apache2
- C언어
- 우분투
- PICO CTF
- sgd
- 딥러닝
- FastAPI
- CTF
- 기울기
- 신경망 학습
- PHP
- flag
- 리뷰
- 파이썬
- 설치
- 순전파
- 코딩
- Python
- picoCTF
- 아파치
- PostgreSQL
- 오차역전파법
- 신경망
- Today
- Total
목록그래프 (2)
Story of CowHacker
이번 글에서는 경사 법에 대해 알아보겠다. 머신러닝 문제 대부분은 학습 단계에서 최적의 매개변수를 찾아낸다. 딥러닝 즉, 신경망 역시 최적의 매개변수를 학습 시에 찾아야 한다. 여기서 최적이란 손실 함수가 최솟값이 될 때의 매개변수 값이다. 경사 법이란 기울기를 이용해 함수의 최솟값을 찾으려는 것이다. 경사 법을 수식으로 나타내 보겠다. 그림 1이 바로 경사 법을 수식으로 나타낸 것이다. 수식에서 η ( 에타 )는 갱신하는 양을 나타낸다. 이를 신경망 학습에서는 학습률이라 한다. 학습률이란 한 번의 학습으로 얼마만큼 학습해야 할지, 즉 매개변수 값을 얼마나 경신하냐를 결정하는 것이다. 이제 경사 법을 파이썬으로 구현해보겠다. 경사 법 코드 def gradient_descent ( f, init_x, lr..
이번 글에서는 먼저 미분에 대해 알아볼 것이다. 미분 : 특정 순간의 변화량을 뜻한다. 그림 1은 미분을 수식으로 나타낸 것이다. 좌변은 x에 대한 f ( x )의 변화량을 나타내는 기호다. 결국, x의 작은 변화가 함수 f ( x )를 얼마나 변화시키느냐를 의미한다. 이때 시간을 뜻하는 h를 한없이 0에 가깝게 한다는 의미로 lim h->0로 나타낸다. 이제 위 미분을 파이썬으로 구현해보겠다. 미분 코드 def numerical_diff ( f, x ) : h = 1e-4 return ( f ( x + h ) - f ( x - h ) ) / ( 2 * h ) 함수 이름은 수치 미분을 뜻한다. 이 함수는 함수 f와 함수 f에 넘길 인수 x라는 두 인수를 받는 원리다. 그럼 이제 위 함수를 사용해 간단한 ..