Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 라이브러리란?
- 카카오 코딩테스트
- 파이썬 프로그래머스
- 카카오 파이썬
- 프로그래머스 레벨3
- 부스트캠프
- docker시작하기
- 부스트캠프AITech
- level1
- 카카오코딩테스트
- 파이썬
- Cannot connect to the Docker daemon at unix
- 부스트캠프 회고
- 도커오류
- 부캠
- 양과늑대
- 프레임워크란?
- 도커연결오류
- 프로그래머스 양과늑대
- 프로그래머스 파이썬
- 카카오코테
- 프로그래머스 레벨2
- 프로그래머스LEVEL1
- 파이썬 재귀함수
- 파이썬 카카오코딩테스트
- 프로그래머스 레벨1
- 프로그래머스
- 파이썬 양과늑대
- 코딩테스트
- 네이버 부스트캠프
Archives
- Today
- Total
코린이의 공부일기
[Boost Camp] 1WEEK. 3Days-2 경사하강법 본문
부스트코스 AI Tech강의 중 AI Math 3강 ~5강까지의 정리본입니다.
1. 미분이란?
- 미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법이다.
- sympy.diff를 갖고 미분을 계산해줄 수 있다.
import sympy as sym
from sympy.abc import x
print(sym.diff(sym.poly(x**2 + 2*x+3),x))
#출력
Poly(2*x + 2, x, domain='ZZ')
- 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가하는지/감소하는지 알 수 있다.
- 미분값을 더하면 경상상승법(gradient ascent)이라 하며 함수의 극대값의 위치를 구할 때 사용한다.
- 미분값을 빼면 경사하강법(gradient descent)이라 하며 함수의 극소값의 위치를 구할 때 사용한다.
- 극 값에 도달한다면 미분값은 0이 되므로 움직임을 멈춘다.-> 최적화가 자동으로 이루어짐
2. 경사하강법의 알고리즘
- 극대값이 0이 완벽히 될 수 없으므로 eps값을 지정해 종료조건을 설정해준다.
- 종료조건이 성립하기 전까지 미분값을 계속 업데이트한다.
3.경사가 벡터라면?
- 미분(differentiation)은 변수의 움직임에 따른 함숫값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법이다.
- 벡터가 입력된 다변수 함수의 경우 편미분(partial differentiation)을 사용한다.
- 편미분은 미분할 변수를 지정해주며 편미분을 계산해줄 수 있다.
4.경사하강법으로 선형회귀 계수 구하기
- 목적식인 L2-norm 을 최소화하도록 하는 β을 찾는 것이 목적 !
- 목적식을 최소화하는 β을 구하는 경사하강법 알고리즘은 다음과 같다.
5.경사하강법은 만능일까?
- 이론적으로 경사하강법은 미분가능하며 볼록한 함수에 대해 적절한 학습률과 학습횟수로 선택했을 때 수렴이 수학적으로 보장되어있다.
- 비선형회귀 문제의 경우 목적식이 볼록하지 않을 수 있으므로 수렴이 항상 보장되진 않는다.
6. 확률적 경사하강법- SGD (Stochastic Gradient Descent)
- SGD는 모든데이터를 사용해서 업데이트를 하는 대신 데이터 한개 또는 일부만을 활용해 업데이트합니다.
- 볼록이아닌(non-convex)목적식은 SGD을 통해 최적화할 수 있다.
- 경사하강법보다 시간효율성이 좋다.
7.비선형모델의 신경망(neural network)
- 어떠한 하나의 클래스를 분류할 때 사용하는 softmax도 비선형모델 신경망 중 하나이다.
8. 활성함수(activation function)
- 신경망은 선형모델과 활성함수를 합성한 함수이다.
- 활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없다.
- sigmoid함수나 tanh함수는 전통적으로 많이 쓰이던 활성함수지만 딥러닝에선 ReLU함수를 많이 사용하고 있다.
- 신경망은 선형모델과 활성함수를 합성한 함수이다.
- 다층(multi-layer) 퍼셉트론(MLP)는 신경망이 여러층 합성된 함수이다.
9.딥러닝의 학습원리- 역전파 알고리즘
- 딥러닝은 역전파(backpropagation)알고리즘을 이용하여 각 층에 사용된 파라미터 (W,b)을 학습한다.
- 각층에서 계산된 gradient을 역순으로 고층->저층으로 전달
- 역전파 알고리즘은 합성함수 미분법인 연쇄법칙 기반 자동미분을 사용합니다
'BOOST CAMP_정리' 카테고리의 다른 글
[Boost Camp] 1WEEK.5Days -RNN (0) | 2021.08.09 |
---|---|
[Boost Camp] 1WEEK.4Days CNN의 기본 (0) | 2021.08.09 |
[Boost Camp]1WEEK. 4Days-1 확률론의 기초 (0) | 2021.08.08 |
[Boost Camp] 1WEEK . 3Days- 1. 벡터의 기초 (0) | 2021.08.08 |
[Boost Camp] 1 WEEK . Days- Numpy의 기초 (0) | 2021.08.08 |
Comments