본문 바로가기

AI 빅데이터/후려치는 데이터분석과 AI 알고리즘17

[Basic] Step-by-Step 분류 Python 예제 데이터 분석한 지 너무 오래 되었는데, 조만간 다시 하게 될 것 같아 공부 중. 기초도 다 까먹어서 새롭다.. 하아.. Kaggle의 은행 이동 예측하는 예제로 다시 감을 잡기 시작한다. Binary Classification with a Bank Churn Dataset | Kaggle www.kaggle.com 전처리를 한다고 결과가 달라지는 예제가 아니긴 하지만, Step-by-Step으로 해 보기로 한다. import pandas as pd train = pd.read_csv("train.csv") train.hist(bins=25, figsize=(16, 10)) 문자형 변수(Gender, Geography)를 제외한 숫자형 변수들의 특징을 보면 CreditScore, Age, Balance, .. 2024. 2. 2.
[자연어분석] BERT, Transformer, Self Attention 후려치기 솔직히 개념이 좀 와닿지 않아(여전히 그렇다), 계속 피해만 다녔는데 GPT3, ChatGPT의 붐으로 Foundation Model의 근간이 되는 Transformer를 개략적이라도 이해하지 않으면 안될 상황인 듯 해서 아주 브리프하게 후려쳐서 정리해보았다. 대략적인 메카니즘은 이해가 되지만, BERT에서 왜 굳이 Transformer Encoder Layer 위에 FFNN을 쌓고, 그걸 6층으로 다시 만들었는 지 등등의 철학은 여전히 오리무중이다. 하지만, 이제 Transformer 아는 척을 안 하면 밥벌어 먹기 힘든 시대가 결국 온 것 같아서 중심 개념만 정리해 본다. Transformer를 위해서는 Attention만 보면 되겠지만(오죽하면, 논문 제목도 'Attention is all you .. 2023. 1. 28.
[데이터보안] LDP ( Local Differential Privacy) 데이터분석과 밀접하다면 밀접하지만, 딱히 데이터분석을 위한 것만은 아닌 기술 LDP(Local Differential Privacy, 지역 차등 프라이버시?). 이름만으로는 어떤 개념인지 아리송하다. 좀 이상하게 들릴 수 있지만, 아래 그림에서 사용자 인식을 위한 학습에서는 마지막 얼굴은 좀 어렵지만, 세번째 정도 노이즈가 섞인 데이터로 학습을 해도 얼굴 인식은 가능하다는 것이다. 그래도, 첫번째 이미지로 학습하는 것이 좋지 않나?라고 생각할 수 있는데, 여기에 데이터보안이라는 이슈가 걸린다. 기존의 모델에 새로운 데이터를 넣어 학습했는데 gradient가 많이 달라졌다면, 학습된 모델만 갖고도 누구의 데이터가 사용되었는지 아는 문제가 발생할 수도 있다는 것이다. 엄청 허황되게 들리지만, 이미 그런 연구.. 2023. 1. 20.
[자연어분석] Seq2Seq에 Attention 활용하기 RNN 혹은 LSTM과 같은 순차적 모델을 활용해, 언어를 번역하는 것은 아래 포스팅해서 해봤다. [자연어 처리] Seq2Seq 로 자연어 번역하기 언어 처리를 위해서는 시계열성이 반영되는 RNN이나 LSTM, GRU등을 사용해왔다. Seq2Seq는 Machine Translation을 위해 구글이 개발한 알고리즘으로 위의 알고리즘을 Encoder와 Decoder로 연결하여 하나의 벡터 magoker.tistory.com 하지만, 단순히 Seq2Seq를 사용하는 것에는 아래의 문제가 존재한다. 입력 Sequence가 매우 길면, 처음에 나온 Token 정보가 희석된다. Context Vector 사이즈가 고정되어 있어, 긴 Sequence 정보를 담기가 어렵다. 모든 Token이 영향을 주게 되므로, 중.. 2021. 11. 30.
[이상탐지] Exponential Smoothing을 활용한 이상탐지 시계열 예측 기법 (ARIMA)을 이용하거나, 최근에는 LSTM이나 AutoEncoder 등을 활용한 딥러닝 기반 방법론을 통해 시계열 데이터에서 이상탐지가 가능하다. 딥러닝 계열의 이상탐지가 성능이 우수하다고 일반적으로 알려 있으나, 1) 충분한 데이터 확보가 어렵고(매출이나 날씨 데이터는 기껏해야 하루 단위로 확보 가능하고, 그나마도 계절성을 고려하면 수십년을 모아야하는 경우도 있다), Supervised Learning은 정답 세트를 필요로 한다. 지수 평활법(Exponential Smoothing)은 ARIMA와 유사하게, Trend, Level, Seasonality를 활용하지만, 최근의 결과값에 더 무게를 준다거나 줄일 수 있다는 점이 다르다. 지수평활법은 단순히 Trend와 Level만 참조.. 2021. 2. 14.
[데이터분석] Feature Engineering 7가지 팁 머신러닝을 수행하는데 가장 오랜 시간을 쓰는 것은 어처구니 없게도 데이터 준비다. 데이터를 EDA하면서 주요한 Feature를 Selection해 학습하게 되는데 그것만으로 충분하지 않은 경우가 있다. 데이터가 한쪽으로 치우쳤거나 Missing Value가 많은 경우가 그러한데, 이를 어느 정도 바로 잡아주는 것을 Feature Engineering이라고 한다. 아래 블로그는 기본적으로 많이 쓰이는 7가지의 Feature Engineering 기법을 소개한다. 7 Feature Engineering Techniques | Feature Engineering for ML Feature enginnering techniques are a must know for machine learning professi.. 2021. 1. 11.