산업공학 37

[ADA] 1. Data Preparation

1. Various Data Preparation Steps 데이터 수집 → 데이터 탐색 → 데이터 정제 → 데이터 구조화 → 데이터 변환 → 데이터 검증 2. EDA (Exploratory Data Analysis) 데이터의 주요 특성을 요약하는 것을 목표로 하는 데이터 분석, 접근 방식 2.1. Comprehensive Exploration - Domain Knowledge가 매우 중요함 - Domain Knowledge를 기반으로 Data Size (크기) Data Attribution (속성) Data Statistics (통계) : Pandas의 Describe method 사용 #df.info() 혹은 df.describe() 사용 import pandas as pd df = pd.DataFr..

[딥러닝] Gradient Descent (경사하강법)

1. ML as an Optimization Problem기계학습이 해야 할 일을 식으로 정의하면, 주어진 cost function $J(\theta)$에 대해, $J(\theta)$를 최소로 하는 $\hat{\theta}$를 찾는 것.$$ \hat{\theta} = argmin_{\theta}J(\theta)$$ 2. Iterative Optimization2.1 General PrinicplesTraining Dataset $D$Model & Predicted Output: $\hat{y} = h_{\theta}(x)$Cost Function : $J(\theta)$1) 파라미터 $\theta$ 초기화2) 모든 epoch에 대해출력값 $\hat{y}$ 예측, cost $J(\theta)$ 계산하기만약..

[경영과학] 선형계획법 (Linear Programming)

선형계획법이란? 선형계획법이란 경영과학 문제를 수학적으로 표현한 모형 중 목적함수와 제약조건식이 모두 선형식으로 정의되는 문제를 뜻한다. 여기서 관계식이 모두 선형적이라는 것은 변수 관계가 비례 혹은 반비례 관계가 있음을 나타낸다. 수학적 모형 선형계획법 모형 변수(결정할 내용) 변수(결정할 내용) 상수(주어진 값) 상수(주어진 값) 수학적 관계식 목적함수: 선형식으로 표현된 이익최대화 및 최소화 제약조건식: 선형식으로 표현된 수요만족, 자원의 한계 비음조건: 변수가 0 이상이다 Notations 자원 활동 $Z$ : 활동 수준에 따라 목적 함수가 갖는 값 $x_j$ : $j$번째 활동의 수준 $c_j$ : $j$번째 활동의 수준이 1 증가할 때 $Z$가 증가하는 정도, 즉 $x_j$의 계수 $b_i$ ..

[머신러닝] 분류 (Classification)

1. 분류 (Classification) 분류분석이란? 지도학습 기법 중 하나로 독립변수(Feature)를 통해 정답(Label)이 어떤 특정 카테고리로 분류될 것을 예측하는 기법을 말한다. 이때, Target Data의 자료는 주로 범주형에 속하고, 독립변수들 간의 관계를 분석해 Target Data의 각각의 데이터가 어떤 범주에 속할 지 예측한다. 위 그림에서 말하는 클래스(Class)가 바로 범주이며, 데이터의 종류에 따라 다양한 클래스를 가질 수 있다. 성별 Class : {Male, Female} 생존 여부 Class: {'0' : 생존, '1' : 사망} 분류의 종류 이름 설명 나이브 베이즈 Naive Bayes 베이즈 통계와 생성모델에 기반한 분류 로지스틱 회귀 Logistic Regress..

[강화학습] 4. Bellman Equation

Value Functions (가치 함수) 가치 함수는 각 상태 $s$(또는 상태-행동 쌍$(s; a)$)의 퀄리티를 측정합니다. 이때, 정책 $\pi$에 대한 기대 보상은 $G_t$를 따른다. State-Value Function (상태-가치 함수) $v_{\pi}(s)$ 정책 $\pi$를 따랐을 때 특정 상태 $s에서 시작하는 기대 반환을 나타냄 $v_{\pi}(s) = \mathbb{E}_{\pi} \left[ G_t | S_t = s \right]$ Action-Value Function (행동-가치 함수) $q_{\pi}(s,a)$ 상태 $s$에서 행동 $a$를 취하고 이후 $\pi$를 따라갔을 때의 기대 반환을 나타냄 $q_{\pi}(s, a) = \mathbb{E}_{\pi} \left[ G..

[강화학습] 3. Reward and Policy

Reward (보상) Reward $R_t$는 $t$시점에서 에이전트가 얼마나 잘 하고 있는지를 피드백해주는 스칼라 값이다 에이전트의 목표는 누적 보상 값을 최대화하는 것이다 [Reward Hypothesis] 모든 목표는 보상 누적 합계의 기대치를 최대화하는 것으로 설명할 수 있다. 보상 함수는 다양한 형태로 존재한다. $R = R(s), R(s,a), R(s,a,s')$ 모든 Transition $(s,a,s',r)$에 대한 $p(s', r|s, a)$가 알려진 하에, 다음을 계산할 수 있다 $P(S_{t+1} = s' | S_t = s; A_t = a) = \sum_{r \in R} p(s', r | s, a)$ $R_a(s) = r(s, a) = \mathbb{E} \left[ R_{t+1} | ..

[코드 리뷰] RL4CO : PDP (Pickup and Delivery Problem)

이 글은 RL4CO 라이브러리 중 PDP(Pickup and Delivery Problem) 문제에 대한 알고리즘 코드를 구현하고 리뷰한 내용이다. 기본 소스 코드는 다음 Github 주소를 참고하였다. http://RL4CORL4CO" target="_blank" rel="noopener" data-mce-href="http://RL4CO">http://RL4CO GitHub - ai4co/rl4co: A PyTorch library for all things Reinforcement Learning (RL) for Combinatorial Optimization (CO) A PyTorch library for all things Reinforcement Learning (RL) for Combinat..

[머신러닝] 평가지표(Evaluation)

평가지표 머신러닝 모델을 통해 데이터를 예측한 후, 그 모델이 데이터를 얼마나 잘 예측하는 지 성능을 확인하는 것을 '평가'라고 한다. 그리고 평가를 위해 사용되는 지표들을 평가지표라고 한다. 머신러닝 모델은 크게 Classification 모델과 Regression 모델로 나눌 수 있는데 각각에 따라 사용되는 평가 지표들이 다르다. Evaluation Indicators Classification Accuracy, Precision, Recall, F1-score, ROC&AUC Regression MSE, RMSE, MAE, MAPE Classification Model 평가지표 1. 오차행렬 (Confusion Matrix) 오차행렬(Confusion Matrix)란 이진 분류의 예측 오류가 얼마인..

[경영과학] OR 모형 접근 방법의 개관

경영과학이란? 산업공학을 전공하다 보면 경영과학이라는 과목을 반드시 배운다. 이 경영과학이라는 과목은 산업공학과 내의 과목 중에서도 꽃이라고 불릴 정도로 중요한 과목이라고 볼 수 있다. 경영과학은 경영 문제를 과학적으로 풀어내는 학문으로, 수리적 모델을 기반으로 어떤 상황에서의 최적해를 도출해내는 기법이다. 이러한 기법은 자원 배분 문제, 금융 투자 문제, 공급망 관리 문제 등 여러 사회적인 문제들에 적용시킬 수 있다. 경영과학에서는 이러한 상황적 문제에 대한 답을 찾기 위해 최적화(Optimization)이라는 수학적 기법을 사용한다. 최적화라는 방식이 낯설게 느껴질 수도 있지만 사실 우리는 이미 대학을 오기 전에 최적화의 쉬운 형태를 이미 학습해본 경험이 있다. 예를 들어, 다음과 같은 식이 있다고 ..

[머신러닝] 사이킷런(Scikit - Learn) 라이브러리 part 2 : 데이터 전처리, 교차검증

데이터 전처리(Preprocessing) 데이터 전처리란 데이터 분석을 위해 수집한 데이터를 분석이 적합한 형태가 되도록 가공하는 작업을 의미한다. 데이터 전처리를 통해 불필요한 데이터를 제거하고, 결측치나 이상치를 처리하는 작업을 진행하고, 여러 전처리 기법들을 통해 데이터를 가공하여 데이터의 질을 향상할 수 있다. 만약 데이터 전처리가 제대로 이루어지지 않는다면 부정확한 분석 결과가 나올 수 있기 때문에 데이터 전처리 과정은 데이터 분석을 하는 데에 빠져서는 안 되는 매우 중요한 과정이다. 데이터 전처리 기법 데이터 전처리 기법은 여러 가지가 존재하지만 그중 사이킷런에서 사용되는 가장 대표적인 몇 가지 방법을 소개하겠다. 기법인 크게 Encoding 방법과 Scaling 방법으로 나눌 수 있다. En..