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)
기초 수학
- 딥러닝 원리를 이해하기 위해선 7여가지의 기본 함수 이해가 필요
일차함수, 이차함수를 지나 미분
: 딥러닝의 가장 중요한 수학원리
- 일차함수: x, y구하기
- 이차함수: 포물선의 최솟값 구하기
- 기울기가 0일
- 미분: 이차함수의 최솟값을 통한 미분구하기
- 즉, ‘순간변화율’ 구하기
- 미분 = 순간변화율 = 기울기
딥러닝에 필요한 기본 미분 함수
- ->
- , a: 상수 ->
- , a: 상수 ->
- , a: 자연수 ->
- , f(x), g(x): 미분가능 ->
정승제 선생님 생각난다.
편미분
- 여러가지의 변수가 있을 때, 특정 한가지 변수에 대해서만 미분 (그 외는 상수 취급)
- 를 에 대해 편미분 하라 =
시그모이드 함수
- 딥러닝의 과정 ⊂ Calcuate - How many 출력 about 입력 신호
- Calcuate함수 = 활성화 함수
- 활성화 함수 ⊂ 시그모이드 함수
- 시그모이드 함수: 지수 함수에서 밑 값이 자연 상수 인 함수
로그와 로그함수
- 로지스틱 회귀 학습시, x가 1에 가까워지거나 0에 가까워질수록 오차가 커지는 그래프가 필요