모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lab 08 - Tensor Manipulation @ 배열(Metrix)- rank : 배열의 차원을 나타냄- shape : 배열의 모양을 나타냄- axis : 배열의 축을 나타냄 (rank의 개수만큼 축을 가지고 있으며, 0부터 시작해서 가장 큰 축은 가장 안쪽) t = tf.constant( [[[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]] ) t의 rank : 4t의 shape : [1, 2, 3, 4] !) shape은 배열의 제일 안쪽 차원의 형태부터 역순으로 나열한다. (4 = 가장 안쪽 차원)t의 axis..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lec 08_2 - 딥러닝의 기본 개념2: Back-propagation과 2006/2007 딥의 출현 @ 2006, 2007년 기존 Deep Learning의 불가능한 문제점을 해결 (By Hinton and Bengio)- 적절한 초기값을 설정해 주면 Deep한 학습을 할 수 있다.- Deep Learning을 이용하면 복잡한 문제를 해결 할 수 있다. @ Image Classification 학습 (2010 - 2015)- 2015년 Deep Learning의 이미지 분류 오차가 3%로 사람(5%) 보다 정확 @ 과거 ml의 문제점 (By Hinton)1. Our labeled datasets were thousands o..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lec 08_1 - 딥러닝의 기본 개념: 시작과 XOR 문제 @ 뇌 : 단순하게 동작하는 neuron의 집합- neuron의 동작 원리 1. 외부 input 2. 자극을 각각의 특징에 따라 개별적인 정도로 전달(weight) 3. 각각의 자극들을 합침 4. 자극의 합이 특정 값 이상인 경우 활성화, 아닌경우 비활성화 5. 다음 neuron에게 output 전달 - Activation Functions : neuron의 process를 수학적으로 나타낸 모델 @ 머신러닝의 역사1. Linear한 Activation Functions으로는 XOR 문제를 풀 수 없음 (1958년) 2. MLP (Multilayer Neural Net..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lab 07_2 - meet mnist dataset @ 사전 학습1. numpy : 고성능 수치계산을 위한 파이썬 라이브러리- numpy 튜토리얼- ndarray : NumPy에서 가장 강력한 무기로 칭송받고 있는 N차원의 배열 객체 2. matplotlib : 2d 그래픽 데이터를 시각화하는 파이썬 라이브러리- matplotlib 튜토리얼- 기초1. 라이브러리 importimport matplotlib.pyplot as plt1. 이미지를 numpy array로 변환# image to array img = plt.imread('example.png') print(img)# 2. numpy array를 이미지로 변환 및 화면에..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lab 07_1 - training / test data set, learning rate, normalization @ Training and Test data sets으로 분류하여 학습- Training data sets : 학습에만 사용- Test data sets : 모델이 한번도 본 적 없는 데이터를 가지고 공정한 학습 평가 @ TensorFlow- Training data sets과 Test data sets 분류 예제import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf # 학습 데이터 x_data = [[1, 2, 1], [1, 3, 2..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lec 07_2 - training / test 데이터 셋 @ data set- 전체 데이터를 traning set과 test set을 나눔. 모두 학습시킬 경우 test의 의미가 없어짐 70 % : training set 30 % : test set - learning rate, regularization strength 같은 값을 튜닝하는 방법70% training set 를 training set과 validation set으로 나누어, training set으로 학습하고 ,validation set으로 값을 튜닝한다. @ online learning- 학습데이터가 너무 많아 한번에 메모리에 올릴 수 없는 경우, 데이터를 ..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lec 07_1 - learning rate, overfitting 그리고 일반화(regularization) @ learning rate - Gradient descent algorithm의 learning rate는 한번 미분 할 때마다 이동하는 거리를 의미- overshooting : learning rate이 너무 커서 학습이 발산하는 경우를 말함- 반대로 learning rate이 너무 작은 경우, 학습을 오래 하여도 cost의 최소값에 도달하지 못함- 0.01로 시작하여 발산 할 경우, learning rate을 줄이고 학습이 느린 경우 값을 키우는 방식으로 적절한 값을 찾음 @ normalize- X1, X2의 결과..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lab 06_2 - tensorflow로 fancy softmax classification의 구현하기 @ Softmax classification @ Tensorflow- softmax_cross_entropy_with_logits 를 사용하여 Softmax classification 구현- 동물의 특징에 따라 7가지로 분류 예제- data file : import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf import numpy as np # 동물 데이터 불러오기 xy = np.loadtxt('data-04-zoo.csv', delimiter=',..
모두를 위한 머신러닝 / 딥러닝 김성훈 교수님 강의를 듣고 정리한 내용입니다.Lab 06_1 - tensorflow로 softmax classification의 구현하기 @ Softmax classification @ TensorFlow- 4개의 변수에 의해 3가지 등급으로 분류하는 학습import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf # x_data : 4개의 변수로 구성 # y_data : one-hot 방식으로 3가지 label # [1, 0, 0] = 첫 번째 # [0, 1, 0] = 두 번째 # [0, 0, 1] = 세 번째 x_data = [[1, 2, 1, 1], [2, 1, 3, 2], [3, 1, 3, 4..