컴퓨터하는 상어
-
Uncertainty Quantification(불확실성의 정량화)Data Science/데이터마이닝 2022. 11. 26. 11:28
아래그림은 x축이 독립변수, y축이 종속변수이며 5개의 학습 데이터(초록색 x)가 주어진 상태이다. 파란색 line이 데이터를 생성하는 분포이며, 주황색 line이 생성된 regression 모델이다. 주황색으로 칠해진 배경은 불확실성(uncertainty)를 의미한다. 실제로 값이 관측된 구간에서는 불확실성이 0에 가깝지만, 관측값 사이의 거리가 멀고 값의 차이가 높을 수록 불확실성은 커지는 것을 확인할 수 있다. 이진 분류 문제에서의 불확실성은 아래와 같이 표현될 수 있다. 이러한 불확실성은 데이터의 증가를 통해서 해결할 수 있기 때문에 epistemic uncertainty라고 한다. 그렇다면 반대로 데이터 자체에서 불확실성을 가지고 있는 Aleatoric uncertainty도 존재한다. 대표적으..
-
머신러닝/딥러닝 하이퍼파라미터 최적화(ML/DL Hyperparameter Optimization)Data Science/데이터마이닝 2022. 11. 26. 10:53
1. 머신러닝/딥러닝 하이퍼파라미터 최적화란? 머신러닝 및 딥러닝 모델은 데이터로부터 모델 파라미터(가중치, weight, \(\theta\)를 스스로 학습해 나아간다. 그렇다면 하이퍼파라미터라는 것은 무엇일까? 이는 모델을 설계하면서 사람이 직접 정해주어야하는 값을 의미한다. Tree 기법에서의 최대깊이(max depth) 또는 학습률(learning rate), k-means 기법에서의 군집개수(k) 등이 이에 해당한다. 모델에서 최적의 하이퍼파라미터 세팅을 찾기 위해서는 여러번의 설정 변경과 실험을 통해서 알아보는 수밖에 없다. 이때 최적의 하이퍼파라미터 세팅을 찾기위한 과정을 하이퍼파라미터 최적화라고 한다. 아래에서는 ML/DL에서의 하이퍼파라미터 최적화 방법들에 대해서 알아본다. 2. Grid ..
-
Explainable AI & Interpretable MLData Science/데이터마이닝 2022. 11. 23. 23:50
1. 개요 Interpretability : 모델의 예측 이유(원인)에 대해서 사람이 이해 가능한 단계 Explainability : 각 Feature가 하나의 예측에 대해서 어떠한 기여를 하였는지 확인 가능한 단계 DL 모델이 높은 정확도는 가져올 수 있지만 ML 모델에 비해서 해석력이 낮다. 2. Interpretable ML Generalized Linear Models Generalized Additive Models Naive Bayes Classifier K-nearest Neighbor Methods Explainable Boosting Machines(EBMs) 2.1 선형회귀에서의 해석력(Linear Regression Interpretation) 2.1.1데이터 타입에 따른 해석방법 수..
-
머신러닝 Cross Validation 구현하기, 파이썬 코드 예시(K-fold, sklearn.model_selection.RepeatedKFold)Data Science/Pandas & Numpy&Scikit-learn 2022. 11. 22. 11:51
1. Cross Validation이란? 2. Reggression 예제에서의 K-fold 파이썬 코드 구현 2.1 라이브러리 호출 import seaborn as sns import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler, OneHotEncoder from sklearn.model_selection import train_test_split, RepeatedKFold from xgboost import XGBRegressor 2.2 데이터셋 준비 seaborn 라이브러리를 활용하여 tips 데이터를 불러온다. 해당 데이터셋은 고객 정보를 활용하여 얼마의 tip을 줄지 판단하는 회귀(Reggressor)..
-
머신러닝에서의 이상 탐지 종류(Anormaly Detection)Data Science/데이터마이닝 2022. 11. 21. 22:39
1. 이상탐지란? 이상탐지는 정상(Normal)/비정상(Anormal)을 구분하는 문제이다. 대표적인 방법으로는 머신러닝에서 많이 해오던 이진 분류(Binary Classification)가 있다. 그러나 일반적인 분류문제로 풀기에 이상탐지 분야는 Class의 불균형(Class Unbalanced)이 너무 심각하다. 대부분의 이상탐지 문제는 아래 두가지 케이스에 해당된다. Case1 : 정상 데이터만 존재하는 경우 Case2 : 대다수의 정상 데이터와 소수의 비정상 데이타가 있는 경우 빅데이터분석기사나 여타 데이터마이닝 분야에서 Class의 불균형 문제의 해답으로 Over/Under Sampling을 소개하고 있지만 실제로는 효과를 거두기 어렵다. 1.1 Over Sampling의 한계 Over samp..
-
Pytorch Lightning 사용가이드 및 코드 예시(Scene Classification Dataset)Data Science/Pytorch 2022. 11. 17. 02:24
1. Pytorch Lightning이란? Tensorflow의 Keras와 같이 Pytorch를 위한 라이브러리이다. pytorch lightning의 전반적 동작 구조는 아래와 같다. 2. 라이브러리 준비 from glob import glob import torch import torch.utils.data as data from torchvision import transforms import PIL from torchvision.datasets import ImageFolder from torchvision.models import resnet18 from torch.optim import Adam from torch.nn import functional, CrossEntropyLoss from..
-
Faster R-CNN(Faster Regions with Convolutional Neuron Networks features) 모델 개념 설명Data Science/ML&DL 모델 2022. 11. 16. 22:38
본 포스팅은 R-CNN 및 Fast R-CNN을 알고있다는 가정하에 작성되었습니다. 따라서 위의 내용과 중복되는 내용은 생략되었습니다. R-CNN(Regions with Convolutional Neuron Networks features) 모델 개념 설명 Fast R-CNN(Fast Regions with Convolutional Neuron Networks features) 모델 개념 설명 1. Faster R-CNN이란? 기존의 Fast R-CNN에서의 단점을 극복한 2-path object detection model이다. Selective search를 통해서 RoI를 추출하는 과정이 많은 시간을 소요하여 병목현상 일으켰다.(cpu 수행) => Gpu를 활용할 수 있는 Region Proposa..
-
Fast R-CNN(Fast Regions with Convolutional Neuron Networks features) 모델 개념 설명Data Science/ML&DL 모델 2022. 11. 15. 00:09
해당 포스팅은 R-CNN을 알고있다는 가정하에 작성되었습니다. R-CNN(Regions with Convolutional Neuron Networks features) 모델 개념 설명 1. Fast R-CNN이란? Fast R-CNN은 R-CNN이 기존에 가지고 있던 단점을 보완함을써 더욱 빠른 처리속도를 가지는 모델이다. 2000개의 RoI가 각자 CNN을 통과하여 Feature Vector를 생산하여 많은 연산량이 요구되었다. => 원본이미지만 CNN에 통과시켜 Feature Map을 생성한다. => RoI와 Feature Map을 RoI Pooling Layer에 넣어 Feature Vector를 생성한다. Multi Stage Model로써 End-to-End 학습이 불가능하다. => Featur..