Post

ML 기초 개념 정리 📚

컴공 전공자를 위한 ML 기초 개념 정리 노트

1. 머신러닝이란? 🤖

정의

  • 프로그래밍 방식: 명시적 규칙 대신 데이터로부터 패턴을 학습
  • 컴공 관점: 알고리즘이 데이터를 통해 스스로 성능을 개선하는 프로그램

전통적 프로그래밍 vs 머신러닝

1
2
3
4
5
전통적 프로그래밍:
입력 + 프로그램 → 출력

머신러닝:
입력 + 출력 → 프로그램(모델)

2. 머신러닝의 종류 🎯

지도학습 (Supervised Learning)

  • 정답이 있는 데이터로 학습
  • 예시: 이메일 스팸 분류, 집값 예측
  • 종류:
    • 분류(Classification): 카테고리 예측 (스팸/정상)
    • 회귀(Regression): 연속값 예측 (집값)

비지도학습 (Unsupervised Learning)

  • 정답이 없는 데이터에서 패턴 발견
  • 예시: 고객 그룹핑, 이상치 탐지
  • 종류:
    • 클러스터링: 유사한 데이터 그룹핑
    • 차원 축소: 데이터 압축

강화학습 (Reinforcement Learning)

  • 보상을 통해 학습
  • 예시: 게임 AI, 자율주행

3. 핵심 개념 이해하기 🔍

데이터셋 구성

1
2
전체 데이터 = 훈련 데이터 + 검증 데이터 + 테스트 데이터
              (70%)     (15%)      (15%)

모델 성능 평가

  • 과적합(Overfitting): 훈련 데이터만 잘 맞추고 새 데이터는 못 맞춤
  • 과소적합(Underfitting): 훈련 데이터도 제대로 못 맞춤

핵심 용어

  • 특성(Feature): 입력 데이터의 속성
  • 레이블(Label): 정답 데이터
  • 가중치(Weight): 모델이 학습하는 파라미터
  • 편향(Bias): 모델의 기본 성향

4. CNN을 위한 기초 지식 🧠

왜 CNN인가?

  • 이미지 처리에 특화된 딥러닝 모델
  • 사람의 시각 시스템을 모방
  • 이미지의 공간적 특성을 잘 파악

CNN 이해를 위한 선행 개념

  1. 뉴럴 네트워크: 뇌의 뉴런을 모방한 연결 구조
  2. 합성곱(Convolution): 필터로 이미지 특성 추출
  3. 활성화 함수: 비선형성을 추가하는 함수

수학적 배경 (최소한만!)

  • 선형대수: 벡터, 행렬 연산 (기본만 알면 됨)
  • 미분: 기울기 계산 (개념만 이해)
  • 확률: 예측 불확실성 표현

5. 학습 로드맵 🗺️

1단계: 기초 다지기 (1-2주)

  • 파이썬 기초 (numpy, pandas)
  • 데이터 시각화 (matplotlib)
  • 간단한 선형 회귀

2단계: 머신러닝 기초 (2-3주)

  • scikit-learn 사용법
  • 분류/회귀 알고리즘
  • 모델 평가 방법

3단계: 딥러닝 준비 (2-3주)

  • 뉴럴 네트워크 개념
  • 텐서플로우/파이토치 기초
  • 간단한 MLP 구현

4단계: CNN 본격 학습 (3-4주)

  • CNN 구조 이해
  • 이미지 전처리
  • 실습 프로젝트

6. 추천 학습 자료 📖

온라인 강의

  • 앤드류 응(Andrew Ng) - Machine Learning Course
  • 모두의 딥러닝 - 한국어 강의
  • Fast.ai - 실용적 접근

  • 핸즈온 머신러닝 - 오렐리앙 제롱
  • 딥러닝 - 이안 굿펠로우
  • 파이썬 머신러닝 - 세바스찬 라시카

실습 플랫폼

  • Kaggle - 데이터 과학 경진대회
  • Google Colab - 무료 GPU 제공
  • Jupyter Notebook - 실습 환경

7. 자주 묻는 질문 ❓

Q: 수학이 부족한데 괜찮나요?

A: 개념 이해 후 필요한 수학만 점진적으로 학습하면 됩니다.

Q: 어떤 언어를 사용해야 하나요?

A: Python이 가장 좋습니다. 라이브러리가 풍부하고 문법이 간단합니다.

Q: GPU가 필요한가요?

A: 초기 학습에는 필요 없고, CNN 실습 단계에서 Google Colab 사용하면 됩니다.


관련 노트

  • [[CNN_상세_정리]]
  • [[ML_학습_방법론]]
  • [[Python_ML_환경설정]]

참고 자료

#public #ml #기초 #학습노트