머신러닝, 딥러닝(21)
-
[머신러닝] SVM 개념
📚 SVM ✅ 개요 https://en.wikipedia.org/wiki/Support-vector_machine#/media/File:Svm_separating_hyperplanes_(SVG).svg • 2010년 전후로 많이 사용되었는데 정형 데이터에 대해서는 앙상블 기법, 비정형 데이터에 대해서는 인공신경망이 등장하면서 상대적으로 사용 빈도가 감소했다. • 주로 분류 문제에 많이 사용된다. 관측치를 벡터로 변환해서 공간상의 점으로 표현하고 그 점들을 구분하는 여러 개의 hyperplane(직선) 중에서 최적의 직선을 찾는 방식으로 학습한다. • n차원 공간(피쳐가 n개가 있는 경우)에 대한 하이퍼플레인은 다음과 같이 표현된다. 즉 위와 같이 2차원 공간에서는 직선의 형태가 되고 b0, b1, b2와..
2023.12.05 -
[머신러닝] 데이터 불균형/ Oversampling 개념
📚 Imbalanced Dataset ✔ 데이터 불균형 : 이진 분류 문제에서 특정 클래스의 관측치가 상대적으로 더 많은 경우. 이러한 경우에는 majority에 대해서는 예측을 잘 진행할 수 있으나, minority class에 대해서는 예측 성능이 떨어진다. ✔ 예시 : fraud detection, 질병 예측, 신용불량자 예측, 기기 고장 예측, spam detection → 이러한 task는 minority class를 정확하게 예측하는 것이 더 중요하다. 하지만 대부분의 데이터에는 majority class의 샘플이 훨씬 많다. 📌사용하는 평가 지표 데이터 불균형이 심할 경우에 평가 지표로 accuracy를 사용하는 것은 바람직하지 않다. 전체 데이터에서 majority class가 90%인 경..
2023.12.01 -
[머신러닝] 하이퍼 파라미터 튜닝/ Cross validation 개념
📚 Hyperparameter란 일반적으로 모델에서 학습을 통해서 값이 결정되는 값을 파라미터라고 한다. 이 중에서 사용자가 값을 결정할 수 있는 파라미터를 하이퍼 파라미터라고 부른다. 하이퍼파라미터는 여러 가지 값을 대입해 보면서 최적의 값을 선택해야 한다. 이렇게 파라미터 값을 변경하면서 최적 값을 찾는 과정을 "모델 튜닝" 이라고 부른다. 📌주의점! 하이퍼 파라미터 튜닝 시, test set을 사용해서는 안된다. Test set은 모델의 최종 성능 평가를 위해서 사용되므로 모델의 학습 과정에서는 절대 사용되어서는 안된다. 따라서 validation set을 추가하여 사용해야 한다. 📚 K-fold crossvalidation Cross validation은 모델 과적합을 감소시키고 모형의 일반화 가..
2023.12.01 -
[머신러닝] Confusion Matrix, ROC 곡선 개념
📚 Confusion Matrix • 종속변수의 실제값과 예측값에 따른 관측치의 분포를 나타내는 매트릭스로 classification 문제의 주요 평가 지표로 사용된다. '잘못' 예측한 경우 'False'가 붙는다. 사이킷런의 classfication_report 클래스를 이용하면 편하게 계산할 수 있다. • support는 각각 0,1인 관측치의 갯수 • macro avg : 0,1일 때의 값을 단순 평균 =(0.83+0.94)/2 • weighted avg : 전체 데이터에서 0,1에 해당하는 관측치의 갯수에 대해서 가중치를 부여해서 평균을 계산한다. =(0.83*11/30)+(0.94*19/30) 📚AUC •종속변수 값을 무엇으로 예측할 지 기준이 되는 cutoff(threshold) 값을 0부터 ..
2023.12.01 -
[머신러닝] Logistic Regression 개념
📚 로지스틱 회귀 ✅ 기본 개념 종속변수의 클래스 수가 2개인 경우에는 Binomial Logistic Regression, 3개 이상인 경우에는 Multinomial Logistic Regression을 사용한다. Logistic regression은 y가 1일 확률 P(y=1|X)과 y가 0일 확률을 이용을 모형의 종속변수로 이용 📌크로스 엔트로피 로지스틱 회귀는 위의 교차 엔트로피를 최소화하는 파라미터(b1, b2, ....)를 찾는 방향으로 학습한다. 📌학습 시 참고 로지스틱 회귀에서도 규제를 추가할 수 있다. C값은 1/람다이므로 값이 작아질수록 규제 패널티 텀이 크다는 것을 의미한다. C=1에 비해서 C=0.1인 경우에 모델 학습 후 계수를 출력해보면, 계수가 0인 변수들이 증가한다. ✅ 로지..
2023.12.01 -
[PyTorch] RNN, LSTM
📚 RNN을 이용한 KOSPI 주가 예측 코스피 주가 데이터를 이용해서 주가 예측을 실시한다. 📌 데이터/라이브러리 불러오기 import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt from google.colab import drive drive.mount('/content/drive') cd drive/My\ Drive/파이토치 스터디 df = pd.read_csv('kospi.csv') df.head() 총 413일의 시가, 종가, 최고..
2023.12.01