분류 전체보기 57

VAE / GAN 알고리즘

VAE (Variational Autoencoder) VAE는 Autoencoder의 확장 버전으로, 입력 데이터의 차원을 축소시켜 잠재 변수(latent variable)를 학습하는 알고리즘입니다. 일반적인 Autoencoder는 입력 데이터를 인코딩(encoding)하여 저차원의 잠재 변수를 만들고, 디코딩(decoding)하여 복원된 출력을 만들어냅니다. 이 때, 인코더와 디코더는 주로 다층 퍼셉트론으로 구성됩니다. 반면 VAE는 잠재 변수의 분포를 모델링하여 다양한 입력 데이터를 생성할 수 있습니다. 이를 위해 인코더는 입력 데이터를 잠재 변수의 평균과 분산으로 인코딩하고, 디코더는 잠재 변수에서 샘플링한 값을 디코딩하여 생성된 출력을 만들어냅니다. 이렇게 생성된 데이터는 원본 데이터와 비슷하게 ..

카테고리 없음 2023.05.07

<알고리즘 스터디> 개인정보 수집 유효기간_python

1) 문제 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 모든 달은 28일까지 있다고 가정합니다. 다음은 오늘 날짜가 2022.05.19일 ..

카테고리 없음 2023.04.25

<SQL> INTERVAL

INTERVAL 이란? SQL에서 INTERVAL은 날짜 및 시간 값에 대한 연산을 수행할 때 사용되는 문법입니다. INTERVAL을 사용하면 일, 시간, 분, 초 등의 값을 날짜 및 시간 값에 더하거나 빼는 등의 연산을 쉽게 수행할 수 있습니다. INTERVAL 문법 INTERVAL 문법은 다음과 같습니다. -date/time value: 연산 대상이 되는 날짜 및 시간 값 -value: 더하거나 빼고자 하는 값 -interval unit: 더하거나 빼고자 하는 값의 단위 (예: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) INTERVAL 사용 예제 예제 1: 일 단위 연산 위의 쿼리는 현재 시각에서 1일 후의 시각을 구하는 쿼리입니다. NOW() 함수는 현재 시각을 반환하며..

카테고리 없음 2023.04.22

공적분(스터디중)

공적분(Integrated of order d, I(d))는 시계열 데이터를 분석할 때 중요한 개념 중 하나입니다. 공적분은 시계열 데이터에서 시간의 추이에 따라 발생한 변화를 측정하기 위해 사용됩니다. 이번 블로그 게시글에서는 공적분의 개념과 사용 예시에 대해서 자세하게 다룰 것입니다 1. 공적분의 개념 공적분은 시계열 데이터에서 차분(Difference) 연산을 통해 얻어진 결과에 대한 누적합(Cumulative Sum)을 의미합니다. 이 때 차분 연산을 몇 번 수행했는지에 따라 공적분의 차수(order)를 나타내게 됩니다. 즉, 차분을 1번 수행한 데이터는 1차 공적분(I(1)) 데이터, 차분을 2번 수행한 데이터는 2차 공적분(I(2)) 데이터로 나타내게 됩니다. 예를 들어, 시계열 데이터가 다음..

카테고리 없음 2023.04.15

Nlinear / SCInet 알고리즘

Nlinear 알고리즘은 Nonlinear AutoRegressive Network with eXogenous inputs(외부 입력이 있는 비선형 자기 회귀 신경망)의 약어입니다. 이 알고리즘은 먼저 입력 데이터를 이동 평균 등의 전처리 과정을 거쳐서 데이터를 보다 안정적으로 만듭니다. 그리고 입력 데이터와 이동 평균 데이터를 기반으로 여러 개의 은닉층과 출력층으로 구성된 인공 신경망을 학습합니다. 이 인공 신경망은 과거의 입력과 출력 데이터를 기반으로 다음 시점의 값을 예측하는 방식으로 동작합니다. 이 때, Nlinear 알고리즘은 시간 스케일에 대한 자유도가 높아서 데이터의 복잡도나 주기성을 보다 정확하게 예측할 수 있습니다. 반면, SCInet 알고리즘은 Seasonal Input-Output N..

카테고리 없음 2023.04.14

시계열 데이터에서 반복 패턴을 찾는 여러 가지 방법

Autocorrelation Function Autocorrelation Function(ACF)는 시계열 데이터에서 지연(lag) 시간에 따라 자기 상관 관계를 계산하는 함수입니다. 이 함수는 시계열 데이터에서 반복 패턴을 찾는 데 유용합니다. Autocorrelation Function은 시계열 데이터의 자기상관 함수를 계산하는 것을 의미합니다. 자기상관 함수는 시간 간격의 길이를 나타내는 랙(lag)에 대해 시계열 데이터가 서로 관련되어 있는 정도를 측정합니다. 자기상관 함수를 계산하려면, Pandas의 autocorr() 메서드를 사용합니다. Rolling Window Rolling Window는 시계열 데이터에서 일정 시간 간격의 평균 값을 계산하는 데 사용됩니다. 이동 평균을 계산하는 데 사용..

카테고리 없음 2023.04.11

XGBoost 알고리즘

XGBoost란? XGBoost는 Gradient Boosting 알고리즘의 한 종류입니다. Gradient Boosting은 여러 개의 결정 트리를 사용하여 앙상블 모델을 만드는 방식입니다. 각 트리는 이전 트리의 오차를 보완하도록 만들어지며, 이를 통해 모델의 예측 성능을 향상시킵니다. XGBoost는 Gradient Boosting의 장점을 살리면서, 더욱 빠르고 정확한 모델을 만들 수 있도록 개선된 알고리즘입니다. 이를 위해 다양한 기능을 제공하며, 병렬 처리와 메모리 최적화를 지원합니다. XGBoost의 사용 예시 다음은 XGBoost를 사용한 예시 중 2개입니다. 예시 1: 주가 예측 XGBoost를 이용하여 주가를 예측하는 모델을 만들어보겠습니다. 이를 위해, 2015년부터 2020년까지의 ..

카테고리 없음 2023.04.10

DFS 알고리즘

DFS 알고리즘이란? DFS(Depth First Search)는 그래프를 탐색하는 알고리즘 중 하나로, 하나의 경로를 따라 최대한 깊게 들어가면서 그래프를 탐색합니다. 이때 스택(Stack) 자료구조를 사용하여 구현할 수 있습니다. DFS는 깊이 우선 탐색 알고리즘이기 때문에, 그래프의 깊은 부분부터 탐색을 시작합니다. 그리고 현재 노드의 인접한 노드들을 스택에 push한 다음, 스택에서 pop하여 방문한 노드는 방문한 노드로 표시합니다. 이후 방문한 노드의 인접한 노드들을 스택에 push하고, 스택에서 pop한 다음 방문합니다. 이 과정을 반복하여 모든 노드를 탐색합니다. DFS는 그래프의 구조를 파악할 수 있으며, 해결해야 하는 문제가 그래프 형태로 표현될 때 많이 사용됩니다. 예를 들어, 그래프에..

카테고리 없음 2023.04.09

Attention 기법

Attention 기법 개요 Attention 기법은 딥러닝 모델에서 입력 데이터의 중요한 부분을 강조하기 위한 기법으로, 주로 Sequence-to-Sequence 모델에서 사용됩니다. Sequence-to-Sequence 모델은 입력 시퀀스를 출력 시퀀스로 변환하는 모델로, 예를 들어 기계 번역이나 챗봇 등에서 많이 사용됩니다. Attention 기법은 이러한 Sequence-to-Sequence 모델에서 입력 시퀀스의 각 부분이 출력 시퀀스에 얼마나 중요한지를 계산하여, 출력 시퀀스를 생성하는 데에 사용됩니다. Attention 기법 구현 방법 Attention 기법은 다양한 방법으로 구현할 수 있습니다. 그 중에서도 가장 대표적인 방법은 Bahdanau Attention과 Luong Attenti..

카테고리 없음 2023.04.08