STORY
MinJ is_

2022년/[K-MOOC] 실습으로 배우는 머신러닝

[1주차] Intorduction to Machine Learning

KMinJis 2022. 11. 21. 14:42

💡 "[K-MOOC] 실습으로 배우는 머신러닝"을 수강한 내용을 바탕으로 작성된 글입니다.


 

[1] 인공지능과 머신러닝


🔎 AI & ML & DL 

  • Artificial Intelligence (AI) : 사람의 지능을 모방하여 현실 세계의 문제점을 해결하는 컴퓨터 시스템
  • Machine Learning (ML) : 데이터로부터 패턴을 학습하는 AI 방법 중 하나
  • Deep Learning (DL) : 인공신경망을 기반으로 하는 ML 방법 중 하나

🔎 Machine Learning 

  • 정의
    • 데이터를 가지고 함수를 추정하는 인공지능 방법 중 하나
    • 컴퓨터 프로그램이 경험을 통해 자동적으로 향상할 수 있도록 하는 컴퓨터 알고리즘
  • 과거 vs. 현재
    [과거의 전통적 AI]   머신러닝에서 학습하는 모델을 직접 구현
    [현재의 AI]   function의 기본적인 형태를 컴퓨터에게 알려주면 스스로 최적의 함수를 학습

  • 머신러닝 발전 가능 이유
    • Big Data 존재
    • 컴퓨터의 계산 능력 향상 (GPU 등장)
  • 학습 시스템 요소
    • Enviroment (E)
    • Data (D)
    • Model (M)
    • Performance (P)
  • 머신러닝의 목표
    모델의 예측값과 실제 데이터 정답값 간의 오차를 줄이는 방향으로
    input과 output 간의 관계를 나타내는 함수를 학습시키는 것

[2] 머신러닝 학습


🔎 학습 
Loss(training error)를 최소화하면서 input과 output의 관계를 보여주는 함수를 만드는 과정

 

🔎 Linear Regression 

  • 가정 : input과 output의 관계는 선형
    * 선형식이란?
       : input으로 입력되는 변수에 어떤한 특정 상수를 곱하고 나머지 곱해진 term들에 대해서는 더하기 형태로 표현한 것

  • 예측 모델
    : 아래의 수식에서 적절한 B를 정해야 함

  •  Loss Function (손실함수)
    : 손실함수의 값을 최소화 하는 방향으로 B의 값을 지정


[3] 머신러닝 프로세스 및 활용


🔎 Machine Learning 종류

  • Supervised Learning (지도 학습)
    - Output y가 범주형 : classification / 분류 (ex) 동물 이미지 분류
    - Output y가 연속형 : regression / 회귀 (ex) 집 값 예측
  • Unsupervised Learning (비지도 학습)
  • Reinforcement Learning (강화 학습)

🔎 Model Evaluation 

  • classification / 분류

  • regression / 회귀

 

🔎 Loss Function And Optimization 

  • 머신 러닝은 loss를 최소화하여 함수를 최적화함(Optimization)
  • 공간 특성을 활용한 방법
    • K-Nearest Neighbor
    • Decision Tree
  • 수학적 공식을 활용한 방법
    • Linear Regression
    • Logistic Regression / Classification
    • Support Vector Machine
    • Neural Network (Deep Learning)

🔎 Generalization Error And Optimization 

  • Training error : 학습 데이터에 대한 prediction error
  • Validation error : 검증 데이터에 대한 prediction error (Generalization error)
  • Model의 complexity(복잡도)가 너무 많이 증가할 수록 Training error는 줄어들지만, 
    Validation error는 늘어남 
    ⚠ 학습데이터에 대한 과적합
    ⚠ 일반화 실패


        ✅ hyperparameter를 조정하여 적절한 모델 복잡도를 가지는 지점을 찾아야 함 !

 

 

🔎 Model Validation 

  • vaildation with training data only

  • Training, Testing data

  • Training, Validation, Testing data

  • Cross-Validation


 

참고 자료

https://scikit-learn.org/stable/modules/cross_validation.html

 

3.1. Cross-validation: evaluating estimator performance

Learning the parameters of a prediction function and testing it on the same data is a methodological mistake: a model that would just repeat the labels of the samples that it has just seen would ha...

scikit-learn.org

https://modern-manual.tistory.com/19

 

Training, Validation and Test sets 차이 및 정확한 용도 (훈련, 검정, 테스트 데이터 차이)

머신러닝 혹은 딥러닝 모델링을 하고자 할 때 우리는 데이터 셋을 나누어 사용한다. 이때 어떤 비율로 나누어 사용하면 좋을지, 각 데이터 셋의 역할은 무엇인지 하나씩 알아보자 Training set, Valid

modern-manual.tistory.com