2026.03.19
DeepLearning 개요 - 기본 수학함수

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일
  • 미분: 이차함수의 최솟값을 통한 미분구하기
    • 즉, ‘순간변화율’ 구하기
    • 미분 = 순간변화율 = 기울기 limΔx0f(a+Δx)f(a)Δx\lim_{\Delta x \to 0} \frac{f(a+\Delta x)-f(a)}{\Delta x}

딥러닝에 필요한 기본 미분 함수

  • f(x)=xf(x) = x -> f(x)=1f'(x) = 1
  • f(x)=af(x) = a, a: 상수 -> f(x)=0f'(x) = 0
  • f(x)=axf(x) = ax, a: 상수 -> f(x)=af'(x) = a
  • f(x)=xaf(x) = x^a, a: 자연수 -> f(x)=ax(a1)f'(x) = ax^(a-1)
  • f(g(x))f(g(x)), f(x), g(x): 미분가능 -> f(g(x))xg(x)=0f'(g(x)) x g'(x) = 0

정승제 선생님 생각난다.

편미분

  • 여러가지의 변수가 있을 때, 특정 한가지 변수에 대해서만 미분 (그 외는 상수 취급)
  • ffxx에 대해 편미분 하라 = fx \frac{\partial f}{\partial x}

시그모이드 함수

  • 딥러닝의 과정 ⊂ Calcuate - How many 출력 about 입력 신호
  • Calcuate함수 = 활성화 함수
  • 활성화 함수 ⊂ 시그모이드 함수
  • 시그모이드 함수: 지수 함수에서 밑 값이 자연 상수 ee 인 함수

로그와 로그함수

  • 로지스틱 회귀 학습시, x가 1에 가까워지거나 0에 가까워질수록 오차가 커지는 그래프가 필요