Book report 33

Chapter 5. 오차역전파법

◎ 밑바닥부터 시작하는 딥러닝(1)¶ ● chapter 5. 오차역전파법¶ 신경망의 가중치 매개변수의 기울기를 효율적으로 계산하는 '오차역전파법(backpropagation)' 5.1 계산 그래프 계산 그래프는 계산 과정을 그래프로 나타낸 것이며 노드(node)와 에지(edge)로 표현됩니다. 계산 그래프로 풀다 계산을 왼쪽에서 오른쪽으로 진행하는 단계를 순전파(forward propagation)이라고 한다. 오른쪽에서 왼쪽으로 진행하는 단계는 역전판(backward propagation)이라고 한다. 국소적 계산 계산 그래프의 특징은 '국소적 계산'을 전파함으로써 최종 결과를 얻는다는 점에 있다. 국소적 계산은 결국 전체에서 어떤 일이 벌어지든 상관없이 자신과 관계된 정보만으로 결과를 출력할 수 있다..

Chapter 4. 신경망 학습

◎ 밑바닥부터 시작하는 딥러닝(1)¶ ● chapter 4. 신경망 학습¶ 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 손실 함수는 신경망이 학습할 수 있도록 해주는 지표이다. 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표 4.1 데이터에서 학습한다! 신경망의 특징은 가중치 매개변수의 값을 데이터를 보고 자동으로 결정하는 특징이 있다. +신경망은 모든 문제를 주어진 데이터 그대로를 입력 데이터로 활용해 'end-to-end'로 학습할 수 있다. 기계학습은 사람의 개입을 최소화하고 수집한 데이터로부터 패턴을 찾습니다. 딥러닝을 종단간 기계학습(end-to-end machine learning)이라고도 한다. 기계학습 문제는 데이터를..

[혼자 공부하는 머신러닝 + 딥러닝] Chapter 9 텍스트를 위한 인공 신경망

09-1 순차 데이터와 순환 신경망¶ 순환 신경망¶ ☆ 순차 데이터(sequential data)는 텍스트나 시계열 데이터와 같이 순서에 의미가 있는 데이터 ☆ 완전 연결 신경망이나 합성곱 신경망은 하나의 샘플(또는 하나의 배치)을 사용하여 정방향 계산을 수행하고 나면 그 샘플은 버려지고 다음 샘플을 처리할 때 재사용하지 않습니다. ☆ 입렵 데이터의 흐름이 앞으로만 전달되는 신경망을 피드포워드 신경망(feedforward neural network)이라 한다. ☆ 순환 신경망(RNN)은 완전 연결 신경망 + 이전 데이터의 흐름을 순환하는 고리, 이전 타임스텝의 샘플을 기억하지만 오래될수록 순환되는 정보는 희미해 진다. ☆ 순환 신경망(RNN)은 순환층을 1개 이상 사용한 신경망 ☆ 타임스텝(timeste..

[혼자 공부하는 머신러닝 + 딥러닝] Chapter 8 이미지를 위한 인공 신경망

08-1 합성곱 신경망의 구성 요소¶ ☆ 합성곱 : 밀집층과 비슷하게 입력과 가중치를 곱하고 절편을 더하는 선형 계산이지만 밀집층과 달리 합성곱은 입력 데이터 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱한다. ☆ 합성곱 층의 뉴런에 있는 가중치 개수는 하이퍼파라미터이다. ☆ 합성곱 신경망(CNN)에서는 뉴런을 필터(filter) 또는 커널(kernel)이라고 부른다. ☆ 합성곱 계산을 통해 얻은 출력을 특성 맵(feature map)이라고 부른다. In [1]: # 케라스 합성곱 층 from tensorflow import keras keras.layers.Conv2D(10,kernel_size=(3,3),activation='relu') # keras.layers.Conv2D(필터 개수, ..

[혼자 공부하는 머신러닝 + 딥러닝] Chapter 7 딥러닝을 시작합니다

07-1 인공 신경망¶ ☆ 신경망은 기존의 머신러닝 알고리즘으로 다루기 어려웠던 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하면서 크게 주목을 받고 있으며 딥러닝이라고도 부른다. In [1]: from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() In [2]: # 데이터 크기 확인하기 print(train_input.shape, train_target.shape) print(test_input.shape, test_target.shape) (60000, 28, 28) (60000,) (10000, 28, 28) (10000,)..

[혼자 공부하는 머신러닝 + 딥러닝] Chapter 6 비지도 학습

06-1 군집 알고리즘¶ 비지도 학습 : 타깃이 없을 때 사용하는 머신러닝 알고리즘 In [11]: # 과일 사진 데이터 url= 'https://bit.ly/fruits_300_data' wget.download(url) 100% [..........................................................................] 3000128 / 3000128 Out[11]: 'fruits_300_data' In [1]: import wget import numpy as np import matplotlib.pyplot as plt fruits = np.load('fruits_300.npy') print(fruits.shape) # 첫 번쨰 차원(300)은 샘플의 ..

[혼자 공부하는 머신러닝 + 딥러닝] Chapter 5 트리 알고리즘

05-1 결정 트리¶ 로지스틱 회귀로 와인 분류하기¶ In [1]: # 데이터 준비 import pandas as pd wine = pd.read_csv('https://bit.ly/wine_csv_data') wine.head() # class가 0이면 레드 와인, 1이면 화이트 와인 Out[1]: alcohol sugar pH class 0 9.4 1.9 3.51 0.0 1 9.8 2.6 3.20 0.0 2 9.8 2.3 3.26 0.0 3 9.8 1.9 3.16 0.0 4 9.4 1.9 3.51 0.0 In [2]: # 데이터 분류 data = wine[['alcohol', 'sugar', 'pH']].to_numpy() target = wine['class'].to_numpy() from skle..