[빅리더_딥러닝_0727]
data : 10000, batch_szie: 1000, epochs: 100
위의 경우 데이터 10000개 중 1000개를 뽑으나 랜덤으로 뽑고 1000개 학습 시 한 epoch으로 친다.
1000개의 데이터에 대해 iteration은 10을 가지고 10000개를 모두 학습하는 것이 1 epoch이다.
SGD(Stochastic Gradient Descent)
확률적 경사하강법
샘플을 랜덤하게 분리해 그것만 가지고 학습을 시킨다.
data : 10000, batch_szie: 1000, epochs: 100
위의 경우 데이터 10000개 중 1000개를 뽑으나 랜덤으로 뽑고 1000개 학습 시 한 epoch으로 친다.
데이배치사이즈는 100으로 둔다면
학습이란 경사하강법에 의해서 lr에 이전에 미분했던것을 곱해서 원래의 가중치에서 뺴준다.
data : 10000, batch_szie: 1000, epochs: 100
배치사이즈는 한 번 학습시킬 때의 데이터 양, 즉, 10000개를 1000개 단위, 10묶음으로 나눈다.
이때 iteration은 1이 된다?
딥러닝의 최종은 분류 모델이지만 회귀로 시작했다.
파이프라인 설계로 인해 첫 번째 epoch에서 시간이 뒤의 학습보다 오래 걸릴 수 있다.
파이프라인 알아보기
실제 실무에서는 정답이 없기 때문에 evaluate를 사용한다.
build_model을 for문 안에 넣는 이유
딥러닝에서는 2차 이상의 다항회귀가 나올 일이 없다?
딥러닝에선 보통 L2규제를 사용한다? L1은 잘 안쓰는 건가?
노이즈 데이터가 많은 경우 규제(L2)를 사용한다.
선형회귀는 모든 데이터에 대해서 맞출려고하기 때문에 오차가 발생할 수도 있다.
선형회귀는 노이즈에 민감하다, 그래서 규제를 사용한다.
퍼센트 단위로 줄이는 것이아니라 문제가 있는 것을 바꿔준다.
편향이 높다 -> epochs을 높혀야한다.
(average predict value - true)^2
분산이 높다 -> 과적합이다.
predicted value - average predicted value)^2
선형회귀, 로지스틱 회귀
선형회귀는 할 수 없는 건 아니다. 하지만 어렵다.
선형회귀에서 항상 기울기가 1인 그래프로 그려지지 않는다, 즉 항상 threshold가 0.5가 아니다.
선형회귀에서는 threshold값이 수시로 바뀌어서 이진분류에선 로지스틱 회귀를 사용하는 것이 좋다.
로지스틱 회귀에서 사용하는 Sigmoid 함수는 threshold가 0.5로 고정된다.
로지스틱 회귀 더 찾아보기
Softmax Regression