Data Science
-
스마트팩토리에서 수치 데이터 기반 예측 모델 프로젝트를 하면서 주의할 점들Data Science/데이터마이닝 2023. 4. 23. 20:46
이번 글에서는 회귀 예측 모델을 기반으로한 프로젝트들을 진행하면서, 짚고 넘어가야하는 부분에 대해서 글을 작성해보려한다. 해당 글에서 나오는 모든 내용은 경험 기반의 내용들로 빠진 부분이나 틀린 부분이 있다면 피드백 주시기바란다. 1. 데이터 정합성 확인(실제로 내가 생각하는 데이터가 들어오고 있는가?) 통상적으로 수치 데이터 과제를 진행한다면, 여러 DB에서 얻어진 데이터를 기반으로 진행하게 된다. 이때, 사용하는 데이터들이 실제로 측정되고 있는 값인지, 도메인적/수치적으로 정합한 값인지 꼭 확인하는 과정이 필요하다. 아래는 실제로 발생했던 케이스 들을 예시로 들어본다. 1) 센싱된 데이터가 잘못된 값일 경우 수치적으로는 이상이 없는 변수였으나, 도메인적 사실과 너무 다른 양상을 보이기에 확인해본 결과..
-
스마트팩토리 프로젝트에서의 요구사항 분석Data Science 2023. 2. 22. 02:01
본 글은 글쓴이가 수행하는 프로젝트들에 요구사항 분석을 적용하기 위해 개인의 생각을 정리한 글입니다. 궁금증이나 의견이 있으신분들은 자유롭게 댓글로 말씀해주시기바랍니다. 0. 요구사항 분석이 왜 필요한가? 서로 다른 도메인을 가진 사람들이 만나서 협업한다는 것은 의사소통에서부터 mismatch가 발생하기 쉽다. 실제 해당 도메인에서 암묵적으로 가정하고 들어가는 배경지식이 있다면, 타 도메인의 사람에게는 전달 되지 않을것이다. 반대로 내가 생각하던 상대 도메인의 정보들이 정확한 내용이 아닐 수도 있다. 즉, 도메인 전문가(현업 등)와 IT전문가(데이터사이언티스트 등)가 하나의 프로젝트를 수행하는데 있어서, 도메인/IT 양 측면의 관점에서 해결하고자 하는 문제의 현상과 원인 그리고 해결이 되었을 때의 결과를..
-
강화학습 Q-Learning 예제 손으로 풀어보기Data Science 2022. 12. 16. 16:58
1. 정보 문제를 풀기 위해서 먼저 주어지는 정보는 아래와 같다. 우측의 Q table은 주어진 정보를 기반으로 만들어졌다. Q-Learning에서 Q value update에 사용되는 수식은 아래와 같다. 2. First Episode 계산해보기 먼저 주어진 episode는 아래와 같다. 이때 표에서의 S0의 의미는 time stemp 0을 의미하며, 이후 작성되는 계산식에서의 s0는 state 0을 의미하니 주의하자. 위의 episode를 MDP로 나타내면 아래와 같다. 이후 진행되는 Q value의 update는 episode에 제공된 순서대로 진행된다. 2.1 step 1 2.2 step 2 2. Second Episode 계산해보기 추가적으로 주어지는 episode는 아래와 같다. 주어진 epi..
-
강화학습(Reinfocement Learning) 정의 및 개념Data Science 2022. 12. 13. 16:33
1. 강화학습(Reinfocement Learning)이란 강화학습이란 Cumulative reward 를 높이기 위해, 특정 환경에서 intelligent agent 가 어떤 action 을 취해야하는 지 연구하는 분야이다. (최적의 policy 찾기) 지도학습이 모델에게 독립변수(x)와 종속변수(y)를 제공하고 학습한다면, 강화학습은 모델에게 state(s)와 reward(r)을 제공하고 학습한다. 강화학습은 아래의 경우 사용하면 좋다. 각 state에 대해서 최적의 행동(optimal action)이 뭔지 모를 때 과정을 모르고 결과에 대한 Reward만 정해줄 수 있을 때 여러 시도 및 실패 과정을 거처도 될 때 강화학습을 그림으로 나타내면 아래와 같다. Agent는 Environment의 어떠한..
-
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)..