[KT AIVLE 5기 AI트랙] 4주차 회고(1)

pwrwpw·2024년 3월 17일
1

KT AIVLE

목록 보기
4/21

머신러닝에 대한 강의가 3.11 ~ 3.15일 까지 진행되었어요


머신러닝 이란?

인간은 경험을 토대로 예측을 하지만, 머신러닝은 방대한 양의 데이터를 예측 혹은 분류하고자 할 때 기계를 학습시키는데 그것을 머신러닝이라고 부릅니다.

머신러닝 즉, 기계가 학습하기 위해서는 적정량의 데이터가 필요합니다.
또한 기계는 언어를 모르므로 숫자 데이터만을 입력해야합니다.(Target은 예외)
적정량의 데이터를 선정하는 과정을 전처리라고 합니다.

-> 따라서 데이터를 잘 가공해야만 머신러닝의 성능이 향상됨

머신러닝은 학습 방법에 따른 분류와 과제에 따른 분류로 나눌수 있어요

학습 방법에 따른 분류

  1. 지도 학습
    • 학습 대상이 되는 데이터에 정답을 주어 규칙성
    • 즉 데이터 패턴을 배우게 하는 학습 방법
  2. 비지도 학습
    • 정답이 없는 데이터만을 배우게 하는 학습 방법
  3. 강화학습
    • 선택한 결과에 대해 보상을 받아 행동을 개선하면서 배우게 하는 학습 방법

과제에 따른 분류

  1. 분류 문제
    • 이미 적절히 분류된 데이터를 학습하여 분류 규칙을 찾고
    • 그 규칙을 기반으로 새롭게 주어진 데이터를 적절히 분류(지도학습)
  2. 회귀 문제
    • 이미 결과값이 있는 데이터를 학습하여 입력 값과 결과 값의 연관성을 찾고
    • 그 연관성을 기반으로 새롭게 주어진 데이터에 대한 값을 예측하는 것을 목적으로 함(지도학습)
  3. 클러스터링
    • 주어진 데이터를 학습하여 적절히 분류 규칙을 찾아 데이터를 분류함을 목적
    • 정답이 없으니 성능을 평가 하기 어려움(비지도학습)

-> 회귀는 연속적인 숫자를 예측하는 것이고, 분류는 범줏값을 예측함

과대적합(overfitting), 과소적합(underfitting)

과대적합이란?

머신러닝 모델을 학습할 때 학습 데이터셋에 지나치게 최적화하여 발생하는 문제
모델을 지나치게 복잡하게 학습하여 학습 데이터셋에서는 모델 성능이 높게 나타나지만 정작 새로운 데이터가 주어졌을 때 정확한 예측/분류를 수행하지 못함

과소적합이란?

과대적합의 반대 개념으로서 머신러닝 모델이 충분히 복잡하지 않아(최적화가 제대로 수행되지 않아) 학습 데이터의 구조/패턴을 정확히 반영하지 못하는 문제

Scikit-Learn

Scikit-Learn이란? 지도/비지도 학습 알고리즘을 제공하는 대표적인 파이썬 라이브러리
여러 알고리즘을 같은 구조의 코드로 사용할 수 있기 때문에 배우기가 쉬움

모델링 코드 구조

  1. 불러오기 - 사용할 알고리즘과 평가를 위한 함수 import
  2. 선언하기 - 사용할 알고리즘용 함수로 모델 선언
  3. 학습하기 - 모델.fit(x_train, y_train) 형태로 모델 학습 시키기
  4. 예측하기 - 모델.predict(x_test) 형태로 예측한 결과 변수로 저장
  5. 평가하기 - 실젯값 예측값 평가 함수에 전달해 성능 평가

따라서 구조는 같고 선언하는 부분과 평가하는 부분만 각 알고리즘에 맞게 수정하면 코드가 동작함
-> 배우기가 쉬움

0개의 댓글