딥러닝(deep learning)
-
Linear Regression convert to Deep learning system딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 19. 17:32
y = W X + b 라는 시스템을 hidden layer가 하나인 딥러닝 시스템으로 변환해보자. ㅁ -> ㅁ -> ㅁ i h o 여기서 h 노드의 수는 상관없다. 그렇다면 classification와 다르게 해야할 부분은 어디일까? o에서 sigmoid를 사용하지 않는 것이다. h에서 activation으로 sigmoid 해주는 것은 큰 값을 0과 1사이의 값으로 바꿔주려고 쓰는 것이다. Regression이기 때문에 출력층에서 activation으로 sigmoid를 쓰지 않아야 한다. ( 확률의 개념이 아니기 때문에)
-
data normalize in Regression딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 19. 17:04
data set을 기준으로 input, label 중 input을 정규화 했으면 label도 정규화한다. training data set에서 input data를 정규화했으면 label data도 정규화해서 학습시킨다. 또한 training data set을 정규화 해서 학습했다면 -> test data set도 정규화 해서 예측한 후에 예측값을 de-normalize 해주면 된다. 주의할 사항. training 후 test할 때에 Variable인 loss 건드리면 안된다. 이미 학습된 W,b를 사용하는 것이기 때문이다. Regression에서 데이터 관리할 때 데이터가 들어있는 data set을 알고 있어야한다. 지도 학습이기 때문에 label이 없는 입력데이터는 사용하기 힘들다. label이 없다면..
-
tensorflow(텐서플로우) reducde_mean 의미딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 8. 14:41
MSE 의 loss loss = tf.reduce_mean(tf.square(y-T)) Cross-Entropy의 loss loss = -tf.reduce_mean( T*tf.log(y) + (1-T)*tf.log(1-y) ) tf.reduce_mean의 의미는 (1/N)Σ[N,i]을 가진다. cross entropy에는 1/N을 안 해주었지만 해주어도 loss를 줄이는 개념이기 때문에 상관없다. 쓰면 된다. 또 cross-entropy는 delta가 필요한데 안 쓰는 것을 통해 텐서플로우 내부적으로 넣어주는 것을 알 수 있다..
-
텐서플로우(tensorflow) 설치딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 7. 15:26
anaconda3 5.2.0 버전을 사용해야함.(python 3.6이 들어있는 버전) 왜냐하면 tensor flow 가 python 3.7을 지원하지 않기 때문. anaconda download link https://repo.anaconda.com/archive/Anaconda3-5.2.0-Windows-x86_64.exe anaconda prompt를 킨 후 아래 명령어 입력. pip install tensorflow 에러나는 경우 1. python -m pip install --upgrade pip 2. pip install --ignore-installed --upgrade tensorflow 이외 에러 발생할 경우 클린 설치나 명령어 수정이 필요.
-
one hot encoding딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 6. 17:21
MNIST 기준으로 설명함. 정답이 0부터 9까지 10개 이기 때문에 10개로 one hot encoding을 구현. 8이 정답인 경우 -> [0,0,0,0,0,0,0,0,1,0] 정답이 되는 인덱스만 1로 처리하는 방식이다. 실제 구현은 다음과 같이 함. target_data = np.zeros(o_nodes) + 0.01 target_data[label] = 0.99 정답데이터가 확률을 의미하기 때문에 1과 0은 비현실적이다. 1과 0에 근사한 값을 one hot encoding representation에 이용한다. 0.99나 0.9999나 1과 가까운 값을 사용. cross entropy에서 두 변이 다 남아 있긴 하지만 loss가 크게 달라지진 않기 때문에 위와 같이 0, 1 대신에 근사한 소수..
-
real data processing딥러닝(deep learning)/인공신경망(Neural Network) 2019. 8. 5. 14:59
pandas read_csv -> 데이터 프레임을 리턴 데이터 프레임은 시리즈(칼럼) 으로 이루어짐. read_csv("train.csv").values -> 넘파이로 리턴해줌. 1. 칼럼이 결과에 영향을 미치는가 보면서 파악. 2. 문자열 처리 1,2,3처럼 넘버 부여. 3. 공란 처리 0 같은 어떤 숫자로 놓는 것이 가능하다면 가능. 4. 정규화를 어떻게 할 것인가 4.1 정규화 테크닉 중 하나 min