DeepLearning 개요
딥러닝
- 인공지능에서 머신러닝 이후 딥러닝
- 머신러닝: 축적된 데이터를 기반으로 미래를 예측
- 딥러닝: 머신러닝을 위한 효과적인 알고리즘 중 하나
- ex. 선형 회귀, 로지스틱 회귀
딥러닝 준비물
데이터
- 이름이 주어진 데이터들 -> 지도 학습
- 이름이 없는 데이터들 -> 비지도 학습
컴퓨터
- CPU/GPU 성능과 동작 속도로 결정돼요
프로그램
- 딥러닝 동작 프로그램
딥러닝 코드
1. 라이브러리 import, for 딥러닝 구동 & 데이터 처리
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import numpy as np
- tenserflow: from 구글
- Keras: tenserflow의 보조
2. Data 준비
: txt 파일 데이터 x, y 파싱
data = np.loadtxt("{경로}", delimiter=",")
x = data[:, 0:100]
y = data[:, 100]
- 딥러닝을 위해선 Class, Atturibute를 서로 다른 데이터셋으로 지정 필요
3. 구조 결정
model = Sequential()
model.add(Dense(30, input_dim=10, activation='...'))
model.add(Dense(1, activation='...'))
- 1층 분석모델, 2층 분석 모델… 지정
- 딥러닝 설계 포인트
- think Point1. 몇 개의 층이 좋은가?
- think Point2. Dense내 숫자와 설정의 의미/사용법?
4. 실행
model.compile(loss='...', optimizer='...', metrics=['...'])
history = model.fit(x, y, epochs=5, batch_size=10)
기초 수학
일차함수, 이차함수를 지나 미분
: 딥러닝의 가장 중요한 수학원리
- 일차함수: x, y구하기
- 이차함수: 포물선의 최솟값 구하기
- 기울기가 0일
- 미분: 이차함수의 최솟값을 통한 미분구하기
- 즉, ‘순간변화율’ 구하기
- 미분 = 순간변화율 = 기울기