머신러닝(16)
-
[텐서플로우로 시작하는 딥러닝 기초] 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-2: Fancy Softmax classifier 를 TensorFlow 로 구현하기
더보기 Cost함수(Cross entropy)를 cost = tf.reduce_mean(-tf.reduce_sum(Y * tf.log(hypothesis), axis=1) 로 작성할 수 있지만 내장 함수를 통해 cost_i = tf.nn.softmax_cross_entropy_with_logits_v2(logits=logits, labels=Y_one_hot) cost = tf.reduce_mean(cost_i) 로 작성할 수 도 있다고 한다. tf.one_hot 하면 depth 만큼의 열을 갖는 매트릭스로 입력받은 값들의 인덱스에 one-hot을 해준다. 이때 depth의 크기만큼의 행을 갖는 차원이 추가 되기 때문에 겉에 불필요한 차원이 생긴다. 이를 tf.reshape로 없애준다. tf.reshap..
2020.12.22 -
[텐서플로우로 시작하는 딥러닝 기초] 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 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 06-1: Softmax Regression: 기본 개념소개
Binary Logistic Classification을 배웠다. 그럼 3개 이상의 Multinomial Classification은 어떻게 할까? 간단하다. 3번 binary classification을 하면 된다. 근데 그러면 Hypothesis 세우기가 귀찮으니 그냥 Matrix를 이용해서 한 번에 하자는 게 이번 강의의 내용. Lec 04: Multi-variable Linear Regression 와 흐름이 매우 비슷하다. 여기에 Sigmoid를 어떻게 하는지는 다음 강의에서.. (Softmax classification이 Multinomial classification인가 보다..)
2020.10.29 -
[텐서플로우로 시작하는 딥러닝 기초] 복습과 고민
20.10.14 너무 오랜만이다. 사실 중간에 자바 공부로 넘어갔다 오기도 했고 9월에 대대전술훈련과 10월 초에 종측 선발이 되어서 한동안 머신러닝 공부를 못했다. 오늘은 지금까지 배운 선형회귀와 로지스틱 회귀에 대해 복습하는 시간을 가진 후 머신러닝으로 복귀를 했다. Logistic Regression: Linear Regression를 Classification에 사용할 때의 한계들을 수정하여 선형 가설을 Sigmoid 형태에 넣은 Hypothesis를 설정했다. 그리고 Local Minimum 문제를 피해 그에 맞는 log를 이용한 Cost Function을 만들었다. 이를 앞서 배운 경사하강법으로 Cost 값을 최소화시키는 Weight와 Bias를 찾는 것이다. 이미지가 잘 그려지지는 않는다. ..
2020.10.17