Study/A.I

[AI STUDY] 머신러닝과 딥러닝의 기초

knowledge hunter 2025. 1. 20. 01:54
728x90
반응형

1. 학습 목표

  1. 머신러닝과 딥러닝의 개념과 차이를 이해한다.
  2. 머신러닝의 학습 유형(지도학습, 비지도학습, 강화학습)을 파악한다.
  3. 딥러닝에서 사용하는 기본적인 신경망 구조를 이해한다.

2. 머신러닝(Machine Learning)이란?

1) 머신러닝의 정의

  • 머신러닝은 데이터를 기반으로 학습하여 규칙을 스스로 생성하는 인공지능 기술입니다.
  • 프로그래머가 명시적으로 모든 규칙을 작성하지 않아도, 데이터에서 패턴을 찾아 학습합니다.

2) 머신러닝의 작동 원리

  1. 데이터를 입력.
  2. 알고리즘이 데이터를 분석하고 학습.
  3. 학습한 결과를 바탕으로 새로운 데이터를 예측.

3) 머신러닝의 학습 유형

  1. 지도학습(Supervised Learning):
    • 입력 데이터와 정답(레이블)이 제공됨.
    • 모델은 입력과 정답 간의 관계를 학습.
    • : 이메일 스팸 분류, 주택 가격 예측.
    • 알고리즘: 선형 회귀, 로지스틱 회귀, SVM, 의사결정나무.
  2. 비지도학습(Unsupervised Learning):
    • 데이터에는 정답(레이블)이 없음.
    • 모델은 데이터의 패턴과 구조를 학습.
    • : 고객 세분화, 이상 탐지.
    • 알고리즘: K-평균 클러스터링, PCA.
  3. 강화학습(Reinforcement Learning):
    • 에이전트가 환경과 상호작용하며 보상을 최대화하는 행동을 학습.
    • : 게임 AI, 로봇 제어.
    • 알고리즘: Q-러닝, DDPG.

3. 딥러닝(Deep Learning)이란?

1) 딥러닝의 정의

  • 딥러닝은 머신러닝의 하위 분야로, **인공 신경망(Neural Network)**을 사용해 데이터를 학습.
  • 다층 신경망(입력층, 은닉층, 출력층)을 통해 복잡한 문제를 해결.

2) 딥러닝의 특징

  1. 데이터에서 자동으로 특징(feature)을 추출.
  2. 대량의 데이터를 처리하며, 비선형 관계를 학습 가능.
  3. 이미지를 인식하거나 자연어를 처리하는 데 뛰어난 성능.

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. 복습 질문

  1. 머신러닝과 딥러닝의 가장 큰 차이점은 무엇인가요?
  2. 지도학습과 비지도학습은 어떤 상황에서 사용되나요?
  3. 딥러닝이 머신러닝보다 복잡한 문제를 해결할 수 있는 이유는 무엇인가요?

8. 학습 결과

  • 머신러닝과 딥러닝의 개념과 차이를 이해.
  • 머신러닝의 지도학습과 딥러닝 신경망을 활용한 간단한 실습을 수행.
  • AI 문제를 해결하기 위해 머신러닝과 딥러닝 중 어떤 기술을 선택할지 판단 가능.
728x90
반응형
LIST