상세 컨텐츠

본문 제목

[ML] Note (국내 강의)

notes

by 서울의볼 2024. 6. 21. 15:04

본문

Abantu 강의를 기초로 들음 (유튭)

 

 

- train/test set을 통해 learning함.

- k fold 교차 검증 --- 내 퀀트 모델에도 적용 가능할 듯

- 특히 데이터 수가 적을 때 쓰임.

- supervised vs unsupervised 가장 큰 차이는 답을 가지고 learning하냐 안하냐임.

    - kmeans는 비지도 학습에서 쓰이고, inertia 합이 최소일 때까지 돌림 (최적의 이너샤도 따로 그래프로 찾을 수 있음)

    -> try increasing K values until stop getting large reductions in squared errors

- naive bayes는 context를 보지 않기에 naiive라고 표현하는 듯.

- entropy : a measure of a data set's disorder - how same or different it is

    -> use decision tree (ID3) to minimize entropy

 

- ensemble learning means multiple models used to try and solve the same problem --- quant tip

    - 랜덤 포레스트로 데이터 랜덤 추출 후 질문도 랜덤으로 추출해서 반복해. 이렇게 분류된 결과를 평균내는 것 (= bagging)

    - 과적합 이슈가 있을 수 있어서...

- XGBoost 활용 필요: random forest처럼 데이터 추출해서 테스트까진 같고, 오차를 계산하는게 다름. 그리고 그 오차 데이터에 가중치 먹여서 다른 케이스에 넣음 (틀린 문제를 집중적으로 품)

    -> 최종적으로, 목적 함수를 최소화 하는 게 목표임

    - 이걸로 주식/코인 예측시 주요 feature 분석 가능할 듯 --- quant tip (보조지표+리턴도 같이 df에 넣어서 학습)

- svm시 kernel은 linear, poly, rbf있는데, 실무에선 보통 rbf (가우시안) 씀

    - 과소, 과적합 (언더피팅, 오버피팅)의 밸런스를 유념해야 함

 

- ridge회귀는 L2, lasso회귀는 L1 (가중치 합이 규제R 이하)

- k means로 안먹힐 때 계층적 클러스터링 함

    - 군집화 된 것끼리 비교해서 편차를 최소화함 (ward 기법 사용) ,, 클러스터의 개수는 별도로 정하지 않음

    - dendrogram으로 표현함 (fcluster로 추가 가공)

 

- confusion matrix를 통해 AUC - ROC curve를 그리게 됨 // 의료, 법률 분야에선 중요하게 쓰인다 함

    - scoring함, 성능 파악에 좋음

 

- 은닉층이 많아질수록 정확도 올라가지만 과적합 위험도 같이 올라감.

    - 은닉층에 쓰이는 함수를 ReLu라고 함

- 인공신경망 전체 구조는: 입력층 - 은닉층 n - 출력층 - 활성함수(소프트맥스 in 다중 / 시그모이드 in 이진)

- 이 인공신경망은 로지스틱스 회귀를 기반으로 함

 

 

- scikit learn은 머신러닝 전용, keras는 딥러닝

- 에포크(몇회 학습), 미니배치(데이터셋 n개로 나누기), 드랍아웃(노드 중 일정% 비활성화)은 러닝 성능을 높임

- 인공신경망의 조절 params: node number, layer number, epochs, mini-batch, dropout 이런걸 조절하면서 정확도 조정

- 손실함수는 이진분류든 다중분류든 cross entropy error를 씀 (이진: mse/binary cross entropy 다중: sparse categorical cross entropy)

 

- adam 기법으로 손실함수 최적화시킴 (or RMSprop)

 

- 이미지 전처리 과정: 이미지 디지털화 - 자르기 - 사이즈 통일 - 플래트닝 - 데이터베이스화

    - CNN씀 거의: 커널 - 패딩 - 풀링

    - 커널을 지나면 차이가 선명해짐 (배수)

    - 하나 하나 계산하다보면 오래걸리니까 풀링으로 특성은 살리되 최대값 꺼내서 효과적으로 계산하게 해줌

    - 패딩은 데이터 사이즈 유지해줌

 

- 실무에선 보통 train data 95, test data 95 정도로 맞춘다 함

 

- 데이터의 순서가 중요한 건 순환신경망, RNN을 사용해서 과거 데이터 영향을 받게 만듦

    - LSTM으로 foregetting factor 정해서 과거 데이터 중요도 설정 가능함 (RNN 보다 이걸 많이 쓰는 듯)

 

- 학습에 쓰이지 않는 validation data를 10-15% 정도 남겨두고 train과 test data를 튜닝시킴

 

- PCA를 과적합 해결하는데 가장 많이 쓰임 (Principal Component)

    - 차원축소 by 유사조건 하나로 만들기

    - important feature 트리계열로 불필요한 변수를 걸러내는 것도 많이 쓰이는 기법

 

- 이동평균필터 많이 쓰인다 함 == 이동평균선 같은거임 걍

    - 버터워스 필터는 딜레이가 있으면 안되는 상황(기계/로봇 같은거)에 쓰임 ,, 정밀제어 by 라플라스 변환 (좀 어려운 개념인듯)

    - 하이패스필터 == 고주파 통과 필터(이미지용): 1) 모서리 부분 추출(샤프닝) 2) 데이터 drift 제거

 

- 샘플링 데이터 길이가 다를 땐 보간하면 됨

- 시계열 데이터 비교엔 SMAPE

 

- Gaussian Process Regression(GPR)이 가장 강력한 회귀법이라고 함

    - 관계식 도출 필요로 하지 않음. 어떻게든 답을 찾음.

    - Gaussian Mixture Model (GMM)은 label이 없는 상태에서 클러스터링 함 by 우도(likelihood)를 최대화하는 방향으로

 

 

 

 

 

 

인간이 정하는 변수를 hyper parameter라고 함 (C값 같은거)

 

관련글 더보기