Machine_learning

Table of contents


머신러닝

머신러닝이란?

머신러닝이란?

머신러닝(Machine Learning)

  • 데이터를 재료로 하여 컴퓨터가 능력을 습득할 수 있게 프로그래밍 하는 과학
  • 컴퓨터의 학습은 데이터를 통해 패턴을 찾아 성능이 향상되는 것
  • 머신러닝 과정에서 컴퓨터는 주어진 데이터를 분석하고, 학습하며 모델을 만듦. → 패턴을 인식할 수 있는 능력이 생김 → 새로운 데이터 입력했을 때도 기존 정보들을 바탕으로 패턴을 찾고 결과를 판단함

컴퓨터의 학습 방법

  • 컴퓨터는 학습을 통하여 데이터에서 패턴을 찾고 특정 분야에 대한 능력 을 획득
    • 반복적인 계산을 통해 점점 정답과 가까운 결과를 얻는 방식으로 학습

⇒ 기계학습 : 사람처럼 생각하여 학습하는 것이 아닌 반복 계산을 통해 정답으로 가까워지는 과정

데이터의 역할

  • 컴퓨터에게 데이터는 학습을 위한 자료

⇒ 많은 데이터, 질 좋은 데이터를 사용할수록 더욱 정확하게 학습이 가능함

머신러닝의 효용

  • 인간이 못 알아챈 동향이나 패턴 파악 가능

    대량의 데이터를 검토하고 계산하기 때문에 사람이 파악하지 못한 패턴을 찾을 수 있음

  • 지속적인 개선

    데이터가 쌓이면서 점점 정확성과 효율성이 증가하기 때문에 데이터 양이 많아질수록 머신러닝의 성능이 좋아질 확률이 높음.

    ⇒ 데이터를 확보하고 개선 가능

  • 다양한 데이터 활용 가능

    인간이 직관적으로 이해하기 어려운 데이터도 모두 활용하여 분석할 수 있음

머신러닝의 종류

머신러닝의 종류

  • 머신러닝은 크게 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning), 강화학습(Reinforcement learning) 으로 구분 가능

지도학습

  • 학습할 데이터에 정보와 정답을 포함하는 방법
  • 정답이 있기 때문에 정답에 대한 데이터 특성 학습 가능
  • input 특성들을 활용하여 ouput 특성 예측
    • input 특성 : 정답을 맞추기 위해 사용되는 데이터 특성
    • ouput 특성 : 정답이 되는 데이터 특성

비지도학습

  • 지도학습과 반대로 학습할 데이터에 정보만 제공 (정답 포함 X)
  • 데이터들이 얼마나 서로 비슷한지 비교하며 학습
  • ex. 넷플릭스 추천 시스템

강화학습

  • 기계에게 주어진 규칙 안에서 여러 가지를 시도해 보도록 하고, 그 결과에 대한 보상을 제공함으로써 학습시키는 방법
    • 기계는 조건 안에서 여러 가지 성공도 하고 실패도 하면서 경험을 축적함. 성공한 경험으로 도달하는 방법을 사용했을 때에는 보상이 주어지기 때문에 점점 성공하는 방법을 학습하게 되는 방식
  • 사람이 학습하는 방법과 가장 닮았다고 평가받는 학습 방법

머신러닝의 프로세스

머신러닝의 프로세스

1. 데이터 전처리

  • 지저분한 데이터를 분석이 가능한 형태로 변환하고, 처리해주는 작업
    • 데이터 정제(data cleaning) : 지저분한 데이터를 머신러닝 모델에 넣을 수 있도록 깔끔하게 정제하는 과정
    • 특성 엔지니어링(feature engineering) : 분석 목적에 맞게 새로운 특성(feature)을 생성하는 과정
    • 피쳐 스케일링(feature Scaling) : 특성들의 범위가 다를 때 범위를 맞추어주는 과정
    • 더미화(dummification) : 범주 형태의 데이터를 수치형 0, 1로 바꿔주는 과정

2. 탐색적 데이터 분석 (Exploratory Data Analysis)

  • 기본적이고 탐색적인 분석을 통해 데이터가 가진 특징을 찾고, 패턴을 발견하는 과정
  • EDA의 종류
    • 시각화(Graphic) : 차트 혹은 그림 등을 이용하여 데이터를 확인하는 방법
    • 비시각화(Non-Graphic) : 그래픽적인 요소를 사용하지 않는 방법으로, 주로 Summary Statistics를 통해 데이터를 확인하는 방법
  • EDA의 유형
    • Uni-Non Graphic(일변량 비시각화) : 주어진 데이터의 Distribution을 확인하는 것이 주목적.
    • Uni-Graphic(일변량 시각화) : 주어진 데이터를 전체적으로 살펴보는 것이 주목적.
    • Multi-Non Graphic(다변량 비시각화) : 주어진 둘 이상의 변수간 관계를 확인하는 것이 주목적.
    • Multi-Graphic(다변량 시각화) : 주어진 둘 이상의 변수간 관계를 전체적으로 살펴보는 것이 주목적.

3. 모델 선택 및 구축

  • 모델(Model) : 컴퓨터가 데이터를 학습하고 원하는 값을 계산하는 방법(알고리즘)
  • 알고리즘 중에 우리가 가진 데이터, 우리가 해결하고 싶은 문제에 맞는 모델을 선택하고, 데이터를 학습시켜 모델을 구축

4. 성능 평가 및 적용

  • 해당 모델이 얼마나 좋은 성능을 낼 수 있는지 평가하는 과정
  • 정답이 있는 지도학습이라면 모델이 예측한 정답과 실제 정답과 일치하는지를 비교하고, 정답이 없는 비지도학습이라면 비슷한 특성들이 가진 패턴을 잘 찾았는지 평가
  • 또한, 모델을 만들기 위해 학습한 데이터가 아닌 새로운 데이터들에도 좋은 성능이 나타나는지 평가 및 적용도 가능