07-1 인공 신경망
KEYWORD
-인공신경망 : 머신러닝 알고리즘, 딥러닝 이라고도 함
-텐서플로 : 구글이 만든 딥러닝 알고리즘
CPU와 GPU를 사용하여 인공 신경망 모델을 효율적으로 훈련함
텐서플로 2.0 부터는 신경망 모델을 아주 빠르게 구성할 수 있는 케라스를 핵심 API로 채택함
-밀집층: 가장 간단한 인공 신경망의 층
특별히 출력층에 밀집층을 사용할 때는 분류하려는 클래스와 동일한 개수의 뉴런을 사용함
from tensorflow import keras
-원-핫 인코딩:
정숫값을 배열에서 해당 정수 위치의 원소만 1이고 나머지는 모두 0으로 변환한다.
이런 변환이 필요한 이유는 다중 분류에서 출력층에서 만든 확률과 크로스 엔트로피 손실을 계산하기 위해서이다.
'sparse_categorical_entropy' 손실을 지정하면 이런 변환을 수행할 필요가 없다.(정수 레이블)
다중 분류에서 크로스 엔트로피 손실 함수를 사용하려면 0,1,2와 같이 정수로 된 타깃값을 변환해야한다.
MNIST
머신러닝과 딥러닝을 처음 배울 때 많이 사용하는 데이터셋이 있다.
딥러닝에서는 MNIST 데이터셋이 유명하다.
이 데이터는 손으로 쓴 0~9까지의 숫자로 이루어져 있다.
MNIST와 크기, 개수가 동일하지만 패션 아이템으로 이루어진 데이터가 패션 MNIST 데이터셋이다.
-Deep Learning
1. 비정형데이터
2. 인공신경망(CNN)
3. 뉴런(유닛)
4. 활성화함수(activation function)
입력1
입력2 -> ㅇ -> 출력
입력3
입력1+입력2+입력3
(w11*x1)+(w12*x1)+(w21*x2)+(w22*x2)
5. 합성곱신경망(CNN)
이미지 판별을 해주는 뇨속
그러고 DNN으로 넘겨준다.
다중분류 : softmax
6. RNN :순환신경망
Recurrent
sequence유형(순서)
7. 심층신경망 -> 과적합모형을 해소해 주는 모형
모형의 복잡도를 줄여줌.(Dropout, 조기종료)
8. 손실함수
train_input<->X_train
train_target<->y_train
test_input<->X_test
test_target<->y_test
SGDClassifier : 확률적경사하강법
음성으로 하면 곱이 0이기 때문에 양성으로 바꿔준다.
텐서플로 = 케라스
from tensorflow import keras
sparse : 메모리 공간 관련해서 효율적
compile : 케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드(케라스에서만 새로 사용하는 메서드)
sparse_cate