08_ML(Machine_Learning)

01. 머신러닝 기본 이론

chuuvelop 2025. 4. 2. 17:26
728x90
머신러닝 기본 이론

 

 

01. 통계 기본 이론
  • 예측 분석학
  • 대전제는 역사는 반복적이다
  • 과거 데이터에 대한 적합화를 수행하여 이를 테스트
    • 결과 성능에 대한 척도가 검증되면
    • 동일 모델에 대해서 미래 예측에 활용
  • 독립변수
    • 관측치, 입력변수, 특징, feature등
  • 종속 변수
    • 결과 변수, 반응 변수, 응답 변수, 레이블 등
  • 변수들로 이루어진 수학식
    • 이를 이용하여 계산 후 실제에 적용
    • 이를 통해서 추정 -> 통계 학문
  • 가정
    • 항상 모든 변수들이 만족해야하는 기본 가정으로부터 시작

 

 

02. 머신러닝

 

  • 의의
    • 머신러닝은 과거 경험에서 학습을 통해 얻은 지식을 미래의 결정에 이용하는 전산학의 한 분야
    • 전산학과 공학, 통계학의 교집합으로 볼 수 있음
  • 목표
    • 관측된 패턴을 일반화하거나 주어진 예제를 통해 새로운 규칙을 생성하는 것
  • 종류
    • 지도학습(Supervised learning)
      • 목표 변수와 다른 변수간의 관계를 기계가 학습하도록 가르치는 것
        • 분류 문제(Classification) 
        • 회귀 문제(Regression)
      • 비지도 학습(Unsupervised learning)
        • 지도나 목표 변수를 설정하는 과정 없이 알고리즘이 스스로 학습
        • 주어진 데이터 사이의 숨은 패턴이나 관계를 찾는 것
          • 차원 축소(Dimensionality reduction)
          • 군집화(Clustering)
      • 강화학습(Reinforcement learning)
        • 기계나 에이전트가 주변 환경의 피드백으로부터 행동을 학습하는 것
        • 에이전트는 지도를 받지 않고 스스로 결정을 내린 후에 마지막에 그 결과에 따라 보상을 받게 됨
        • 보상값에 따라 에이전트는 실행했던 이력을 재평가

 

03. 통계 모델링과 머신러닝의 차이점
통계 모델링 머신러닝
변수 간의 관계를 수학식을 통해 정형화 규칙 기반 프로그래밍에 의존하지 않고 데이터로부터 학습 가능한 알고리즘
데이터에 맞는 모델 적합화를 수행하기 전 미리 곡선 형태를 가정 주어진 데이터로부터 복잡한 패턴을 스스로 학습하는 알고리즘이므로 곡선의 형태를 미리 가정하지 않음
P값 같은 다양한 매개변수 진단이 수행됨 어떠한 통계적 유의성 진단도 수행하지 않음
데이터는 훈련집합과 테스트집합으로 나뉨. 모델은 훈련 데이터에서 개발되고, 초매개변수는 검증 데이터를 통해 튜닝되고, 최종적으로는 테스트 데이터에 관해 평가 통계학과, 수학과

 

 

04. 머신러닝과 딥러닝의 차이점

 

05. 머신러닝 모델 개발과 배치를 위한 단계
  1. 데이터 수집
    • 구조화된 소스, 웹크롤링, API 등을 통해 직접 수집
    • 정형 데이터와 비정형 데이터를 모두 처리할 수 있음
  2. 데이터 준비, 결측치/이상치 처리
    • 선택한 머신러닝 알고리즘에 맞도록 데이터를 가공
    • 결측치나 이상치는 평균값이나 중간값 등으로 대체
  3. 데이터 분석과 변수 선택
    • 변수들 사이의 숨겨진 패턴 및 관계를 찾아내기 위한 과정
    • 올바른 변수 선택과 사업 분야에 관한 충분한 배경지식을 동원한다면 목표의 70% 정도를 달성할 수 있음
  4. 훈련 알고리즘
    • 데이터를 훈련, 검증 테스트로 분리
    • 훈련 데이터에 머신러닝을 적용하고 과대적합(Overfitting)을 피하기 위해 검증 데이터를 대상으로 모델의 초매개변수를 튜닝
  5. 테스트 데이터를 사용한 알고리즘 테스트
    • 훈련에 사용하지 않은 낯선 데이터를 대상으로 성능 점검을 수행
    • 이 단계에서 충분히 성능이 인정되면 마지막 단계로 넘어감
  6. 알고리즘 배치
    • 비즈니스에 적용

 

 

06. 머신러닝 모델 튜닝을 멈추는 시점

 

 

  • 과소적합 단계(Underfitting)
    • 높은 훈련 오류 및 테스트 오류
    • 낮은 훈련 정확도 및 테스트 정확도
  • 적합 단계(Good fit)
    • 이상적인 시나리오
    • 낮은 훈련 오류 및 테스트 오류
    • 높은 훈련 정확도 및 테스트 정확도
  • 과대적합 단계(Overfitting)
    • 낮은 훈련 오류와 높은 테스트 오류
    • 높은 훈련 정확도와 낮은 테스트 정확도

 

07. 사이킷런
  • 사이킷런(scikit-learn)은 파이썬 머신러닝 라이브러리 중 가장 많이 사용하는 라이브러리
  • 파이썬 기반의 머신러닝을 위한 가장 쉽고 효율적인 개발 라이브러리를 제공

 

08. 사이킷런의 특징
  • 가장 쉽고 가장 파이썬스러운 api
  • 머신러닝을 위한 매우 다양한 알고리즘을 제공
  • 오랜 기간 실전 환경에서 검증되었으며, 많은 환경에서 사용되는 라이브러리
  • Anaconda를 설치하면 기본으로 사이킷런까지 설치가 완료됨

 

Estimator

  • 지도학습의 모든 알고리즘을 구현한 클래스의 통칭
  • 종류
    • Classifier : 분류 알고리즘을 구현한 클래스
    • Regressor : 회귀 알고리즘을 구현한 클래스
  • 메서드
    • fit() : ML 모델 학습 결과를 반환
    • predict() : 학습된 모델의 예측 결과를 반환
 

사이킷런의 데이터 전처리

  • ML 알고리즘은 데이터에 기반하고 있기 때문에 어떤 데이터를 입력으로 가지느냐에 따라 결과도 크게 달라질 수 있음
  • 사이킷런 사용시 데이터 전처리 과정의 유의점
    • 결측값은 허용하지 않음
      • 결측치를 어떤 값으로 대체할지는 경우에 따라 다름
      • 결측값이 얼마 되지 않는다면 평균값 등으로 대체할 수 있음
      • 대부분이 결측값이라면 오히려 삭제하는 것이 더 좋을 수 있음
        • 해당 피처가 중요한 피처이거나 단순히 평균값으로 대체했을 때 왜곡이 심해질 수 있다면 업무 로직 등을 상세히 검토해 더 정밀한 대체값을 선정해야 함
      • 적절한 수준이 정확히 몇 퍼센트까지인지에 대한 기준은 없음
    • 문자열 값을 입력값으로 허용하지 않음
      • 모든 문자열 값은 숫자형으로 변환
      • 문자열 피처는 일반적으로 카테고리형 피처와 텍스트형 피처를 의미
        • 카테고리형 피처는 코드값으로 표현
        • 텍스트형 피처는 피처 벡터화 등의 기법으로 벡터화하거나 삭제

 

09. 분류와 회귀의 종류

 

이진분류 - KNN, 로지스틱 회귀

회귀 - KNN, 선형회귀

728x90