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)
- 기계나 에이전트가 주변 환경의 피드백으로부터 행동을 학습하는 것
- 에이전트는 지도를 받지 않고 스스로 결정을 내린 후에 마지막에 그 결과에 따라 보상을 받게 됨
- 보상값에 따라 에이전트는 실행했던 이력을 재평가
- 목표 변수와 다른 변수간의 관계를 기계가 학습하도록 가르치는 것
- 지도학습(Supervised learning)
03. 통계 모델링과 머신러닝의 차이점
통계 모델링 | 머신러닝 |
변수 간의 관계를 수학식을 통해 정형화 | 규칙 기반 프로그래밍에 의존하지 않고 데이터로부터 학습 가능한 알고리즘 |
데이터에 맞는 모델 적합화를 수행하기 전 미리 곡선 형태를 가정 | 주어진 데이터로부터 복잡한 패턴을 스스로 학습하는 알고리즘이므로 곡선의 형태를 미리 가정하지 않음 |
P값 같은 다양한 매개변수 진단이 수행됨 | 어떠한 통계적 유의성 진단도 수행하지 않음 |
데이터는 훈련집합과 테스트집합으로 나뉨. 모델은 훈련 데이터에서 개발되고, 초매개변수는 검증 데이터를 통해 튜닝되고, 최종적으로는 테스트 데이터에 관해 평가 | 통계학과, 수학과 |
04. 머신러닝과 딥러닝의 차이점
05. 머신러닝 모델 개발과 배치를 위한 단계
- 데이터 수집
- 구조화된 소스, 웹크롤링, API 등을 통해 직접 수집
- 정형 데이터와 비정형 데이터를 모두 처리할 수 있음
- 데이터 준비, 결측치/이상치 처리
- 선택한 머신러닝 알고리즘에 맞도록 데이터를 가공
- 결측치나 이상치는 평균값이나 중간값 등으로 대체
- 데이터 분석과 변수 선택
- 변수들 사이의 숨겨진 패턴 및 관계를 찾아내기 위한 과정
- 올바른 변수 선택과 사업 분야에 관한 충분한 배경지식을 동원한다면 목표의 70% 정도를 달성할 수 있음
- 훈련 알고리즘
- 데이터를 훈련, 검증 테스트로 분리
- 훈련 데이터에 머신러닝을 적용하고 과대적합(Overfitting)을 피하기 위해 검증 데이터를 대상으로 모델의 초매개변수를 튜닝
- 테스트 데이터를 사용한 알고리즘 테스트
- 훈련에 사용하지 않은 낯선 데이터를 대상으로 성능 점검을 수행
- 이 단계에서 충분히 성능이 인정되면 마지막 단계로 넘어감
- 알고리즘 배치
- 비즈니스에 적용
06. 머신러닝 모델 튜닝을 멈추는 시점
- 과소적합 단계(Underfitting)
- 높은 훈련 오류 및 테스트 오류
- 낮은 훈련 정확도 및 테스트 정확도
- 적합 단계(Good fit)
- 이상적인 시나리오
- 낮은 훈련 오류 및 테스트 오류
- 높은 훈련 정확도 및 테스트 정확도
- 과대적합 단계(Overfitting)
- 낮은 훈련 오류와 높은 테스트 오류
- 높은 훈련 정확도와 낮은 테스트 정확도
07. 사이킷런
- 사이킷런(scikit-learn)은 파이썬 머신러닝 라이브러리 중 가장 많이 사용하는 라이브러리
- 파이썬 기반의 머신러닝을 위한 가장 쉽고 효율적인 개발 라이브러리를 제공
08. 사이킷런의 특징
- 가장 쉽고 가장 파이썬스러운 api
- 머신러닝을 위한 매우 다양한 알고리즘을 제공
- 오랜 기간 실전 환경에서 검증되었으며, 많은 환경에서 사용되는 라이브러리
- Anaconda를 설치하면 기본으로 사이킷런까지 설치가 완료됨
Estimator
- 지도학습의 모든 알고리즘을 구현한 클래스의 통칭
- 종류
- Classifier : 분류 알고리즘을 구현한 클래스
- Regressor : 회귀 알고리즘을 구현한 클래스
- 메서드
- fit() : ML 모델 학습 결과를 반환
- predict() : 학습된 모델의 예측 결과를 반환
사이킷런의 데이터 전처리
- ML 알고리즘은 데이터에 기반하고 있기 때문에 어떤 데이터를 입력으로 가지느냐에 따라 결과도 크게 달라질 수 있음
- 사이킷런 사용시 데이터 전처리 과정의 유의점
- 결측값은 허용하지 않음
- 결측치를 어떤 값으로 대체할지는 경우에 따라 다름
- 결측값이 얼마 되지 않는다면 평균값 등으로 대체할 수 있음
- 대부분이 결측값이라면 오히려 삭제하는 것이 더 좋을 수 있음
- 해당 피처가 중요한 피처이거나 단순히 평균값으로 대체했을 때 왜곡이 심해질 수 있다면 업무 로직 등을 상세히 검토해 더 정밀한 대체값을 선정해야 함
- 적절한 수준이 정확히 몇 퍼센트까지인지에 대한 기준은 없음
- 문자열 값을 입력값으로 허용하지 않음
- 모든 문자열 값은 숫자형으로 변환
- 문자열 피처는 일반적으로 카테고리형 피처와 텍스트형 피처를 의미
- 카테고리형 피처는 코드값으로 표현
- 텍스트형 피처는 피처 벡터화 등의 기법으로 벡터화하거나 삭제
- 결측값은 허용하지 않음
09. 분류와 회귀의 종류
이진분류 - KNN, 로지스틱 회귀
회귀 - KNN, 선형회귀
728x90