일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- API
- spark udf
- hadoop
- GenericGBQException
- 유튜브 API
- session 유지
- login crawling
- GCP
- flask
- 공분산
- requests
- XAI
- Counterfactual Explanations
- subdag
- chatGPT
- API Gateway
- UDF
- TensorFlow
- 상관관계
- BigQuery
- grad-cam
- airflow subdag
- youtube data
- tensorflow text
- integrated gradient
- Retry
- Airflow
- gather_nd
- top_k
- correlation
- Today
- Total
목록Machine Learning (95)
데이터과학 삼학년
Linear Models for Image Classification - MNIST 데이터에 대한 간략한 소개 : 손글씨 데이터 > 28*28 = 784의 매트릭스로 구성 > 각 classification label별로 확률을 예측함 → softmax function > sigmoid → binary-classifier 라서 쓸 수 없음 - softmax →멀티 클래스에서 적용 - 모델의 정확도를 향상시키기 위해 loss function을 씀 → 분류문제에서는 cross-entropy 함수 적용 - sequential로 keras model을 만든 다음 compile을 이용해 모델을 만듦 - num_epoch is None이면 계속해서 데이터를 집어 넣는 것을 의미 - custom estimator는 m..
ROC, AUC 는 Classification 문제에서 모델의 평가지표를 통해 어느정도의 threshold를 결정하여 모델을 선택할지 결정하는 하나의 척도로 보면 된다. ROC(Receiver Operating Characteristic) ROC는 Confusion matrix로 부터 구할 수 있다. Confusion matrix는 아래 그림과 같다 Confusion matrix를 통해 ROC 커브를 구할 수 있다. ROC커브는 튜닝 파라미터의 변화(or Threshold)에 따른 TPR과 FPR의 결과값을 통해 그릴 수 있다. AUC(Area Under the (ROC)Curve) ROC 커브 아래의 면적을 의미하며, 이면적을 최대한 크게하는 모델일수록 좋다 아래는 각 경우에 대한 AUC 그림이다 출처..
클러스터링이 얼마나 잘 되었는지 평가하는 척도 중 하나인 Mutual Information에 대해 알아보자. 클러스터링 된 집단 간의 거리 계산을 통해 얼마나 클러스터링이 잘되었는지를 확인하는 방식으로 KL divergence와 같은 공식으로 사용된다. Mutual Information 은 집단의 수(클러스터링 수)가 증가할 수록 score_value가 커지기 때문에 Adjusted_Mutual_Inforamation(AMI) 이나 Normalized Mutual Information(NMI)를 활용하여 평가하는 것이 좋다. score_value가 높아질수록 유사도가 떨어지는 것을 의미(KL-Divergence의 score가 낮을 수록 두 분포가 유사하다는 것과 동일 개념)하므로 클러스터의 개수를 늘릴 ..
Keras - estimator로 변환시킬 필요가 없음 --> tensorflow 1.x 에서는 keras model을 estimator로 변환시켜서 사용했었음 - 모델을 컴파일 할때 optimizer, loss, metrics 를 정해줌 - tensorflow2.0 keras 에서 tensorboad를 볼려면 callbacks를 추가해줘야함 - 또한 input에 function을 넣는 것이 아니라 바로 데이터셋을 넣을 수 있음 - steps_per_epochs : epoch당 얼마나 step을 밟을 것이냐(eval) ??? > epochs 로 설정가능(step 없음) → 각 epoch에서 어느 지점에서 eval 데이터를 집어 넣느냐를 결정 - feature column들이 들어가는 layers를 따로 ..
Tensorflow 2.0 - eager 모드 → 결과를 육안으로 바로 확인할 수 있음 > session을 안만들어도 바로 결과 확인 가능! - tf.keras 가 tf.estimator와 동일한 hierarchy로 왔음 → keras 모델을 분산처리하려면 estimator에 담았어야 했는데 이제는 안담고 keras를 바로 돌려도 분산처리 가능 → ai-platform에서 분산처리를 아직 완전하게 진행하고 있지는 못하고 있음 → 조만간 바뀔 것임 - 그래디언트를 구하는 방법이 GradientTape 로 바뀜 - GradientTape → 그래디언트 값들을 저장할 수 있음(이전에는 메모리 상에서 사라지기 때문에 exporter를 이용해 일부 저장 했었지…) - 정의된 wo, w1에 대한 loss가 얼마나 ..
Operationalizing the Model - data pipeline → dataflow에서 확인할 수 있음 - 아파치 빔을 이용해서 preprocess pipeline을 구성 - 큰데이터를 sharding하여 처리하기 위해 ai-platform을 사용함 > 기본 파일 setting - 하이퍼파라미터 튜닝을 위해 task.py에 해당하는 argument를 잘 작성해야함 - 로컬모드로 실험적으로 돌려보고 ai-platform에 올려 돌리기! > 조금 형식이 다르긴 함 → job submit 분산처리용(cloud) - hidden layer에 있는 뉴런들이 얼마나 0값을 가지고 있는지도 텐서보드에서 확인할 수 있음 > 세로축이 죽은 뉴런들의 비율 → 위로 올라가면 그 layer에 해당하는 뉴런들이 다..
ML Ops and Kubeflow Pipelines - 운영의 어려움을 조금 덜어보자(개발&운영) - devops : 시스템의 자동화, 모니터링 > 개발자의 반복작업 줄이고, 효율성 향상 - ML ops ? : machine learning 시스템을 자동화하고, 모니터링하는 것(학습~예측~결과출력) > 역할을 나누고, 확장성을 증가 시킴 > example : candy sorter demo - google은 엔지니어와 ml리서처를 한 팀으로 구성하여 프로젝트 진행(프로젝트를 위해서) data scientist가 주피터 노트북으로 모델을 잘 학습시켜 모델을 만듦 만들어진 모델을 ops 엔지니어에게 전달 ops 엔지니어가 구글 클라우드에서 온라인예측이 가능하도록 구성시킴 - 한 feature가 변하면 모든..