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값 같은거)
[Python] 파이썬 기초 (0) | 2024.06.12 |
---|---|
[Flutter] 요약*** 꿀팁들 (0) | 2024.05.10 |
[Flutter] 실무 v0.1.0 (0) | 2024.05.08 |
[Flutter] 간단 비서앱, ML Kit 개념 및 종류 (0) | 2024.05.06 |
[Flutter] 간단 실시간 퀴즈 앱 (RTDB, StreamBuilder, onValue) (0) | 2024.05.06 |