본문 바로가기
Data Science/Machine Learning

[Machine Learning] 머신러닝 개요

by AI_Wooah 2022. 8. 8.

 

머신러닝이란?

컴퓨터가 주변의 환경에서 발생하는 데이터를 학습하여 유의미한 패턴과 통계적인 함수를 발견하여 앞으로의 행동에 지침이 되는 지식이 얻어내는 행위를 말한다.

기계 학습은 인공 지능의 하위 분야로 광범위하게는 지능적인 인간 행동을 모방하는 기계의 능력으로 정의된다. 인공 지능 시스템은 인간이 문제를 해결하는 방식과 유사한 방식으로 복잡한 작업을 수행하는데 사용된다.

기계 학습은 은행 거래, 사람 사진 또는 빵집 등 과 같이 숫자, 사진 또는 텍스트, 수리 기록, 센서의 시계열 데이터 또는 판매 보고서와 같은 데이터로부터 시작한다. 데이터를 수집해서 훈련 데이터로 사용하거나 기계 학습 모델이 훈련할 수 있도록 정보로 가공한다. 일반적으로 데이터가 많을수록 학습 결과가 더 좋아진다.

 

머신러닝이 필요한 이유는 데이터의 다양한 변형을 적은 비용으로 빠르게 다루기 위해서다.

+ 딥러닝이란?

딥러닝에 대해서 따로 깊이 다룰 예정이니 간단하게 개념만 잡겠습니다!


머신러닝의 분야 중 하나로 심층 신경망 기반의 모델이며 입력층과 출력층 사이에 많은 레이어가 존재한다.

 

머신러닝의 학습 유형은?

 

지도학습(Supervised Learning)

target 값이 정해져 있는 데이터의 경우를 말한다.

학습할 때 시스템이 출력해야 할 목표 출력값을 함께 제공한다.

입출력 간의 관계를 결정하는 시스템에 대한 유용한 근사 시스템을 구하는 것으로 정의한다.

뉴스, 주가, 날씨 등을 분석할때 많이 사용한다.

  • 회귀
    입력 변수와 출력변수 사이의 매핑 관계를 분석한다.
    ex) 시계열 예측, 선형회귀, 비선형회귀, 로지스틱회귀, SVM, 신경망(MLP, RBF, CNN, LSTM)
    • 회귀분석
    • 회귀나무
    • 신경망
    • 앙상블 기법
  • 분류
    입력 데이터가 어떤 부류에 속하는지 기계가 자동으로 판단한다.
    • 판별분석
    • 로지스틱 회귀분석
    • 의사결정나무
    • 신경망
    • 앙상블기법
    • 서포트벡터머신

 

비지도학습(Unsupervised Learning)

target 값이 없는 경우 사용하며 데이터가 존재하는 여러 가지 특징을 찾는다.

학습할 때 목표 출력값에 대한 정보가 없다.

x, y 끼리 모여있으면 특정한 특색에 따라서 스스로 묶이거나 유사성에 따라서 묶이거나 다양한 기준을 가지고 군집화 될 수 있다.

예를 들어 식료품점에서 우유하고 빵을 같이 사라고 강요하지 않더라도 같이 담겨있는 경우가 많은데 그 이유는 둘이 서로 필요의 관계라고 볼 수 있다.

  • 군집분석
    데이터 집합을 서로 비슷한 몇 개의 그룹으로 묶는다.
    • 계층적 군집분석
      - 응집분석
      - 분할분석
    • 비계층적 군집분석
      - k-means 군집분석
  • 특징추출
    원래 데이터로부터 데이터 분석에 적용하기 좋은 특징을 찾아낸다.
    • 영상 데이터 차원축소
    • 데이터 시각화
  •  연관성분석
    • 장바구니분석
    • 순차적 장바구니분석
  • 가중치 결정
    • 신경망

 

준지도학습(semi-supervised Learning)

지도학습 + 비지도학습

지도학습에 필요한 클래스 라벨링 비용을 줄이기 위해 비지도학습을 일부 사용한 것을 말한다.

 

강화학습

강화(Reinforcement)는 시행착오(Trial and Error)를 통해 학습하는 방법 중 하나를 의미한다. 이러한 강화를 바탕으로 강화학습은 실수와 보상을 통해 학습을 하여 목표를 찾아가는 알고리즘이다.

기존의 신경망들이 라벨(정답)이 있는 데이터를 통해서 가중치와 편향을 학습하는 것과 비슷하게 보상(Reward)이라는 개념을 사용하여 가중치와 편향을 학습한다. 

 

WorkFlow

데이터 가공 및 전처리 => 훈련 데이터 추출 => 모델 평가(실제값과 예측값의 비교)

 

 

 

EDA란?

 

탐색적 데이터 분석(Exploratory Data Analysis)로서 머신러닝 모델을 만들기 위한 전단계로 특성을 추출하거나 데이터로서 영감을 얻거나 전반적인 패턴을 알기 위하여 통계적인 분석을 시도하는 일이다. 이 단계에서 향후 쓰일 알고리즘을 결정하는 경우가 많다.

데이터 전처리 작업에는 이러한 예시가 있다

  • 데이터 멍잉(Munging)
  • 랭글링(Wrangling)
  • Missing Data 처리
  • Outlier 처리

 

데이터 분석

 

분류

  • 학습 결과
    → 결정경계(decision boundary)와 결정함수(decision function)로 나타난다.
  • 학습 목표
    → 분류 오차를 최소화하는 최적의 결정경계 𝑔(𝒙; 𝜽) = 0를 찾는 것 
  • 성능 평가 척도
    분류율을 높이고 분류오차를 낮추는 것이 학습의 목표다

2차원 분류

가장 오분류율이 적은 결정경계를 그리는 것이 목표다.

 

회귀

  • 학습 결과
     회귀함수(regression functio)로 그린다.
  • 분류와의 차이
     분류는 $y_i$가 이산적인 반면 회귀는 $y_i$가 실수형태이다.
  • 학습 목표
    회귀 오차를 최소화하는 최적의 회귀함수 𝑦 = (𝒙; 𝜽) = 0 를 찾는 것
    제곱 오차(squared error)

 

군집화

입력들을 서로 겹치지 않는 k개의 집합으로 나누고 새로운 데이터가 주어졌을 때 어느 그룹에 속할 것인지 확률로 계산해서 할당한다.

  • argmax란?
    []사이의 값을 최대로 만들어줄 인자 $i$의 값을 찾는 것이다. 즉 $D_i$를 찾아서 새로운 데이터가 $D_i$에 속하게 만든다.
  • 학습 목표
    최적의 클러스터 집합을 찾는 것이다.
    → 클러스터 내의 분산은 최소화, 클러스터 간의 분산은 최대화 하는 것이 좋다.

 

특징추출

  • 학습결과
    변환함수(embedding function)
  • 학습 목표
    분석 목적에 따라서 목적이 달라진다
    ex) 차원을 축소하는 경우 원래 데이터가 가지는 정보로부터 손실이 생긴다. 이 경우 투자대비 손실을 최소화 하는 것이 목표가 된다.

 

과다적합(over fitting)

학습 시스템이 학습 데이터에 관해서만 지나치게 적합되면서 결정경계가 잘못 형성되는 현상이다.

과적합은 주로 학습 데이터 부족이나 잡음으로 생긴다.

과적합이 생기면 새로운 데이터에 대해 일반화 성능이 저하된다.

따라서 학습오차와 검증오차를 잘 확인하여 검증오차의 오차가 줄어들다가 꺾여서 올라가는 순간을 찾아내어 조기종료를 해주는 것이 좋다.

 

반응형

댓글