머신러닝 기본

장재형·2023년 3월 16일
0

머신러닝

목록 보기
1/1

💡 개요

인간의 사고를 효율적인 계산 및 처리를 바라보는 관점에서부터 접근하여 모방하는 방법의 또 다른 줄기

"A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E" , Tom M. Mitchell

즉, 어떠한 작업 T에 대해 꾸준한 경험 E를 통하여 그 T에 대한 성능 P를 높이는 것

💡 학습 방법에 따른 분류

지도학습

입력 값(X)이 주어지면 입력값에 대한 Label(Y)를 주어 규칙성, 즉 데이터의 패턴을 학습시키며 대표적으로 분류, 회귀 문제가 있음.

  1. 분류(Classification)
    분류는 주어진 데이터를 정해진 카테고리(Label)에 따라 분류하는 문제를 말함.
    분류는 맞다, 아니다 등의 이진 분류 문제 또는 무엇인지 분류하는 다중 분류 문제로 나눌 수 있음.
    예제
    추가예정

  2. 회귀(Regression)
    회귀는 어떤 데이터들의 Feature를 기준으로, 연속된 값(Graph)을 예측하는 문제로 주로 어떤 패턴이나 트렌드를 예측할 때 사용됨.
    예제
    추가예정


비지도학습

정답이 없는 데이터 만으로 배우게 하는 학습 방법

강화학습

선택한 결과에 대해 보상을 받아 행동을 개선하면서 배우게 하는 학습 방법

💡 목적에 따른 분류

분류(Classification)

이미 적절히 분류된 데이터를 학습하여 분류규칙을 찾고, 그 규칙을 기반으로 새롭게 주어진 데이터를 적절히 분류하는 것을 목적으로 함

회귀(Regression)

이미 결과값이 있는 데이터를 학습하여 입력 값과 결과 값의 연관성을 찾고, 그 연관성을 기반으로 새롭게 주어진 데이터에 대한 값을 예측하는 것을 목적으로 함

클러스터링(Clustering)

주어진 데이터를 학습하여 적절한 분류 규칙을 찾아 데이터를 분류함을 목적으로 함. 정답이 없으니 성능을 평가 하기 어려움

분류와 회귀 구분법

예측해야 할 값들 사이의 연속성 유무
연속성 O -> 회귀
연속성 X -> 분류


💡 기초

모델(Model)

데이터로부터 패턴을 찾아 수학식으로 정리해 놓은 것
관측값과 모델의 차이 -> 오차
통계학에서 사용되는 가장 단순한 모델 중 하나가 평균

데이터 분리

학습용 : 평가용 = 7 : 3 or 8 : 2로 분리해서 사용

과대적합 vs 과소적합

  • 과대적합(Overfitting)
    학습 데이터에서 점수가 매우 높았는데, 평가 데이터에서 점수가 매우 낮은 경우
    학습 데이터에 대해서만 잘 맞는 모델 -> 실전에서 예측 성능이 좋지 않음
    ex) 야구공을 주면서 "이게 공이야" 라며, 학습 시키면 다른 공은 공이 아닌 걸로 인식하는 경우

  • 과소적합(Underfitting)
    학습 데이터보다 평가 데이터 점수가 더 높거나 두 점수 모두 너무 낮은 경우
    모델이 너무 단순하여 학습 데이터에 적절히 훈련되지 않은 경우
    ex) 야구공을 주고 둥근 것만 인식 시키면, 수박을 주어도 공으로 인식

    너무 과하게 또는 유하게 학습시키면 실전 성능 저하로 이어짐


💡 Scikit-Learn

  • 지도/비지도 학습 알고리즘을 제공하는 대표적인 파이썬 라이브러리
  • 오픈소스
  • 여러 알고리즘을 같은 구조의 코드로 사용할 수 있어 배우기 쉬움
  • 여러 에제 데이터셋(토이 데이터셋)을 포함하고 있어 학습에 용이
  1. 불러오기 : 라이브러리를 import
  2. 선언하기 : 사용할 알고리즘을 model로 선언
  3. 학습하기 : model.fit(x_train, y_train) 형태로 학습
  4. 예측하기 : model.predict(x_test) 형태로 예측 값 생성
  5. 평가하기 : 예측 값과 실제 값을 비교하여 평가

💡 성능평가

분류 모델

예측값이 실젯값과 많이 같을 수록 좋은 모델
정확히 예측한 비율로 모델 성능을 평가
정확도를 높일 수록 좋음

회귀 모델

예측값이 실젯값에 가까울 수록 좋은 모델이다.
예측값과 실젯값의 차이(=오차)로 모델 성능을 평가
오차를 줄일 수록 좋음

profile
HYU 17'

0개의 댓글