본문 바로가기

Data Tech/DataScience(데이터과학)7

[Analysis] 시계열 분석 ARIMA (AutoRegressive Integrated Moving Average) 1. 시계열 분석먼저 시계열 데이터는 크게 정상성 데이터와 비정상정 데이터로 구분이 가능합니다.정상성 데이터(Stationary Data)란, 시간이 흐름에도 평균, 분산, 자기상관이 변하지 않는 데이터를 의미하며, 대표적으로 백색잡음(White noise)가 있습니다.반면 비정상성 데이터(Non-Stationary Data)는 시간에 따라 평균 혹은 분산이 증가하거나 감소하는 데이터를 의미합니다. 대표적으로 주가 데이터가 있습니다. 정상성 데이터의 경우, 특정한 주기 혹은 패턴이 있으므로 예측 분석이 쉽지만, 비정상성 데이터는 데이터의 불안정성이 상대적으로 크기 때문에 예측하기 정말 어렵습니다. 그러므로 비정상성 데이터의 불안정성을 최소화하여 정상성 데이터로 바꿔주는 것이 시계열 분석과 모델링에서 중요.. 2024. 8. 6.
[머신러닝] Ridge & Lasso 회귀 모델 (feat. Bias & Variance & Regularization) 라쏘와 릿지 회귀 모델을 이해하기 위해서는 먼저 Bias와 Variance 그리고 Regularization에 대한 이해가 필요합니다. 1. Bias & VarianceBias와 Variance는 모델의 loss 또는 error를 의미합니다.왼쪽 그림을 통해서 Bias와 Variance의 차이에 대해서 살펴보면  Bias는 실제값과 예측값의 차이를 의미하고, Variance는 예측값의 흩어진 정도를 의미합니다. 즉 Bias와 Variance가 모두 작으면 실제값에 가까운 좋은 모델이 되는 것입니다. 추가로 오른쪽 그림의 Overfitting과 Underfitting에 대해 살펴봅시다.Overfitting은 Train data(실제값)가 과적합되어 예측값과 Test data와의 Variance가 커진 것을.. 2024. 7. 30.
[딥러닝] 3. Scratch for DeepLearning Tensorflow.keras의 MNIST 데이터셋의 숫자 예측 모델의 딥러닝 구조를 numpy를 통해 구현해봅시다.활성화 함수(Activation Function)와 오차 역전파에 대한 내용도 함께 다루면서 작성해보면 좋을 것 같네요.import numpy as npimport matplotlib.pyplot as pltfrom tqdm.notebook import tqdm%matplotlib inline  숫자 이미지 데이터셋[X]를 작성해서 이미지로 출력해보면 아래와 같이 [1, 2, 3, 4, 5]로 출력되는 것을 볼 수 있습니다.X = np.zeros((5, 5, 5))X[:, :, 0] = [[0,1,1,0,0], [0,0,1,0,0], [0,0,1,0,0], [0,0,1,0,0], [0,1,.. 2024. 5. 20.
[딥러닝] 2. CNN 딥러닝의 합성곱 신경망인 CNN을 Tensorflow의 mnist 데이터셋에 적용해봅시다. CNN이란, Convolution Neural Networks의 약자로 주로 이미지와 영상 데이터를 처리할 때 사용합니다.인간의 시신경 구조를 모방하여 자율주행자동차, 얼굴인식과 같은 객체 인식 분야에도 많이 사용합니다. CNN을 활용한 모델은 크게 2가지로 구성되는데, 특성 추출과 분류입니다.먼저 복잡한 이미지를 효율적으로 학습시키기 위해 이미지의 특성을 추출한 후 분류모델에 적용합니다.특성 추출에는 Convolution filter와 Pooling layer를 사용하며, 해당 과정을 반복하면서 이미지의 크기도 적당히 줄이고 특정 feature를 강조하는 과정을 거치게 됩니다. 관련하여 좀 더 자세한 내용은 아래.. 2024. 5. 19.
[딥러닝] 1. MNIST 카테고리 분류 Tensorflow를 통해 MNIST 데이터셋을 분류할 예정 입니다.수기로 표현된 다양한 형태의 숫자를 기계학습으로 추청하고 성능을 검토해봅시다.Tensorflow 라이브러리에서 mnist 데이터셋을 불러옵시다.이미지 데이터가 픽셀값(0~255)으로 나타나므로, 데이터를 255로 나누어 0~1 사이로 정규화를 하는 것이 좋은데Gradient Descent와 같은 최적화 알고리즘은 데이터가 정규화 되었을 때 더 빠르게 수렴할 수 있기 때문입니다.# 데이터셋 준비import tensorflow as tfmnist = tf.keras.datasets.mnist(x_train, y_train), (x_test, y_test) = mnist.load_data()X_train, X_test = x_train/255.. 2024. 5. 19.
지도학습, 비지도학습, 강화학습의 의미와 정의 (+딥러닝?) ※ 머신러닝 알고리즘 다이어그램을 만들어 보았으나, 검증이 아직이므로 우선 참고만 하면 될 것 같다.  1. 서론머신러닝 알고리즘은 [지도학습, 비지도학습, 강화학습] 크게 3가지로 분류가 되는 것 같습니다.그리고 이 3가지 학습의 알고리즘을 응용한 것이 앙상블 학습과 딥러닝이라고 생각해도 될 것 같습니다.자세한 것은 각 알고리즘을 공부해봐야 알 수 있을 것 같습니다.우선 지도학습, 비지도학습, 강화학습의 의미에 대해서 알아봐야 겠네요.  2. 지도 학습지도 학습은 데이터에 대한 명시적인 답이 주어진 상태에서 머신을 학습시키는 방법입니다.즉, Data(데이터)와 Label(답)을 가지고 학습을 진행하는 방법인 것 입니다. 주로 회귀분석과 분류 알고리즘에서 지도학습이 이루어지며,대표적인 지도 학습 알고리즘.. 2024. 4. 9.
[Analysis] PCA, 주성분 분석이란? 1. 서론이 글의 목적은 교육 및 지식 공유가 아니라, 개인적인 개념 정리를 목적으로 합니다.아직은 전문가 수준의 지식이 없기 때문에, 아래 내용은 참고만 해주시면 감사하겠습니다.^^선형대수학 관점에서의 PCA의 원리와 데이터 관점에서의 PCA의 의미에 대해 공부하고 있는데,아직 원리 이해에 어려움이 있네요...ㅎ 특히 수학적인 부분의 이해가 약하다는 생각이 드네요..ㅎ  2. 데이터 관점에서의 PCA의 의미PCA는 Principle Component Analysis의 약자로 주성분 분석을 뜻하며,차원축소와 변수추출 기법으로 널리 쓰이고 있다.보통 우리가 분석하는 데이터는 많은 차원(변수)을 가지고 있는데,고차원 데이터를 저차원 데이터로 축소시켜 평면상으로 보여주는 것이 차원 축소의 개념이고,기존 변수(.. 2024. 4. 1.
728x90