ml(7)
-
[텐서플로우로 시작하는 딥러닝 기초] Lab 07-1: Application & Tips: 학습률(Learning Rate)과 데이터 전처리(Data Preprocessing)
Learning rate의 조정방법과, 데이터의 노이즈가 뭔지 알아보자. Learning rate 알다시피 Learning rate는 한 epoch 마다 Weight에 얼마큼 업데이트를 해주는지를 정하는 값이다. 이 Learning rate 값은 적당해야하는데, 너무 크면 와리가리하느라 학습이 안되고 너무 작으면 시간이 오래 걸리기 때문이다. 그래서 학습 중에 Learning rate를 알맞게 변경하는 방법이 있다. 위 그림에는 exponenetial_dacay가 나와있는데, 일정한 epoch 마다 원하는 만큼의 learning rate를 감소시킨다. (https://www.tensorflow.org/api_docs/python/tf/compat/v1/train/exponential_decay) ▪ le..
2020.12.27 -
[텐서플로우로 시작하는 딥러닝 기초] Lab 06-1: Softmax classifier 를 TensorFlow 로 구현하기
import tensorflow as tf import numpy as np print(tf.__version__) tf.random.set_seed(777) # for reproducibility x_data = [[1, 2, 1, 1], [2, 1, 3, 2], [3, 1, 3, 4], [4, 1, 5, 5], [1, 7, 5, 5], [1, 2, 5, 6], [1, 6, 6, 6], [1, 7, 7, 7]] y_data = [[0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0]] #convert into numpy and float format x_data = np.asarray(x_data, dt..
2020.12.05 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 06-2: Softmax Classifier의 cost함수
저번 강의에 이어서 세 개의 다중 분류를 하려고 보니. Binary Classification을 세 번 하면 되니까. 각각의 Label에 대한 가중치를 행렬로 묶어서 한 번에 계산했다. 그래서 각각의 Hypothesis는 하나의 Hypothesis 처럼 보이고. 여기에 어떤 x 값(test set)을 넣으면 우리의 Hypothesis는 A, B, C에 대한 결과 값을 Weight에 따라 벡터의 형태로 출력할 것이다. 근데 우리가 원하는건 그래서 결과가 뭔데?이다. Binary에서는 Sigmoid를 이용해 출력 값을 0~1의 값으로 만들었는데, Multinomial에서는 다른 함수를 사용해서 다수의 출력을 각각 0~1, 합이 1이 되게 만든다. 이를 위한 함수가 Softmax이다. 사실 아주 단순하다. n..
2020.11.11 -
[텐서플로우로 시작하는 딥러닝 기초] Lab 05-3: Logistic Regression/Classification 를 TensorFlow로 구현하기
이번 주는 방화지대 공사를 하느라 또 오랜만이다. 낫질과 톱질을 하도 했더니 손가락 마디가 쑤시네.. 이번에는 Logistic Regression을 텐서플로우로 구현해보자! import numpy as np import matplotlib.pyplot as plt import tensorflow as tf tf.random.set_seed(1106) # for reproducibility x_train = [[1., 2.], [2., 3.], [3., 1.], [4., 3.], [5., 3.], [6., 2.]] y_train = [[0.], [0.], [0.], [1.], [1.], [1.]] x_test = [[5.,2.]] y_test = [[1.]] x1 = [x[0] for x in x_trai..
2020.10.24 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 05-2: Logistic Regression/Classification 의 cost 함수, 최소화
로지스틱 회귀의 전체적인 흐름에 대해 알아봤다. 그렇다면 Regression에서 정말 중요한 cost함수는 어떻게 생겼을까? 처음에 가설에서 Weight는 랜덤 하게 설정했을 경우, 좌측의 모델처럼 다양한 경우의 모습을 보인다. 우리의 목적은 우측의 그림처럼 두 가지 그룹을 나누는 모델이다. 그동안의 강의에서 배운 것과 마찬가지로 Cost function은 Label과 Hypothesis의 차이일 텐데 여기서 문제가 있다. 우리의 Hypothesis는 Sigmoid 함수로 곡선의 형태를 띄고 있고, Label값들은 이상적인 1과 0의 값을 가지기 때문에 둘의 차는 구불구불해진다. 그래서 y=1, y=0인 두 경우의 Label에서 log함수를 이용해 우리가 원하는 cost function의 형태를 만든다...
2020.09.07 -
[텐서플로우로 시작하는 딥러닝 기초] Lab 04: Multi-variable Linear Regression 를 TensorFlow 로 구현하기
아래의 데이타를 사용하여 다중선형회귀를 텐서플로우로 구현해보자. import tensorflow as tf import numpy # data and Label x1 = [73., 93., 89., 96., 73.] x2 = [80., 88., 91., 98., 66.] x3 = [75., 93., 90., 100., 79.] y = [152., 185., 180., 196., 142.] # weights w1 = tf.Variable(tf.random.normal([1])) # [1]은 shape. 1 크기의 난수 w2 = tf.Variable(tf.random.normal([1])) w3 = tf.Variable(tf.random.normal([1])) b = tf.Variable(tf.random...
2020.09.01