일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- requests
- 상관관계
- chatGPT
- login crawling
- flask
- API Gateway
- 유튜브 API
- top_k
- grad-cam
- API
- Airflow
- youtube data
- airflow subdag
- hadoop
- BigQuery
- session 유지
- Retry
- GCP
- 공분산
- spark udf
- GenericGBQException
- subdag
- correlation
- integrated gradient
- UDF
- XAI
- TensorFlow
- gather_nd
- Counterfactual Explanations
- tensorflow text
- Today
- Total
목록Machine Learning (95)
데이터과학 삼학년
Knowledge Distillation - 복잡한 딥러닝 모델을 경량화된 디바이스에서 사용할때 보다 낮은 메모리를 사용하면서, 정확도는 어느 수준 이상인 모델이 필요함 - 복잡한 딥러닝 모델 (teacher model)은 많은 수의 파라미터를 가지고 있다. 이러한 학습치(지식)를 경량화 모델(student model)에 전달해주는 즉, transfer해주는 개념 - 즉, 높은 정확도를 갖는 딥러닝 모델을 이용해, Teacher 모델의 loss function과 student model의 loss function을 결합시킨 distillation loss+Student model loss를 최소로 하도록 student model을 학습시키면 경량화 모델일지라도, 복잡한 모델의 일부 지식을 넘겨받아 비교적..
의사결정나무, 혹은 여러개의 의사결정 나무를 가진 Random Forest에서 어떻게 트리를 만들어내고, 어떻게 Feature importance가 계산되어 나오는지 확인하려 한다. Decision Tree 의사결정 나무는 어떻게 dataset들을 분리시키고, 타겟을 예측할지 학습한다. 여기서, 의사결정나무가 어떻게 가지를 치는지(splitting) 여러 과정들이 있다. (ID3, CART) 1. ID3 - information gain을 최대화시키는 카테고리컬 feature를 찾는 것으로, numeric features는 다룰수 없고 오직 분류문제에만 해당한다. 2. CART (Classification and Regression Trees) - categorical, numeric features 모..
Transfer learning Transfer learning은 주로 대규모의 데이터셋과 large모델로 미리 학습시킨, 즉, pre-trained model을 가져다가 목적에 맞게 사용하는 것을 의미함 이미 잘 학습되어 있는 모델을 사용해 빠르게 학습 시키는 개념 (trainable = False) 학습된 모델의 최종 출력층 다음에 목적에 맞는 layer를 추가하여, 보유한 소량의 데이터로 새로 추가한 layer에 대해 학습시킴 Fine tuning Pre-trained 된 모델의 가중치를 기반으로 보유하고 있는 데이터(문제에 맞는)로 가중치를 업데이트하는 개념 즉, Pre-trained 된 모델의 가중치를 재학습 시키거나, 학습된 가중치의 일부를 재학습 시키는 개념 https://purnasaigu..
Fine tuning - 기존 학습되어져 있는 모델을 기반으로 새로운 목적(데이터에 맞게)에 맞게 모델을 변형 - 모델의 파라미터를 미세하게 조정하는 행위 : pre-trained model에 추가 데이터를 이용하여 파라미터를 업데이트 - 파인튜닝은 정교한 파라미터 튜닝 Keras에서 fine tuning - Trainable = False 이냐 True이냐로 fine tuning을 할지 말지 결정 - https://keras.io/guides/transfer_learning/ Build a model Now let's built a model that follows the blueprint we've explained earlier. Note that: We add a Rescaling layer to..
Tensorflow에서 구성한 model을 prediction을 multiprocessing 단계에 포함하고 싶다면. 예를 들어, tf 모델을 해석하기위해 LIME을 이용했다고 하자. LIME은 local surrogate로 각 row에 대한 모델의 결과를 해석하려면, 결국 row별로 lime에 태우는 방법밖에 없다. (lime 내에서 batch 기능 없는 것으로 확인) 즉, for문을 돌려야한다는 소리인데... 이럴 경우 데이터가 많아지면, 수행속도가 선형적으로 증가하게 된다. 이를 회피하기위해 multiprocessing을 씌웠더니...무한 hang이 걸리네?.,,, def multiprocessing_dnn_lime(data): attributed_features = [] data = data.re..
드롭아웃(dropout) 드롭아웃 : 심층 신경망에서 가장 인기있는 규제 기법 중 하나 (2012년 제프리 힌턴이 제안) - 매 훈련 스텝에서 각 뉴런은 임시적으로 드롭아웃될 확률 p를 가짐 (인풋 뉴런 포함, 아웃풋 뉴런 제외) - 훈련이 끝난 후 예측 과정에서는 드롭아웃을 적용하지 않음 - 드롭아웃을 이용해서 모델의 정확도를 2~3% 더 올렸다는 연구는 매우 흥미로움 > 예를 들면 어떤 회사 직원들이 출근할지 말지를 동전던지로 결정했을때 회사가 운영이 더 잘된다는 말로 볼 수 있음 > 다만, 주변 동료들과 협력하며, 어떤 특정한 중요 업무도 한사람(뉴런)에게 전적으로 의지하지 않음을 의미 > 즉, 전체적으로 보았을때 더 안정적인 네트워크가 되어 일반화 성능이 좋아짐 주의할점 > p=50%로 설정되었을..
GAN for Tabular Data tabgan을 이용해 tabular data를 augmentation 해보자. gan은 이미지 데이터 생성에 매우 잘 알려져 있지만, tabular data에서는 잘알려져있지않다. tabgan의 원리를 이해하고, 샘플 코드를 통해 tabular 데이터를 증식(with GAN)하는 방법에 대해 알아보자. 1. What is GAN - GAN은 두개의 deep neural network로 구성됨(generator, discriminator) - 두개의 모델은 동시에 학습됨. 일반적으로 모델의 구성도와 학습 절차는 아래 사진과 같음 - generator의 역할은 real sample과 거의 유사한 sample을 만들어내는 것 - discrimator은 generator가 ..
AdaBoost - 이전 모델이 과소적합(under fit)했던 학습 샘플의 가중치를 더 높여 다음 모델에서 다시 학습을 시키는 개념 - 새로운 예측기(모델)은 학습하기 어려웠던 데이터(샘플)에 대해 점점 더 잘 맞춰지는 모델로 만들 수 있음 - Adaboost 데이터 가중치 부여 예시 - stumps라는 작은 가지(max_depth=1)의 앙상블 형태라고 생각하면 됨 -> weak ensemble Boosting VS Bagging 여기서, ensemble(bagging)과 다른점은 10개의 모델을 이용해 학습을 한다고 할때, bagging은 같은 (가중치가 부여되지 않은)학습 데이터에 대해 동시 학습하고, 예측결과를 종합하는 반면, boosting인 Adaboost는 순차적으로 모델을 학습시키고, 각..