산업공학 37

[딥러닝] Loss Function

1. Loss FunctionLoss(손실)란 정답값과 예측값의 오차를 의미한다 Loss Function의 정의:Neural Network 모델이 예측한 값 $\hat{Y}$와 실제 값 $Y$ 간의 차이의 지표를 의미한다대표적으로 MSE가 있다. $$L(Y, \hat{Y}) = \frac{1}{N} \sum_{1}^{n} (y_i - \hat{y_i})^2$$따라서 이 $L$값이 낮아질수록 NN 모델의 성능은 좋아진다고 볼 수 있다. 즉, 손실함수의 값이 최소가 되도록 weight들의 값을 최적화하는 것이 모델 학습의 목적인 것이다. 2. Deep Learning의 TaskLoss Function은 풀고자 하는 Task에 따라 다르다. 1. Regession (회귀) : 어떤 연속적인 값을 예측하는 Ta..

[딥러닝] PyTorch - Transforms

Transformstorchvision에서는 Computer Vision에 사용되는 다양한 이미지 데이터들에 대해 전처리를 유용하게 할 수 있는 transforms라는 패키지를 제공 Data AugmentationData Augmentation(데이터 증강)은 머신러닝과 딥러닝에서 모델의 성능을 향상시키기 위해 훈련 데이터의 양과 다양성을 인위적으로 증가시키는 기법을 의미한다. PyTorch의 Transforms 내에는 이러한 증강 기법들을 사용할 수 있는 함수들이 많이 내장되어 있다. 1. Gaussian BlurGaussian Blur란 이미지를 흐리게 처리하는 기법을 의미한다. 이는 이미지 내의 불필요한 노이즈를 제거하거나 특정 부분을 강조할 수 있다. Gaussian 필터는 이미지의 픽셀을 중심으..

[딥러닝] PyTorch - Dataset and Data Loader

Dataset과 Data Loader는 Pytorch에서 제공하는 추상 클래스이다.  Dataset (torch.utils.data.Dataset)- Mini-Batch를 구성할 각 data sample들을 하나씩 불러오는 기능을 수행한다 Data Loader (torch.util.data.DataLoader)- Dataset에서 불러온 각 data sample들을 모아서 mini-batch로 구성하는 기능을 수행한다. Dataset의 기본 뼈대1. __init__ 함수2. __len__ 함수3. __getitem__ 함수 위 함수들을 명시해서 Custom Dataset을 만들 수 있다! from torch.utils.data import Datasetclass CustomDataset(Dataset):..

[딥러닝] PyTorch - Tensor

1. TensorTensor(torch.Tensor)Numpy의 배열(Array)와 행렬(Matrix)와 매우 유사한 구조Pytorch에서 scalar, vector, matrix, tensor 등을 표현하는데 사용 Pytorch의 Tensor는 GPU나 TPU같은 연산 가속을 위한 특수한 하드웨어에서 사용할 수 있다Backward Pass에서 계산된 Gradient(.grad)를 저장한다기본적으로 torch.Tensor에 어떤 operation (더하기, 곱셈) 등을 취하면 해당 operation이 Computational Graph에 기록된다 Tensor란?데이터를 표현하는 단위로, 다차원 배열의 일반화된 모습이다. Pytorch에서 Tensor를 가지고 연산을 수행하면, 해당 연산은 Computat..

[딥러닝] DL 실무 기초 개념

1.  데이터 셋1) Training Set모델을 학습시키는 용도Train Set에 대해서 Gradient Descent하여 Loss를 최소화시키는 모델의 weight 최적화2) Validation Set모델의 성능 평가와 Hyper Parameter를 Tuning하는데 쓰이는 데이터셋Train Set에 대해 Overfitting되는 것을 방지하기 위해 사용3) Test Set검증 단계에서 선택한 최적의 모델의 최종 성능을 평가하는데 사용Hyper Parameter Tuning을 과도하게 적용하는 경우 Validation Set에 대해 unintentional overfitting 발생할 수 있다. 2. Overfitting Overfitting(과적합)이란 Unseen Data에 대해서 모델이 일반화되..

[자료구조] 스택 (Stack)

스택이란?스택 (Stack)이란 마지막에 들어간 자료가 가장 먼저 나오는 자료구조인데, 이를 LIFO (Last In First Out) 구조라고 말한다. 스택은 쌓는다는 의미를 갖기도 하는데, 순서대로 쌓은 것을 꺼낼 때는 역순으로 꺼낸다고 생각하면 된다. 예를 들어, 스택에 요소들을 A, B, C 순으로 저장했을 때, 꺼낼 때는 C, B, A 순으로 꺼내야 한다.  실생활에서 워드나 한글 같은 편집기에서 처리한 작업을 되돌리기 하는 경우, 가장 나중에 한 작업부터 순서대로 되돌리기 되는데, 이도 스택의 원리를 이용한 것이라고 볼 수 있다.  스택의 연산스택이라는 자료형에서의 연산은 어떻게 이루어질까? 앞서 말했듯이 스택에서는 새로운 자료를 스택에 넣는 기능과, 스택 상단에 있는 자료를 꺼내는 기능이 ..

[ADA] 데이터 기반 의사결정

의사결정 3요소의사결정이란 여러 대안이 존재할 때, 그 대안 중 하나를 선택하는 지각 활동을 의미한다. 모든 의사결정 과정은 하나의 최종 선택을 갖게 되며, 이 선택으로 인해 모든 사항에 대한 행동과 선택이 정해지므로 적절한 의사결정은 매우 중요하다고 할 수 있다. 데이터 분석에서도 분석 결과를 통해 적절한 의사결정을 하는 것이 매우 중요한데, 오늘은 이 의사결정의 기반이 되는 3가지 요소인 문제정의, 분석기획, 성능검증에 대해 알아보고, 이 요소들이 어떻게 쓰이는 지 알아보도록 하겠다.  1) 문제 정의 : 현실에서 어떤 문제를 풀지 정하는 것우리는 일상 상황 매 순간마다 의사결정이 필요한 문제들을 해결하고 있고, 마찬가지로 비즈니스 연구 등에서도 모든 순간들에는 해결해야 할 문제 존재 2) 분석 기획..

[딥러닝] Neural Network

1. 인공 신경망 (Artificial Neural Network) 이란?신경망이라고 불리는 Neural Network는 딥러닝에서 가장 기본이 되는 개념이다. 신경망이란 인간의 뇌의 신경세포인 뉴런의 연결 구조를 말하며, 이러한 신경망을 본떠 만든 네트워크 구조를 인공신경망(Artificial Neural Network)이라고 부른다.인체에 자극이 들어오게 되면 (input) 뉴런은 서로 간에 신호를 전달하여 (neural network) 우리가 특정 신체적 활동을 하도록 한다(output). 이러한 과정을 컴퓨터로 구현한 것이 바로 인공 신경망이다. 2. Neural Network의 구조와 작동 방식  기본적인 Neural Network의 구성은 한 개의 input layer, 한 개 이상의 hidd..

[머신러닝] 회귀 (Regression)

회귀란?회귀라는 뜻은 어떤 지점으로 돌아간다는 뜻이다. 수많은 데이터들을 수집해보면 어떤 점, 즉 평균으로 돌아가게 되는데, 그 점들을 이어보면 하나의 직선을 이루게 되고 이것을 회귀 직선이라고 한다. 그리고 이 회귀 직선을 식으로 나타낸 것을 회귀식이라고 한다. $$y = w_0 + w_1x_1 + w_2x_2 + \cdots + w_nx_n + \epsilon$$ $y$: 독립변수의 영향을 받아 값이 변화하는 수로, 종속변수라 하고 주로 분석하고자 하는 대상이 된다.$x_i$: 다른 변수에 영향을 받지 않고 독립적으로 변화하는 수로, 독립변수라고 한다.$w_i$: 독립변수가 1 변할 때, 종속변수가 얼마나 변하는지 나타내는 수로, 회귀계수라고 부른다.$\epsilon$: 실제값과 회귀값의 차이에 따른..

[머신러닝] 앙상블 (Ensemble)

앙상블이란?앙상블 기법이란 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 더 좋은 최종 예측을 도출하는 기법을 말한다. 앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 예측 신뢰성을 높이는 것이다.  1. Voting앙상블 기법에는 여러 가지 알고리즘이 있는데, 우선 보팅(Voting) 알고리즘부터 살펴보자. 보팅이란 서로 다른 알고리즘을 가진 분류기가 동일한 데이터셋을 가지고 각자 예측을 수행하여 최종 결과를 결정하는 방식이다. 이때, 각 분류기가 예측한 결과를 가지고 '투표' 방식으로 최종 결과를 결정하기 때문에 Voting이라고 불린다. 이 투표 방식에는 두 가지 방식이 있는데, Hard Voting과 Soft Voting이 있다.1.1. Hard Votin..