일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DFS
- 프로그래밍
- OS
- 순열
- 알고리즘
- 백준
- google coding competition
- AI
- 그래프
- 코딩테스트
- 동적 프로그래밍
- 브루트포스
- kick start
- BFS
- 코딩
- 리눅스
- 네트워크
- CSS
- 코딩 테스트
- linux
- 운영체제
- nlp
- 동적프로그래밍
- PYTHON
- 구글 킥스타트
- dp
- 딥러닝
- 파이썬
- 프로그래머스
- 킥스타트
- Today
- Total
목록분류 전체보기 (312)
오뚝이개발자
매개변수 갱신 신경망 학습의 목적은 손실함수의 값을 최대한 낮추는 매개변수를 찾는 것이었다. 이는 바로 최적의 매개변수를 찾는 최적화 문제이다. 앞 장에서 다루었던 매개변수의 기울기(미분)를 이용해 갱신하는 방식을 확률적 경사 하강법(SGD)라 한다. 최적화 방법에는 SGD말고도 모멘텀, AdaGrad, Adam 이라는 다른 방법들이 존재한다. (아래의 코드는 SGD를 구현한 것.) class SGD: def __init__(self, lr=0.01): self.lr = lr def update(self, params, grads): for key in params.keys(): params[key] -= self.lr * grads[key] GD와 SGD의 차이에 대해 조금 더 정확히 말하자면, SGD..
파이썬의 numpy 모듈에서 머신러닝을 할 때 자주 사용하는 것으로 np.random이 있다. 이 중 자주 사용하는 4가지에 대해서 정리해보려고 한다. numpy모듈은 다음과 같이 import 한다. import numpy as np np.random.choice() 주어진 1차원 배열에서 임의의 샘플을 생성한다. import numpy as np a = np.random.choice(5, 3) print(a) b = np.random.choice(10, (2, 3)) print(b) c = np.random.choice([0, 3, 5, 7], 3) [4 0 2] [[0 2 1] [4 7 2]] a는 np.arange(5)에서 3개의 샘플을 뽑아 만든 1차원 배열이고, b는 np.arange(10)에서..
오차역전파법(backpropagation) 이전까진 신경망의 학습에서 가중치 매개변수의 기울기를 수치미분을 사용해 구했다. 수치미분은 단순해서 구현이 쉽지만 계산이 오래 걸린다는 단점이 있다. 오차역전파법은 이러한 단점을 개선해 가중치 매개변수의 기울기를 효율적으로 계산하도록 도와준다. 오차 역전파법을 이해하기 위해 먼저 그래프로 나타낸 계산 그래프를 살펴보자. 계산 그래프 문제 : 슈퍼에서 사과 2개, 귤 3개를 샀다. 사과와 귤을 개당 100원, 150원이다. 소비세가 10%일 때 지불금액은? 위의 문제를 계산 그래프로 나타내보면 아래와 같다. 위의 계산그래프의 흐름은 왼쪽에서 오른쪽이다. 이러한 방향의 진행을 순전파(forward propagation), 반대 방향의 진행을 역전파(backward ..
손실함수란? 신경망이 최적의 매개변수를 탐색해 학습할 수 있도록 해주는 지표 데이터 주도 학습 기계학습은 데이터가 생명이다. 데이터에서 답을 찾고, 특징을 추출해 패턴을 발견하는 방식. 신경망의 이점 모든 문제를 같은 맥락에서 풀 수 있다. EX) 손글씨로부터 숫자 5를 인식하는 문제, '개'를 인식하는 문제 등. Training data, Test data training data : 최적의 매개변수를 찾기 위한 '학습'에 이용 test data : 학습한 모델의 '평가'에 이용 두 개를 나누는 이유 : 범용능력을 제대로 평가하기 위해 범용능력이란? 아직 보지 못한 데이터로도 문제를 올바르게 풀어내는 능력으로 기계학습의 최종 목표 손실함수 예시 1. 평균제곱오차(Mean Square Error, MSE..
nohup으로 백그라운드 프로세스 실행 nohup을 이용하여 터미널이 종료되어도 프로세스가 실행되도록 할 수 있다. python이나 R도 실행할 수 있다. &는 백그라운드로 돌린다는 뜻! ex) nohup python execute.py & ex) nohup Rscript statistics.R & nohup 종료방법 1. “ps -ef | grep 쉘스크립트파일명” 명령으로 PID를 확인 ex) ps -ef | grep test.py 2. "kill -9 PID번호“ 명령으로 해당 프로세스 종료
신경망이 퍼셉트론과 다른 점 퍼셉트론에선 가중치 매개변수의 값을 사람이 직접 입력해주었지만 신경망에선 학습을 통해 가중치 매개변수의 값을 데이터로부터 자동으로 학습 신경망의 구조 편향을 명시한 신경망 편향(bias)의 입력신호는 항상 1이다. 활성화 함수(activation function)의 등장 활성화 함수는 입력신호의 총합이 활성화를 일으키는지를 결정하며 퍼셉트론에서 신경망으로 가는 열쇠이다. 위의 그림과 아래의 그림을 비교해보면 다음층으로 가기전 입력신호의 총합이 h()라는 함수를 거쳐가는 것을 알 수 있다. 이것이 활성화 함수이다. 이를 수식으로 나타내보면 다음과 같다. (이 예시에서는 활성화함수를 step function이라 가정함.) 활성화 함수의 종류 1. 계단함수(step function..
리눅스 환경에서 프로그램을 돌리다보면 에러 메시지가 뜨지 않고 killed라는 글자만 쓰여있는 경우가 있다. 이 때는 다음과 같이 커맨드에 입력해주면 process가 강제종료된 원인을 알 수 있다. 대부분은 out of memory문제일 것이다. dmesg | grep -E -i -B100 'killed process'
'딥 워크'란 저자가 말하는 메타능력과 같은 것인데, 엄청난 집중력으로 인해 초인적인 힘을 발휘해내는 인간의 능력이다. 우선 책을 읽으며 내가 대학교 시절 공부하며 갖게 된 생각과 저자의 생각이 굉장히 비슷하다고 느꼈다. 전역 후 복학해서 다닌 첫 학기에 나는 공백기를 메우기 위해 무진장 많은 시간을 공부에 할애했다. 결과가 나쁘지는 않았지만 생각만큼 높게 나오지 않았던 학점에 조금 실망했었다. 다음 학기부터는 공부하는 시간보다 같은 시간에 얼마나 밀도있게 공부하였는가에 집중해 하다 보니 시간을 더 적게 들이고도 더 높은 점수를 받을 수 있었다. 그 때부터 나는 '집중'이라는 능력의 힘이 굉장하다는 것을 처음 느꼈다. 저자는 MIT에서 박사학위를 위해 공부하며 시간을 효율적으로 사용하며, 생산성을 증대시..