향후 머신러닝 기초부터 심화개념, 다양한 모델들, 실제 금융데이터에 적용한 사례들 및 딥러닝, 강화학습 개념 및 적용사례들을 차례로 정리해나가고자 한다.
머신러닝의 필요성
머신러닝이 필요한 이유는, 머신러닝은 복잡한 문제를 데이터를 기반으로 숨겨진 패턴을 인지하여 해결한다. 머신러닝 알고리즘은 데이터를 기반으로 통계적인 신뢰도를 강화하고 예측 오류를 최소화하기 위해 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지, 신뢰도 있는 예측결과를 도출해 내게 된다.
머신러닝의 분류
(1) 지도학습 (2) 비지도학습 (3) 강화학습
(1) 지도학습 - 명확한 결정값이 주어진 데이터를 학습하는 것 (분류, 회귀)
(2) 비지도학습 - 결정값이 주어지지 않는 데이터를 학습하는 것 (군집화, 차원축소)
(3) 강화학습 - agent가 enviornment에서 trial & error를 거치며 loss를 최소화하는 방향으로 전략을 수정해나가는 학습방법
머신러닝의 단점
-데이터 의존적 (Garbage In, Garbage Out)
- 학습된 머신러닝 모델은 실제 환경 데이터 적용시 과적합 되기 쉬움
- 머신러닝 블랙박스
- 끊임없이 모델을 개선하기 위한 노력필요 (하이퍼 파라미터 최적화 등)
Python
- Google, Facebook 등 유수의 IT 업계에서도 Python의 높은 생산성으로 인해 활용도가 매우 높음
- 오픈 소스 계열의 전폭적인 지원을 받고 있음
- 쉽고 유연한 특징으로 인해 데스크탑, 서버, 네트웍, 시스템, IOT 등 다양한 영역에서 사용되고 있음
- 분석 영역을 넘어서 ML 기반의 다양한 Application 개발이 쉬움
- 기존 Application과의 연계도 쉬움
- Enterprise 아키텍처에도 연계, 확장 가능
- 유수의 Deep Learning Framework -> Python 기반으로 작성
- Deep Learning을 활용하기에 가장 좋은 시작점이 Python임
파이썬 머신러닝 생태계를 구성하는 주요 패키지
사이킷런으로 시작하는 머신러닝
- 사이킷런 스타일의 API의 경우 쉽고 가장 Python스러운 API를 제공함
- 머신러닝을 위한 매우 다양한 알고리즘 개발과 편리한 프레임워크와 API를 제공
- 오랜 기간 실전 환경에서 검증
- 주로 Numpy와 Scipy 기반 위에서 구축된 라이브러리 (확률, 통계기반)
지도학습 - 분류
- 분류 (Classification)은 대표적인 지도학습 ( Supervised Learning) 방법의 하나
- 지도학습은 학습을 위한 다양한 피처와 분류 결정값인 레이블(Label) 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터 세트에서 미지의 레이블을 예측함
사이킷런 기반 프레임워크
사이킷런의 주요 모듈
K 폴드 교차 검증
Stratified K 폴드
교차검증법 - cross_val_score(), GridSearchCV
'머신러닝' 카테고리의 다른 글
머신러닝 Scikit-Learn 사용법 요약 (1) | 2023.03.24 |
---|---|
MNIST (0) | 2023.02.24 |
Logistic Regression (0) | 2023.02.24 |
Regression (0) | 2023.02.24 |
Measuring Performance & Model Valuation (1) | 2023.02.23 |