2023/2023-1

[4월4일(화)] 인공지능 입문(이론) - Introduction to Machine Learning

JWonK 2023. 4. 4. 13:12
728x90
반응형

  • 컴퓨터가 학습할 수 있도록 명시적으로 프로그래밍 하지 않고 모델을 통해 자동화하는 것
  • 코드를 직접 짜는 것이 아닌 데이터로 학습시키는 것
  • 따라서 중요한 것은 데이터의 질

 

  • 수많은 머신러닝 모델이 존재
  • 모든 머신러닝이 가지고 있는 3가지 요소
    • 모델
    • 평가
    • 최적화

 

 

 

  • 머신러닝을 위한 과정

 

  • 모델이 나타낼 수 있는 것들

 

  • 머신러닝에서 중요한 과정 : 최적화 / 탐색
  • 존재하는 파라미터값을 통해 최적의 결과를 추출할 수 있도록 탐색해야함

 

 

  • 딥러닝은 Layer가 존재하고 그 사이에 존재하는 파라미터 값을 통해 Optimization 과정을 진행한다.
  • 머신러닝에서의 파라미터가 딥러닝에서는 가중치가 된다.
  • 가중치 값 조정을 통해 오차를 가장 낮은 수준으로 최소화하는 것이 목표이다.

 

 

 

  • Supervised vs Unsupervised의 차이점은 제공되는 데이터의 label 값 존재 여부이다.
  • label이 없을 때는 그룹화하는 것이 방법이 될 수 있다. (클러스터링)
  • Semi-supervised는 일부만 제공
  • Reinforcement는 강화학습으로 외부의 Reward 사용

 

  • label이 존재하기 때문에 분류(Classification)가 가능함
  • 비슷한 연속된 값으로 추측 : Regression (ex) 월급 추측
  • 위 두가지 다른 것 중요

 

 

  • 스팸 메일을 분류하는 방법이 뭐가 있을까
  • 내용 속에 존재하는 단어(Feature) 존재 여부를 통해 예측

 

  • 이미지 같은 경우도 존재

 

 

  • 위 같은 경우는 연속적인 값들이므로 Regression (회귀)
  • 또 다른 경우? 

 

 

  • 데이터만 주어지고 해당 데이터의 label은 주어지지 않음
  • 클러스터링

 

Clustering 예시

 

 

 

 

  • 결과가 연속적인 값으로 나타남
  • ex) 현재 기온 예측 -> 시시각각으로 변할 수 있음 연속적인 값이기 때문
  • 선형 회귀
    • 모델 표현은 정해져있고
    • 가중치 변화를 통해 Optimization 진행, 가중치는 세타

 

  • 제일 간단한 Regression
  • Uni - 하나의 변수라는 뜻
  • 11번가 가격을 통해 쿠팡 가격 예측
  • 큰 차이는 없을테지만 패턴 예측

 

  • 선을 통해 예측 - Fit 과정
  • Linear Fitting
  • 선과 점 사이 거리 계산을 통해 예측 결과가 근접한지 확인 - 거리가 중요!

 

 

  • y가 예측값, x는 주어진 데이터, w는 벡터(파라미터), e는 노이즈(에러)

 

 

  • 목표는 주어진 데이터를 통해 목표를 예측하는 것
  • Loss는 실제값 - 예측값 차이
  • Loss를 최소화 하는 것이 목표

 

 

  • Take the derivative -> 미분해서 0이 되는 값(w에 대해 미분)

 

 

  • w에 대해 미분하고 그 값이 0이되는 값 구하기
  • 식으로 풀 수 있는 머신러닝 문제

 

 

  • 주어진 변수가 2개 이상인 Regression
  • 11번가와 G마켓 가격이 주어지고 쿠팡 가격 예측하기

 

 

  • 2개의 주어진 데이터

 

 

그럼 Univariate Regrssion을 Multivariate Regression으로 만드는 방법?

- 주어진 한 개의 데이터를 제곱, 세제곱 식으로 데이터를 복잡하게 하여 정의

- 변수는 하난데 복잡한 항을 만들어서 함

 

 

 

- 변수는 하나인데 복잡한 항을 만들어 함수를 만드는 것 

- 성능이 좋아질 수 있음

 

 

 

 

  • 현재 상황에서 에러를 줄이는 방향으로 최적화 진행 - 가중치 및 파라미터 변환 
  • Gradient(기울기)를 하강시키는 것 - 경사하강법
  • w를 기준으로 1차 미분 - First-Order Optimization

 

 

 

  • 가장 많이 쓰이는 방법 - 경사하강법
  • 2차 함수처럼 포물선 형태로 되어있는 Convex Optimization은 최소값으로 도달할 수 있다.
  • Convex는 줄을 그어있을 만나는 점이 2개 / Non Convex는 2개 x

 

 

 

  • 보통 많이 쓰이는 방식은 3번째
  • 학습은 랜덤이 좋음

 

 

 

  • w가 파라미터, 세타는 베이스 함수 (Gaussian, Sigmoid, Polynomial etc...)

 

 

  • 주어지는 모든 파라미터를 편미분하여 loss 최소화가 목표 (w로 각각에 대해 미분)
  • 시험 문제임 - 각각에 대해 미분해서 값 구하기

 

 

 

 

 

 

 

  • 하나의 변수를 복잡하게 만들어 함수식을 도출한 후 이를 학습시키게 되면 과적합이 발생할 수 있다.
  • 이는 주어진 데이터에만 치중되어 학습된 것. 새로운 데이터에는 에러 발생 확률이 높아짐

 

 

 

  • 모델이 복잡해지면서 파라미터 값이 매우 불안정하게 됨
  • 학습 데이터에만 맞춰진 현상
  • 그래서 파라미터가 커지면 페널티를 적용시킴 

 

  • 페널티를 적용 시키는 것 : 가중치의 값이 매우 커지게 되는 것을 방지, w가 너무 커지게 되는 것 방지
  • Regularization

 

  • 적용시키면 이렇게 완전 과적합이 아닌 조금은 떨어지게 함

 

 

  • w값을 너무 낮게 하여 0에 수렴하게 만들면 예측값(y)도 0이 되어 위 그림처럼 늘 0에 수렴
  • 이를 Over Regularization이라 함

 

 

  • 정규화와 파라미터에 대한 편미분을 통해 loss 최소화가 목표

 

728x90
반응형