머신러닝, 딥러닝 (14) 썸네일형 리스트형 미니 배치 학습 기계학습 문제는 훈련 데이터를 사용해 학습한다. 더 구체적으로 말하면 훈련 데이터에 대한 손실 함수의 값을 구하고, 그 값을 최대한 줄여주는 매개변수를 찾아낸다. 이렇게 하려면 모든 훈련 데이터에 대한 손실 함수를 구해야 한다. 극단적으로 훈련 데이터가 1억개라면, 손실함수의 연산을 1억번 해야한다는 것이다. 지금까지는 데이터 하나에 대한 손실 함수만 생각해봤으니, 이제 훈련 데이터 모두에 대한 손실 함수의 합을 구하는 방법을 생각해보자. 예를 들어 교차 엔트로피 오차는 아래의 식처럼 된다. 이 때 데이터가 N개라면, t_nk 는 n 번째 데이터의 k번째 값을 의미한다. ( y_nk는 신경망의 출력, t_nk는 정답 레이블 이다). 수식이 좀 복잡해 보이지만, 데이터 하나에 대한 손실 .. 교차 엔트로피 오차 ( Cross Entropy Error, CEE ) 손실 함수로서, 교차 엔트로피 오차 ( Cross Entropy Error , CEE ) 도 자주 이용한다. cee의 식 Y는 신경망의 출력, T는 정답 레이블이다. 또 T는 정답에 해당하는 인덱스의 원소만 1이고 나머지는 0이다( ONE-HOT ENCODING ) 그래서 위의 식은 실질적으로 정답일 때의 추정(T가 1일 때의 Y)의 자연로그를 계산하는 식이 된다. ( 정답이 아닌 나머지 모두는 T가 0이므로, log와 연산이 되어도 결과에 영향을 주지 않는다.) 즉, 교차 엔트로피 오차는 정답일 때의 출력이 전체 값을 정하게 된다. 자연로그 y= logx 의 그래프 이 그림에서 보듯이 x가 1일때는 y는 0이 되고, x가 0에 가까워질수록 y의 값은 점점 작아진다. 위의 식도 마찬가지.. tensorflow CNN (합성곱) 에서의 conv2d tf.nn.conv2d(x, W, strides=[1,1,1,1], padding='SAME') 합성곱 연산은, 이름 그대로 합성곱 신경망에서 계층이 연결되는 가장 기본적인 방법이다. 텐서플로에서 기본 제공되는 conv2d()함수를 사용한다. 여기의 x는 입력 이미지 또는 네트워크를 따라 이전 합성곱 계층들에서 얻어진 아래층의 특징 맵 데이터이다. 이전에 설명한 것처럼 일반적인 CNN 모델에서는 합성곱 계층을 층층이 쌓아 올리는데 Feature map은 일반적으로 이들 각 계층의 출력을 칭하는 말이다. 각 계층의 출력을 필터와 몇몇 연산을 적용한 결과인 "처리된 이미지"로 생각하는 것도 한 방법이다. 여기서 필터는 합성곱 필터를 나타내는 네트워크의 학습된 가중치인 W로 매개변수화된다. conv2d의 매개.. 손실 함수와 평균 제곱 오차 ( MSE ) 신경망 학습에서는 현재의 상태를 “ 하나의 지표 “로 표현한다. 그리고 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색하는 것이다. 신경망 학습에서 사용하는 지표는 “ 손실 함수 ( Loss function ) “ 라고 한다. 이 손실 함수는 임의의 함수를 사용할 수도 있지만, 일반적으로는 평균 제곱 오차와 교차 엔트로피 오차를 사용한다. NOTE_ 손실 함수는 신경망 성능의 ‘나쁨’을 나타내는 지표로, 현재의 신경망이 훈련 데이터를 얼마나 잘 처리하지 ‘못’히는를 나타낸다. ‘성능 나쁨’을 지표로 한다니 무언각 부자연스럽지만, 손실 함수에 마이너스만 곱하면 ‘얼마나 나쁘지 않나?‘, 즉 ‘ 얼마나 좋으냐’라는 지표로 바뀌게 된다. 성능의 ‘나쁨’과 성능의 ‘좋음’ 중 어느 쪽.. 신경망 학습 “ 학습 “ 이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 의미한다. 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 소개한다. 이 손실 함수의 결괏괎을 가장 작게 만드는 가중치 매개변수를 찾는 것이 목표이다. 손실 함수의 값을 가급적 작게 만드는 기법으로, 함수의 기울기를 활용하는 경사법을 알아보자. 신경망의 특징은 데이터를 보고 학습할 수 있다는 점이다. 데이터에서 학습한다는 것은 가주이 매개변수의 값을 데이터를 보고 자동으로 결정한다는 뜻이다. 수작업으로 매개변수를 정해주는 것은 매우 쓸모없고, 불가하다. NOTE_ 퍼셉트론도 직선으로 분리할 수 있는 ( 선형 분리 기능 ) 문제라면 데이터로부터 자동으로 학습할 수 있다. 선형 분리 가능 문제.. 머신러닝과 딥러닝 머신러닝의 연산 과정에서 입력과 출력은 사람이 판단하지만, 내부 구조인 함수는 컴퓨터가 규칙으로 이끌어 내 생성한다. 지도 학습 (Supervised Learning) : 사람이 제시한 지도(정답) 데이터를 바탕으로 학습하는 방법 비 지도 학습 (UnSupervised Learning) : 사람도 예측할 수 업서나, 그 데이터의 양이 매우 많아 지도 데이터를 제공하기 어려운 경우에 사용, 보통 데이터의 특징을 파악하는 데에 사용 클래스 분류 : 사람이 정답을 확인할 수 있는 분류 기준 Ex) 중간 고사 성적 평균이 50점 미만, 50점 이상인 학생의 그룹 분류 -> 사람이 제시한 지도를 바탕으로 학습하므로, 지도 학습 군집화 : 정답을 확인할 수 없는 상태로 그룹을 나눔, 데이터를 “몇.. 이전 1 2 다음