Study/A.I
[AI STUDY] 머신러닝과 딥러닝의 기초
knowledge hunter
2025. 1. 20. 01:54
728x90
반응형
1. 학습 목표
- 머신러닝과 딥러닝의 개념과 차이를 이해한다.
- 머신러닝의 학습 유형(지도학습, 비지도학습, 강화학습)을 파악한다.
- 딥러닝에서 사용하는 기본적인 신경망 구조를 이해한다.
2. 머신러닝(Machine Learning)이란?
1) 머신러닝의 정의
- 머신러닝은 데이터를 기반으로 학습하여 규칙을 스스로 생성하는 인공지능 기술입니다.
- 프로그래머가 명시적으로 모든 규칙을 작성하지 않아도, 데이터에서 패턴을 찾아 학습합니다.
2) 머신러닝의 작동 원리
- 데이터를 입력.
- 알고리즘이 데이터를 분석하고 학습.
- 학습한 결과를 바탕으로 새로운 데이터를 예측.
3) 머신러닝의 학습 유형
- 지도학습(Supervised Learning):
- 입력 데이터와 정답(레이블)이 제공됨.
- 모델은 입력과 정답 간의 관계를 학습.
- 예: 이메일 스팸 분류, 주택 가격 예측.
- 알고리즘: 선형 회귀, 로지스틱 회귀, SVM, 의사결정나무.
- 비지도학습(Unsupervised Learning):
- 데이터에는 정답(레이블)이 없음.
- 모델은 데이터의 패턴과 구조를 학습.
- 예: 고객 세분화, 이상 탐지.
- 알고리즘: K-평균 클러스터링, PCA.
- 강화학습(Reinforcement Learning):
- 에이전트가 환경과 상호작용하며 보상을 최대화하는 행동을 학습.
- 예: 게임 AI, 로봇 제어.
- 알고리즘: Q-러닝, DDPG.
3. 딥러닝(Deep Learning)이란?
1) 딥러닝의 정의
- 딥러닝은 머신러닝의 하위 분야로, **인공 신경망(Neural Network)**을 사용해 데이터를 학습.
- 다층 신경망(입력층, 은닉층, 출력층)을 통해 복잡한 문제를 해결.
2) 딥러닝의 특징
- 데이터에서 자동으로 특징(feature)을 추출.
- 대량의 데이터를 처리하며, 비선형 관계를 학습 가능.
- 이미지를 인식하거나 자연어를 처리하는 데 뛰어난 성능.
4. 머신러닝과 딥러닝의 차이
구분머신러닝딥러닝
데이터 의존성 | 적은 양의 데이터로도 학습 가능 | 대량의 데이터 필요 |
특징 추출 | 사람이 직접 특징을 설계 | 특징 추출이 자동화됨 |
복잡성 | 비교적 간단한 모델 (SVM, 의사결정나무 등) | 신경망 기반의 복잡한 구조 (CNN, RNN 등) |
응용 분야 | 데이터 분석, 예측 | 이미지, 음성, 텍스트 처리, 자율주행 |
5. 머신러닝과 딥러닝의 활용 사례
1) 머신러닝
- 이메일 스팸 분류(지도학습): 스팸/비스팸 이메일 구분.
- 고객 세분화(비지도학습): 고객을 그룹으로 분류.
- 금융 사기 탐지: 이상 거래를 감지.
2) 딥러닝
- 이미지 분류(CNN): 고양이와 개 이미지 분류.
- 자연어 처리(NLP): 텍스트 번역, 감정 분석.
- 자율주행: 차량이 도로 상황을 분석하고 행동 계획 수립.
6. 학습 활동
(1) 머신러닝의 지도학습 실습: 간단한 선형 회귀
- 목표: Python으로 주택 가격 예측 모델을 만들어보기.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 데이터 준비
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([150, 200, 250, 300, 350])
# 모델 학습
model = LinearRegression()
model.fit(X, y)
# 예측
y_pred = model.predict(X)
# 시각화
plt.scatter(X, y, color='blue', label='Actual')
plt.plot(X, y_pred, color='red', label='Predicted')
plt.legend()
plt.show()
(2) 딥러닝의 신경망 실습: 간단한 MNIST 분류
- 목표: TensorFlow를 사용해 손글씨 숫자 이미지를 분류.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
from tensorflow.keras.datasets import mnist
# 데이터 로드
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 데이터 전처리
x_train, x_test = x_train / 255.0, x_test / 255.0
# 모델 생성
model = Sequential([
Flatten(input_shape=(28, 28)), # 입력층
Dense(128, activation='relu'), # 은닉층
Dense(10, activation='softmax') # 출력층
])
# 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# 모델 학습
model.fit(x_train, y_train, epochs=5)
# 평가
loss, accuracy = model.evaluate(x_test, y_test)
print(f"테스트 정확도: {accuracy}")
7. 복습 질문
- 머신러닝과 딥러닝의 가장 큰 차이점은 무엇인가요?
- 지도학습과 비지도학습은 어떤 상황에서 사용되나요?
- 딥러닝이 머신러닝보다 복잡한 문제를 해결할 수 있는 이유는 무엇인가요?
8. 학습 결과
- 머신러닝과 딥러닝의 개념과 차이를 이해.
- 머신러닝의 지도학습과 딥러닝 신경망을 활용한 간단한 실습을 수행.
- AI 문제를 해결하기 위해 머신러닝과 딥러닝 중 어떤 기술을 선택할지 판단 가능.
728x90
반응형
LIST