일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- DFS
- 동적프로그래밍
- kick start
- 코딩
- 백준
- linux
- 알고리즘
- 그래프
- 파이썬
- 순열
- 리눅스
- OS
- 운영체제
- dp
- google coding competition
- nlp
- CSS
- 딥러닝
- AI
- 동적 프로그래밍
- 브루트포스
- 구글 킥스타트
- 킥스타트
- 코딩테스트
- 코딩 테스트
- BFS
- 네트워크
- PYTHON
- 프로그래밍
- Today
- Total
목록신경망 (5)
오뚝이개발자
우리가 일반적으로 모델을 설계하고 평가할 때 overfitting이 발생하면 좋지 않은 것으로 인식하곤 한다. 하지만 이러한 overfitting이 마냥 나쁘기만 할까? overfitting이 가져다 줄 수 있는 이점은 없는걸까? 사실 답은 NO이다. 우리가 overfitting으로부터 얻을 수 있는 insight도 있다. 어떠한 이점들이 있을까? 우리가 어떠한 문제를 해결해보고자 모델을 설계했다고 가정해보자. 그런데 안타깝게도 학습 결과 해당 모델이 과적합을 일으킨다. 하지만 좌절할 필요는 없다. 일단 오버피팅이 일어났다는 것은 말그대로 '학습' 자체는 잘 이루어졌다는 점을 생각해볼 수 있다. 여기에 착안한다면 '처음으로' 설계해 '처음으로' 학습을 한 모델이 오버피팅을 발생시켰다면 우린 아래와 같은 ..

매개변수 갱신 신경망 학습의 목적은 손실함수의 값을 최대한 낮추는 매개변수를 찾는 것이었다. 이는 바로 최적의 매개변수를 찾는 최적화 문제이다. 앞 장에서 다루었던 매개변수의 기울기(미분)를 이용해 갱신하는 방식을 확률적 경사 하강법(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..

오차역전파법(backpropagation) 이전까진 신경망의 학습에서 가중치 매개변수의 기울기를 수치미분을 사용해 구했다. 수치미분은 단순해서 구현이 쉽지만 계산이 오래 걸린다는 단점이 있다. 오차역전파법은 이러한 단점을 개선해 가중치 매개변수의 기울기를 효율적으로 계산하도록 도와준다. 오차 역전파법을 이해하기 위해 먼저 그래프로 나타낸 계산 그래프를 살펴보자. 계산 그래프 문제 : 슈퍼에서 사과 2개, 귤 3개를 샀다. 사과와 귤을 개당 100원, 150원이다. 소비세가 10%일 때 지불금액은? 위의 문제를 계산 그래프로 나타내보면 아래와 같다. 위의 계산그래프의 흐름은 왼쪽에서 오른쪽이다. 이러한 방향의 진행을 순전파(forward propagation), 반대 방향의 진행을 역전파(backward ..

손실함수란? 신경망이 최적의 매개변수를 탐색해 학습할 수 있도록 해주는 지표 데이터 주도 학습 기계학습은 데이터가 생명이다. 데이터에서 답을 찾고, 특징을 추출해 패턴을 발견하는 방식. 신경망의 이점 모든 문제를 같은 맥락에서 풀 수 있다. EX) 손글씨로부터 숫자 5를 인식하는 문제, '개'를 인식하는 문제 등. Training data, Test data training data : 최적의 매개변수를 찾기 위한 '학습'에 이용 test data : 학습한 모델의 '평가'에 이용 두 개를 나누는 이유 : 범용능력을 제대로 평가하기 위해 범용능력이란? 아직 보지 못한 데이터로도 문제를 올바르게 풀어내는 능력으로 기계학습의 최종 목표 손실함수 예시 1. 평균제곱오차(Mean Square Error, MSE..

신경망이 퍼셉트론과 다른 점 퍼셉트론에선 가중치 매개변수의 값을 사람이 직접 입력해주었지만 신경망에선 학습을 통해 가중치 매개변수의 값을 데이터로부터 자동으로 학습 신경망의 구조 편향을 명시한 신경망 편향(bias)의 입력신호는 항상 1이다. 활성화 함수(activation function)의 등장 활성화 함수는 입력신호의 총합이 활성화를 일으키는지를 결정하며 퍼셉트론에서 신경망으로 가는 열쇠이다. 위의 그림과 아래의 그림을 비교해보면 다음층으로 가기전 입력신호의 총합이 h()라는 함수를 거쳐가는 것을 알 수 있다. 이것이 활성화 함수이다. 이를 수식으로 나타내보면 다음과 같다. (이 예시에서는 활성화함수를 step function이라 가정함.) 활성화 함수의 종류 1. 계단함수(step function..