본문 바로가기

ML&DATA53

application & tips ㅁ learning rate를 너무 크게 하면 loss가 일정 수준에서 더 떨어지지 않고, 너무 작게하면 가중치 matrix를 만드는 데 시간이 너무 많이 걸린다. 따라서 적절한 learning rate를 정해줘야 한다. ㅁ learning rate decay : 일정 epochs마다 learning rate를 줄여서 loss를 더더욱 낮추는 기법 exponential decay, 1/t decay 등 다양하다. tf.compat.v1.train.exponential_decay()... 텐서1에서나 사용했던 방법인거 같기도 하다 https://github.com/deeplearningzerotoall/TensorFlow/blob/master/lab-07-3-linear_regression_eager%20.. 2020. 7. 13.
multinomial classification 어떤 데이터의 라벨이 양자화된 값들로 결정되는 경우 multinomial classification으로 새로운 input데이터의 라벨을 예측하는 방법. #label 번의 binary classification을 수행하여 라벨마다 확률을 구해준 후 가장 큰 확률을 갖는 라벨을 output으로 예측하는 방법이다. #label번의 binary classification을 수행하기 위해 가중치 벡터를 이어붙인 가중치 매트릭스를 사용한다. 설명의 편의를 위해 $f(X) = XW+b$ 대신 다음 링크함수를 사용한다. $$f(X) = WX$$ 더보기 bias는 어디있고 XW가 아닌 WX를 사용하는 이유가 뭔지? XW+B를 다르게 표현하면 X*W+1*B로 나타낼 수 있기때문에 1을 X의 벡터 첫번째 항으로 추가시켜주고.. 2020. 7. 12.
binary classification (강사님이 전 강의와 달라져서 변수명 등이 일정치 않음. 버전도 안맞음. 잘못된 부분이 있을 수 있음) 어떤 데이터의 라벨이 0또는 1로 결정되는 경우 binary classification으로 새로운 데이터 input의 라벨을 예측하는 방법 x값에 따라 y값이 0과 1로 표현되는 데이터 (x,y) 셋을 생각해보자. 왼쪽 그림처럼 linear regression으로 예측하는 것은 부자연스럽고 어렵기때문에 오른쪽 그림과 같은 방법을 사용해야 한다. 일반적인 경우, 즉 ( x1,x2,x3 ... xn | y )꼴인 데이터들에 대해서 선형회귀 때 사용했던 가설함수를 링크함수$f(x)$로 사용하고 가설함수를 $sigmoid(f(x))$로 정의한다. $$f(X) = XW + b $$ $$h(X) = \frac{1.. 2020. 7. 10.
simple linear regression (단순 선형 회귀) 데이터를 (x,y)로 표현할 수 있다면 2차원 좌표평면에 점을 찍을 수 있다. 그 데이터들을 가장 잘 대변하는 직선의 방정식을 찾아가는 과정을 linear regression이라고 한다. 가장 잘 대변하는 직선이란, cost(=loss, error)의 제곱의 평균이 가장 작은 경우를 말한다. 결과 $y = ax + b$의 a,b를 찾기 위해서 가설함수$H(x)$와 비용함수$cost(W,b)$를 사용해야 한다. (W는 가중치, b는 bias) $$H(x) = Wx + b$$ $$cost(W,b) = \frac{1}{m}\sum_{i}^{m}(H(x_i)-y_i)^{2}$$ 데이터 셋이 다음과 같이 주어졌을 때 선형회귀를 수행해보자 x y 1 1 2 2 3 3 4 4 5 5 import tensorflow .. 2020. 7. 8.