일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 딥러닝
- 파이썬
- PYTHON
- OS
- BFS
- dp
- google coding competition
- 알고리즘
- 코딩
- 순열
- DFS
- 프로그래밍
- AI
- kick start
- 운영체제
- 코딩 테스트
- 네트워크
- 동적 프로그래밍
- 코딩테스트
- 킥스타트
- CSS
- 브루트포스
- 그래프
- 리눅스
- 백준
- nlp
- linux
- 동적프로그래밍
- 구글 킥스타트
- 프로그래머스
- Today
- Total
목록deep learning (2)
오뚝이개발자
우리가 일반적으로 모델을 설계하고 평가할 때 overfitting이 발생하면 좋지 않은 것으로 인식하곤 한다. 하지만 이러한 overfitting이 마냥 나쁘기만 할까? overfitting이 가져다 줄 수 있는 이점은 없는걸까? 사실 답은 NO이다. 우리가 overfitting으로부터 얻을 수 있는 insight도 있다. 어떠한 이점들이 있을까? 우리가 어떠한 문제를 해결해보고자 모델을 설계했다고 가정해보자. 그런데 안타깝게도 학습 결과 해당 모델이 과적합을 일으킨다. 하지만 좌절할 필요는 없다. 일단 오버피팅이 일어났다는 것은 말그대로 '학습' 자체는 잘 이루어졌다는 점을 생각해볼 수 있다. 여기에 착안한다면 '처음으로' 설계해 '처음으로' 학습을 한 모델이 오버피팅을 발생시켰다면 우린 아래와 같은 ..
딥러닝 층을 구성할 때 행렬 계산이 어떻게 이루어지는지를 이해하는 것이 중요하다. 그래야 행과 열의 수를 잘 맞추어 계산을 할 수 있기 때문이다. 이 글에선 Keras를 사용한 코드에서 실제 행렬 연산이 어떻게 이루어지는지 그림으로 도식화하여 설명하고자 한다. 아래와 같은 간단한 딥러닝 모델을 구성하는 코드가 있다고 해보자. network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10, activation='softmax')) network.fit(train_images, train_labels, epochs=5, batch_size=128) keras의 Dense() 메서드 안의 수는 ..