본문 바로가기

전체 글90

Anomaly Detection_One-Class SVM One-class SVM(anomaly detection)은 비지도 학습 알고리즘으로 데이터셋에서 이상치를 식별하는 데 사용됩니다. 다른 SVM 알고리즘과 달리 훈련을 예상 클래스인 데이터의 한 클래스만 사용합니다. 그런 다음 알고리즘은 일반 클래스와 크게 다른 이상을 식별하는 방법을 학습합니다. 단일 클래스 SVM은 데이터를 N차원 공간으로 변환하여 작동하며 각 차원은 데이터의 기능을 나타냅니다. 그런 다음 알고리즘은 일반 클래스와 이상값을 구분하는 초평면(또는 2D 데이터의 경우 평면)을 그립니다. 초평면은 Support Vector라고 하는 가장 가까운 데이터 점과 초평면 사이의 거리를 최대화하는 방식으로 배치됩니다. 초평면과 가장 가까운 데이터 포인트 사이의 거리를 마진이라고 하며 정상 클래스와 .. 2023. 5. 2.
Anomaly Detection_AutoEncoder AutoEncoder Anomaly Detection은 오토인코더 신경망을 사용하여 데이터 세트에서 이상을 식별하는 비지도 학습 유형입니다. 오토인코더는 입력을 출력에 복사하도록 훈련된 신경망으로, 중간에 병목 현상 레이어가 추가되어 입력을 잠재 벡터라고 하는 저차원 표현으로 압축합니다. 그런 다음 디코더는 이 잠재 벡터를 가져와 원래 입력을 재구성합니다. 오토인코더는 데이터를 저차원 공간으로 압축한 다음 원래 형태로 다시 재구성하여 데이터에서 가장 중요한 기능을 추출하는 방법을 학습합니다. 그 과정에서 필수 특성을 캡처하는 데이터의 압축된 표현을 학습합니다. 오토인코더 이상 감지를 사용하려면 일반 데이터에서 오토인코더를 훈련한 다음 이를 사용하여 새 데이터 포인트를 재구성합니다. 원래 데이터와 재구성된.. 2023. 5. 2.
Anomaly Detection_Iforest Iforest(Isolation Forest)는 이상치 탐지 알고리즘 중 하나로, 대량의 데이터 중에서 소수의 이상치를 탐지하기 위해 사용됩니다. Iforest의 핵심 아이디어는 바로 데이터의 특성(feature)을 이용하여 분기하는 것입니다. 일반적인 분류 문제와 달리, Iforest는 이상치를 분류하기 위해 목표하는 것이 아니라, 이상치가 아닌 정상 데이터들이 빠르게 분리될 수 있는 경로를 찾습니다. 이를 위해 Iforest는 데이터를 랜덤하게 선택한 뒤, 랜덤한 feature와 임계값(threshold)을 이용하여 데이터를 두 그룹으로 나눕니다. 이 과정을 재귀적으로 반복하여 이상치인 데이터는 단계가 적게 거친 경로를 통해 분리됩니다. Iforest의 장점 중 하나는 학습 데이터의 크기에 민감하지 .. 2023. 4. 14.
Anomaly Detection_LOF LOF(Local Outlier Factor) 이상탐지는 데이터셋에서 이상치(outlier)를 찾는 기술 중 하나입니다. 이 기술은 데이터 포인트의 군집(clustering)과 밀도(density)를 기반으로 이상치를 탐지합니다. LOF 이상탐지는 다음과 같은 세 단계로 구성됩니다. k-Nearest Neighbor(NN) 구하기: 각 데이터 포인트에서 k개의 가장 가까운 이웃을 찾습니다. Reachability Distance 구하기: 각 데이터 포인트에서 이웃까지의 거리를 계산합니다. Local Outlier Factor 계산하기: 각 데이터 포인트의 이웃들과의 Reachability Distance를 비교하여 LOF를 계산합니다. 이론적으로는 LOF가 1인 데이터 포인트는 군집에 속해 있으며, LO.. 2023. 4. 14.
Anomaly Detection_KNN KNN(K-Nearest Neighbors)은 지도학습의 한 종류로, 분류나 회귀 문제를 해결하는 알고리즘 중 하나입니다. 주어진 데이터셋에서 새로운 데이터 포인트가 어떤 클래스에 속하는지 예측할 때 사용합니다. KNN은 거리 기반 분류 모델에 속하며, 주어진 데이터셋에서 가장 가까운 K개의 이웃 데이터를 찾아서 대상 데이터를 분류합니다. 분류 문제에서는 이웃 데이터 포인트들의 클래스 중 가장 빈번한 클래스를 예측값으로 사용하며, 회귀 문제에서는 이웃 데이터 포인트들의 평균값을 예측값으로 사용합니다. PyOD 패키지는 이상탐지(anomaly detection) 알고리즘을 정리한 패키지로, KNN을 포함하여 다양한 이상탐지 알고리즘을 제공합니다. KNN을 이용한 이상탐지는 K개의 이웃 데이터를 사용하여 대.. 2023. 4. 12.
Anomaly Detection_ Mahalonobis 거리 마할라노비스 거리는 다변량 데이터 분석에서 이상치를 탐지하는 방법 중 하나입니다. 이번 글에서는 마할라노비스 거리를 이용한 이상치 탐지에 대해 알아보겠습니다. 마할라노비스 거리란, 다변량 데이터 분석에서 관측치와 다른 관측치들 간의 거리를 계산하는 방법 중 하나입니다. 이 방법은 관측치가 얼마나 다른 관측치들과 다른지를 측정하고, 이를 이용하여 이상치를 탐지합니다. 이상치는 다른 관측치들과의 거리가 멀어지는 경우로 정의됩니다. 마할라노비스 거리를 이용한 이상치 탐지의 장점은 다음과 같습니다. 첫째, 마할라노비스 거리는 다변량 데이터에 대해 적용할 수 있으므로, 다양한 분야에서 활용이 가능합니다. 둘째, 마할라노비스 거리는 데이터 분포의 모양과 크기를 고려하여 이상치를 탐지할 수 있습니다. 셋째, 마할라노.. 2023. 4. 11.
Anomaly Detection_ Box Plot Box Plot은 데이터의 분포를 시각화하는 도구 중 하나로, 데이터의 중심값과 산포도를 한 눈에 파악할 수 있어 데이터 분석에서 매우 유용하게 사용됩니다. 이번 글에서는 Box Plot을 이용한 이상치 탐지 방법에 대해 알아보겠습니다. Box Plot은 데이터의 중앙값, 1사분위수(Q1), 3사분위수(Q3)를 이용하여 상자를 그리고, 상자 외부의 데이터를 이상치로 판단합니다. 이때, 이상치의 기준은 Q1 - 1.5IQR 이하의 값 또는 Q3 + 1.5IQR 이상의 값으로 설정합니다. IQR(Interquartile range)은 Q3 - Q1로 계산됩니다. Box Plot을 이용한 이상치 탐지의 장점은 다음과 같습니다. 첫째, Box Plot은 데이터의 분포를 시각적으로 파악할 수 있기 때문에 데이터의.. 2023. 4. 11.
Anomaly Detection_ 3-Sigma Rule 표준편차의 3배 범위인 3*Sigma는 대표적인 이상치(Outlier) 탐지 기법 중 하나입니다. 이 방법은 데이터의 산포를 파악하고, 데이터 전체의 특징을 파악하는 데 유용합니다. 장점으로는, 이 방법은 통계학에서 널리 사용되는 방법 중 하나이기 때문에, 데이터 분석의 표준적인 방법으로 자리 잡았습니다. 또한, 이 방법은 데이터의 분포를 고려하기 때문에 데이터의 특징을 파악하는 데 유용합니다. 이상치를 탐지하는 데도 효과적이며, 데이터의 정규성을 검증하는 데도 사용됩니다. 단점으로는, 이 방법은 데이터의 분포가 정규분포를 따를 때에만 유효합니다. 만약, 데이터가 다른 분포를 따른다면 이 방법은 제대로 작동하지 않을 수 있습니다. 또한, 이 방법은 데이터의 분포를 고려하지 않고, 단순히 범위를 설정하기 .. 2023. 4. 11.
[AI] Jupyter에서 GPU 사용 여부 확인하기 GPU를 사용하면 tensorflow에서 모델을 효과적으로 학습할 수 있습니다. 간단한 수식을 통해 각 텐서와 연산이 어떠한 장치에 할당되었는지를 출력해서 현재 내 컴퓨터에서 GPU를 사용하고 있는지, CPU를 사용하고 있는지를 확인할 수 있습니다. import tensorflow as tf tf.debugging.set_log_device_placement(True) a = tf.constant([ [1,1], [2,2] ]) b = tf.constant([ [5,5], [7,7] ]) c = tf.matmul(a,b) print(c) tf.debugging.set_log_device_placement(False) 이러한 GPU 관련 내용이 나온다면 GPU가 사용되고 있는 것입니다. 다른 방법으로는, .. 2023. 1. 2.