1. 데이터 종류
1.1. 정형 데이터
-
정형 데이터 (Structured Data)
- 테이블, 스프레드시트처럼 행과 열로 구조화된 데이터
- 컬럼을 통해 의미를 쉽게 파악 가능
- 앙상블, 결정트리, 선형회귀 등에 주로 활용
-
변수 유형
- 이산형 (Discrete)
- 명목형 (범주형; Categorical)
- 클래스 간 순서 없음
- e.g. 사과/배/바나나
- 순서형 (Ordinal)
- 클래스 간 순서 있음
- e.g. 상/중/하
- 명목형 (범주형; Categorical)
- 연속형 (Continuous)
- 실수 형태의 연속값
- e.g. 키, 몸무게
- 이산형 (Discrete)
1.2. 비정형 데이터
-
비정형 데이터 (Unstructured Data)
- 이미지, 텍스트, 영상, 음성/신호 등
- 기존 도구로 의미 파악이 어려움
- 전체 데이터의 약 80%
-
딥러닝의 역할
- 비정형 데이터로부터 의미있는 특징을 추출하여 (Feature Extraction)
- 정형 데이터 형태로 변환하는 기능을 수행한다.
- 특성 추출 및 분류를 컴퓨터가 처리한다.
-
CIFAR-10
- 머신러닝, 특히 이미지 분류 연구에서 널리 쓰이는 벤치마크 데이터셋
2. AI, ML, DL
AI ⊃ Machine Learning ⊃ Deep Learning
2.1. 일반 프로그래밍 vs. 머신러닝
-
일반 프로그래밍
- 데이터(Data) + 규칙(Function) → 결과(Output)
- 사람이 함수를 정의하고, 컴퓨터가 결과를 계산한다.
-
머신러닝
- 데이터(Data) + 알고리즘(Algorithm) → 규칙(Function)
- 컴퓨터가 데이터로부터 함수를 자동으로 학습한다.
-
비정형 데이터에 효과적인 알고리즘 NN
2.2. 머신러닝 vs. 딥러닝
-
머신러닝 (Machine Learning)
- 인공지능의 하위 분야
- 사람이 데이터를 전처리(특성 추출)한 후 알고리즘을 적용한다.
-
딥러닝 (Deep Learning)
- 머신러닝의 하위 분야
- 전처리(특성 추출) 과정까지 컴퓨터가 자동으로 학습한다.
- 대량의 원시 데이터를 신경망으로 자동 분석한다.
- 본 강의는 지도/비지도 학습 관점에서 딥러닝을 다룬다.
2.3. 주요 알고리즘 분류
| 구분 | 유형 | 알고리즘 |
|---|---|---|
| 지도학습 | 회귀 | 선형 회귀 |
| 지도학습 | 분류 | KNN, SVM, 결정트리, 로지스틱 회귀 |
| 비지도학습 | 군집 | K-means, DBSCAN |
| 비지도학습 | 차원 축소 | PCA |
| 강화학습 | — | Markov Decision Process |
| 딥러닝 | 비지도 | AutoEncoder/GMM |
| 딥러닝 | 시계열 | RNN/LSTM |
| 딥러닝 | 이미지 | CNN/AlexNet/ResNet |
3. Machine Learning
-
-
머신러닝은 데이터와 모델을 결합하는 과정인데, 두 가지 핵심 요소가 필요하다:
- 예측 함수 (Prediction Function)
- 세상의 패턴이나 규칙에 대한 우리의 가정을 담은 함수
- 입력 데이터를 받아 결과를 예측함
- 목적 함수 (Objective Function)
-
예측이 틀렸을 때 얼마나 틀렸는지 측정하는 함수
-
이 오차를 줄이는 방향으로 모델이 학습됨
-
- 쉽게 말하면, “어떻게 예측할까”와 “얼마나 잘못됐는지 어떻게 잴까”를 정의하는 것이 머신러닝의 핵심이다.
-
-
머신 러닝의 학습 유형은 크게 세 가지로 나뉜다.
- 지도 학습 (Supervised Learning)
- 데이터에 정답(Label)이 있음
- 비지도 학습 (Unsupervised Learning)
- 데이터에 정답(Label)이 없음
- 강화 학습 (Reinforcement Learning)
- 지도 학습 (Supervised Learning)
-
cf. 문제 정의 단계에서 지도 학습/비지도 학습을 결정한다.
데이터 수집 (X, Y)
↓
모델 정의: f(X) = w₁X + w₀ (파라미터 W 초기화)
↓
손실함수 정의: Loss = Σ(y - ŷ)²
↓
최적화: Loss를 최소화하는 W 탐색
↓
최적 모델 완성 → 예측(Prediction)
3.1. 지도 학습
- 지도 학습 (Supervised Learning)
- 정답이 있는 학습 데이터로부터
- Input()과 Output()의 관계를 설명하는 함수 를 찾는 방법론
| 입력 변수 () | 출력 변수 () |
|---|---|
| 독립변수 (Independent variable) | 종속변수 (Dependent variable) |
| 예측변수 (Explanatory variable) | 반응변수 (Response variable) |
| 인풋변수 (Input variable) | 아웃풋변수 (Output variable) |
| - | 타겟변수 (Target variable) |
(1) 데이터 용어
-
관측치 (Observation/Sample/Pattern): 데이터의 각 행(row), n개
-
변수 (Variable/Feature/Factor): 각 관측치의 특성치, p개
-
cf. 데이터 불균형 (Data Imbalance)
- 특정 클래스(Class)의 데이터 개수가 다른 클래스에 비해 압도적으로 적은 상태
- 출력 변수 를 얻고 싶다고 얻을 수 없다는 점을 시사한다.
(2) 문제 유형
-
회귀 (Regression)
- 연속적인 수치를 예측하는 문제 (종속변수 가 연속형)
- 부동산 가격 예측: 집의 크기, 위치, 연식 등()을 통해 집값() 예측
- 온도 예측: 기상 데이터()를 통해 내일의 기온() 예측
- 매출 예측: 지난달 광고비와 판매량()을 바탕으로 이번 달 매출액() 예측
- 알고리즘
- 선형 회귀(Linear Regression), 의사결정 나무(Decision Tree Regressor), 랜덤 포레스트(Random Forest Regressor) 등
- 손실 함수 (Loss Function)
- 평균 제곱 오차(MSE; Mean Squared Error)
- 평균 절대 오차(MAE; Mean Absolute Error)
- Huber Loss
- 평가 지표 (Evaluation Metrics)
- RMSE(Root MSE), MAE, Score(결정계수)
- 연속적인 수치를 예측하는 문제 (종속변수 가 연속형)
-
분류 (Classification)
- 범주(Category; 클래스)를 예측하는 문제 (종속변수 가 범주형)
- 스팸 메일 분류: 메일 내용()이 스팸인지 정상인지() 분류
- 질병 진단: 환자의 검사 결과()를 바탕으로 질병 유무 또는 종류() 판별
- 이미지 분류: 사진()을 보고 무슨 클래스(사물, 동물 등)인지() 인식
- 알고리즘
- 로지스틱 회귀(Logistic Regression), 서포트 벡터 머신(SVM), K-최근접 이웃(KNN), 의사결정 나무, 신경망(Neural Networks) 등
- 손실 함수 (Loss Function)
- Cross-Entropy Loss
- 평가 지표 (Evaluation Metrics)
- 범주(Category; 클래스)를 예측하는 문제 (종속변수 가 범주형)
3.2. 비지도 학습
- 대부분의 생성형 LLM은 비지도 학습(정확히는 자기지도 학습, Self-Supervised Learning)을 통해 탄생했다.
- 학습 방식의 핵심은 데이터 자체가 라벨이 된다는 것이다. (자기지도 학습)
3.3. 강화 학습
- 본 강의에서는 Reinforcement Learning에 대한 내용을 유보한다.
4. Deep Learning
4.1. 딥러닝의 역사
- 1943년 전자 뇌 개념
- → 1957년 퍼셉트론
- → 1960년 ADALINE
- → 1969년 XOR 문제(AI 겨울)
- → 1986년 역전파(Backpropagation)
- → 1995년 SVM
- → 2006년 제프리 힌턴(Geoffrey Hinton)의 Deep Neural Network으로 딥러닝 발전
4.2. 인공신경망 (ANN)
- 인공신경망 (ANN; Artificial Neural Networks)
- 생물학적 뇌(뉴런)를 수학적으로 모델링한 것
- 형태로 Input을 받아 Output을 출력하는 모델
(1) 퍼셉트론 (Perceptron)
-
생물 뉴런은 수상돌기(Dendrite)로 신호를 받아 축삭돌기(Axon)로 신호를 전달
-
퍼셉트론은 이를 수식으로 표현
-
가장 간단한 형태의 인공신경망 모델인 퍼셉트론은 수학적으로 선형 회귀(Linear Regression)와 동일한 구조이다.
- 입력값()에 가중치(, Weight)를 곱하고 모두 더한 뒤 편향(; )을 더해 결과값()을 예측한다.
-
W: weight (가중치) — 학습을 통해 찾아야 하는 모델의 파라미터
5. 학습이란?
→ 파라미터 추정 = 최적화 문제
5.1. 핵심 개념
-
학습(Learning)
- 와 의 관계를 가장 잘 설명하는
- 최적의 파라미터()를 추정(Estimation)하는 것
-
cf. 모든 회귀의 이상적인 수학적 모델링
- 𝜺는 어떤 철학적으로 설명할 수 없는 에러 파트
- 정확한 직선이 없으니 또는 를 사용
5.2. 손실 함수
-
손실 함수 (Loss Function)
- 단일 데이터 포인트(예: 데이터 하나)에 대해 ==모델의 예측값()과 실제 정답()이 얼마나 다른지를 나타내는 함수==
- 즉 오차(Error) 또는 잔차(Residual)를 정량화한 것
- 예시: 오차 제곱합 (Squared Error):
-
비용 함수 (Cost Function)
- 전체 학습 데이터셋(전체 배치)에 대한 손실 함수들의 평균값
- 예시:
- cf.
- 오차의 합:
- 평균 오차(Mean Error):
- MSE: 첨점이 없고 패널티 효과가 있는 MSE가 선호된다.
- 목적 함수 (Objective Function)
- 최적화 과정에서 최대화 또는 최소화하고자 하는 모든 함수를 통칭하는 가장 넓은 범위의 용어
실무적인 관점: 실제 현업에서는 이 용어들을 명확히 구분하지 않고 혼용해서 사용하는 경우가 매우 많다.
5.3. 최적화 (Optimization)
-
최적화 (Optimization)
- 머신러닝의 학습은 비용 함수의 값을 최소화(Minimize)하는 파라미터 조합을 찾는 최적화 문제 (Learning is Optimization)
-
선형 회귀 학습의 목표
- 주어진 데이터의 총 에러(잔차, )를 최소로 만드는 선()을 찾는 것
-
정리
- 머신러닝 → 알고리즘
- 알고리즘의 에러 측정 → 손실 함수(비용 함수) → 예: MSE
- 머신러닝은 비용 함수의 값을 최소화하는 최적화 문제
-
cf. 최적화 문제를 어떻게 Solve할 것인가?
- 일 때, 비용 함수의 값이 최소가 되는 지점 (즉, 기울기가 0이 되는 지점)
- 비용 함수가 2차 함수 모양이 아니라면? (가중치가 2개만 되어도 3차원 좌표 공간이 되고, Local Minimum같은 문제가 발생함)
- 경사 하강법은 함수가 국소적으로(locally) 2차 함수와 유사한 기울기를 가진다는 점을 이용
- 제프리 힌튼(Geoffrey Hinton) 교수가 백프로파게이션(Backpropagation)을 통해 다층 신경망에서 경사 하강법을 효율적으로 적용할 수 있음을 입증