본문 바로가기

ML&DATA/모두를 위한 딥러닝6

실습 설명x. import numpy as np import tensorflow as tf tf.random.set_seed(777) mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 #모델 정의 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activation=tf.nn.relu), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation.. 2020. 7. 13.
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.