일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 분산 시스템
- Tensor
- pytorch
- 추천 시스템
- SGD
- 웹크롤링
- 백준
- 추천시스템
- 시각화
- 딥러닝
- Overfitting
- 코테
- selenium
- coursera
- 파이썬
- Cosine-similarity
- TF-IDF
- codingtest
- 데이터 엔지니어링
- 부스트캠프
- 프로그래머스
- recommendation system
- 데이터
- 머신러닝
- 협업 필터링
- 웹스크래핑
- 알고리즘
- wordcloud
- Python
- 코딩테스트
- Today
- Total
목록SGD (2)
개발자식

미분(differentiation) - 미분은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법이다. - 미분은 변화율의 극한으로 정의한다. - sympy.diff를 이용하여 미분을 컴퓨터로 계산할 수 있다. import sympy as sym from sympy.abc import X print(sym.diff(sym.poly(X**2 + 2*X + 3), X)) Output: Poly(2*X + 2, X, domain='ZZ') 미분의 활용 - 미분은 함수f의 주어진 점(x, f(x))에서의 접선의 기울기를 구한다. - 미분 조건 : 함수의 모양이 매끄러워야 한다. (연속) - 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가하는지..

배치 (Batch) : 한번에 여러개의 데이터를 묶어서 입력하는 것인데, GPU의 병렬 연산 기능을 최대한 효율적으로 사용하기 위해 쓰는 방법이다. - 데이터를 1개씩 입력받아 총 10만번의 연산을 진행하는 것보다 한번에 큰 묶음으로 데이터로 입력받아(Batch) n번의 연산을 진행하는 것이 더 빠르다. -> 느린 I/O를 통해 데이터를 읽는 횟수를 줄이고 CPU나 GPU로 순수계산을 하는 비율을 높여 속도를 빠르게 할 수 있다. - 수치 계산 라이브러리 대부분이 큰 배열을 효율적으로 처리할 수 있도록 고도로 최적화되어 있기 때문에 Batch로 데이터를 입력받아 학습시키는 것이 속도 측면에서도 효율적이다. Full-Batch Gradient Descent : 모든 Training data에 대해 Cost..