AI ML Algorithms

📌 머신러닝 알고리즘 개요 (Overview of ML Algorithms)

머신러닝 알고리즘은 데이터를 학습하여 패턴을 찾고 예측하는 기술입니다. 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 반지도 학습(Semi-Supervised Learning), 자기 지도 학습(Self-Supervised Learning) 등의 카테고리로 나뉩니다.


🏆 1️⃣ 지도학습 알고리즘 (Supervised Learning Algorithms)

👉 정답(라벨)이 있는 데이터를 학습하여 예측하는 알고리즘

📍 1. 선형 회귀 (Linear Regression)

✔ 개념:

  • 입력(X)과 출력(Y)의 관계를 직선(선형 함수)으로 표현
  • Y = aX + b 형태의 모델

✅ 예제:
📌 집값 예측

  • X: 평수, 방 개수
  • Y: 집값
  • 집의 특성을 이용해 가격을 예측

📝 코드 예제 (선형 회귀 – 집값 예측)

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 데이터 생성
X = np.array([50, 60, 70, 80, 90]).reshape(-1, 1)
Y = np.array([300, 350, 400, 450, 500])

# 모델 학습
model = LinearRegression()
model.fit(X, Y)

# 예측
pred = model.predict([[75]])

print(f"75평 집의 예상 가격: {pred[0]}만원")

# 그래프 시각화
plt.scatter(X, Y, color="blue")
plt.plot(X, model.predict(X), color="red")
plt.xlabel("평수")
plt.ylabel("집값(만원)")
plt.show()

📍 2. 로지스틱 회귀 (Logistic Regression)

✔ 개념:

  • 분류(Classification) 문제 해결
  • 출력값이 0 또는 1 (예: 스팸 vs 정상 메일)

✅ 예제:
📌 이메일 스팸 분류

  • X: 이메일 본문 단어
  • Y: 0(정상) 또는 1(스팸)

📍 3. 결정 트리 (Decision Tree)

✔ 개념:

  • 데이터에 대한 질문을 하며 분류를 수행
  • 사람이 이해하기 쉬운 모델

✅ 예제:
📌 대출 승인 여부 예측

  • X: 연봉, 신용 점수
  • Y: 대출 승인 여부 (O/X)

📍 4. 랜덤 포레스트 (Random Forest)

✔ 개념:

  • 여러 개의 결정 트리를 조합하여 예측 정확도 향상

✅ 예제:
📌 신용카드 사기 탐지

  • X: 거래 내역
  • Y: 0(정상), 1(사기)

📍 5. 서포트 벡터 머신 (SVM, Support Vector Machine)

✔ 개념:

  • 데이터 사이의 최적의 경계를 찾아 분류 수행

✅ 예제:
📌 얼굴 인식 시스템

  • X: 얼굴 특징
  • Y: 특정 사람인지 여부

📍 6. 신경망 (Neural Networks)

✔ 개념:

  • 인간 뇌를 모방한 모델
  • 복잡한 패턴을 학습 가능

✅ 예제:
📌 자연어 처리 (NLP), 음성 인식


🔍 2️⃣ 비지도학습 알고리즘 (Unsupervised Learning Algorithms)

👉 정답이 없는 데이터를 분석하여 패턴을 찾는 알고리즘

📍 1. K-평균 군집화 (K-Means Clustering)

✔ 개념:

  • 데이터를 K개의 그룹으로 나누는 알고리즘

✅ 예제:
📌 고객 세분화 (Customer Segmentation)

  • 고객을 비슷한 특성별로 그룹화

📝 코드 예제 (K-평균 군집화 – 고객 그룹화)

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# 샘플 데이터 (연령, 구매 금액)
X = np.array([[25, 300], [30, 450], [35, 500], [40, 700], [23, 200], [50, 900], [60, 1000]])

# K-평균 군집화
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
labels = kmeans.labels_

# 시각화
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.xlabel("연령")
plt.ylabel("구매 금액")
plt.show()

📍 2. 주성분 분석 (PCA, Principal Component Analysis)

✔ 개념:

  • 데이터의 차원을 줄여 중요한 특징만 남김

✅ 예제:
📌 고해상도 이미지 압축


🎮 3️⃣ 강화학습 알고리즘 (Reinforcement Learning Algorithms)

👉 보상을 통해 최적의 행동을 학습하는 알고리즘

📍 1. Q-러닝 (Q-Learning)

✔ 개념:

  • AI가 환경에서 보상을 받아가며 학습

✅ 예제:
📌 게임 AI (알파고, 자율주행)


🧐 4️⃣ 반지도 학습 (Semi-Supervised Learning)

👉 일부 데이터만 정답이 있는 경우 학습하는 알고리즘

📍 1. 반지도 학습 모델

✔ 개념:

  • 적은 양의 라벨 데이터 + 많은 비라벨 데이터 학습

✅ 예제:
📌 의료 데이터 분석 (라벨 부족한 경우 활용)


🤖 5️⃣ 자기 지도 학습 (Self-Supervised Learning)

👉 데이터의 일부를 숨기고 스스로 학습하는 알고리즘

📍 1. GPT, BERT 같은 모델

✔ 개념:

  • 문장의 일부를 가리고 나머지로 예측

✅ 예제:
📌 ChatGPT 같은 대규모 언어 모델


📊 6️⃣ 머신러닝 알고리즘 비교

알고리즘유형특징예제
선형 회귀지도학습연속된 값 예측집값 예측
로지스틱 회귀지도학습분류 문제 해결스팸 필터
랜덤 포레스트지도학습여러 트리 조합신용카드 사기 탐지
K-평균 군집화비지도학습데이터 그룹화고객 세분화
Q-러닝강화학습보상 기반 학습게임 AI
GPT자기 지도 학습문장 일부 예측ChatGPT

🚀 결론 (Conclusion)

✅ 머신러닝 알고리즘은 목적에 따라 다양한 방식으로 활용됨
✅ 초보자는 지도학습 → 비지도학습 → 강화학습 순으로 학습 추천

Leave a Reply

Your email address will not be published. Required fields are marked *