일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- correlation
- Airflow
- requests
- BigQuery
- Counterfactual Explanations
- spark udf
- youtube data
- top_k
- flask
- GCP
- subdag
- TensorFlow
- airflow subdag
- grad-cam
- API
- tensorflow text
- UDF
- API Gateway
- gather_nd
- 유튜브 API
- Retry
- hadoop
- 공분산
- integrated gradient
- GenericGBQException
- login crawling
- XAI
- chatGPT
- session 유지
- 상관관계
- Today
- Total
목록분류 전체보기 (424)
데이터과학 삼학년

Apache Beam / Cloud Dataflow - apache beam을 이용해서 pipeline을 구성할 수 있음 > realtime data → cloud pub/sub, batch data → cloud storage 데이터 공급받아옴 > GCP에서 apache beam을 위한 환경 → dataflow > pCollection : 병렬 처리, 알아서 노드 형성하며 실행됨 - grep.py라는 파이썬파일로 pipeline을 구성(아래 그림은 아주 기초) - 로컬 환경에서 실행하려면 그냥 실행시키면 되고, cloud dataflow에서 적용하고 싶으면 몇개 인자만 추가하여 실행 시키면 됨(아래 그림 참고) - dataflow 구성하는 코드 - 아파치 빔~~~맵리듀스 기반으로 발전된 형태임 - ma..

Custom Estimator - 모델을 만들때 wrapping을 해줘서 estimator 형태로 들어가게 해줘야함 - estimator 안에 model_fn=custom_model을 적용하면 됨 - output 설정은 estimatorspec에 들어가게 됨 - 아래는 윗 그림의 그린 파트에 해당하는 내용임 > loss, optimizer, metric을 정해줌 → 그리고 estimatorSpec에서 위에서 정한 값이 나오게 되지 > 참고 : https://www.tensorflow.org/tutorials/estimator/keras_model_to_estimator Keras - 모델을 만들기 쉽고, 직관적으로 이해하기 쉬움 > 분산 처리를 위해 keras를 estimator에 넣음 → model_t..

Hyperparameter Tuning - 트레이닝 단계 전에 미리 입력해줘야하는 값 - loss의 정도를 보고 hyper parameter를 조정할 수 있음 - 구글 gcp에서는 하이퍼파라미터 튜닝을 위한 시스템(?)을 마련하여 놓았음 - 보통 grid search를 통해 가능한 케이스를 만들어 놓고 결과를 확인하는 방식으로 실행 > yaml 파일을 만들어서 가능 케이스 gcp로 보내줌 - maxParallelTrials 가 1이면 순차적으로 trial을 실행하는 것 > 이는 조금 하이퍼 파라미터 튜닝이 느리지만, 이전의 하이퍼파라미터 튜닝 결과를 가지고, 다음 단계에서는 더 나은 방향으로 하이퍼 파라미터 튜닝을 실시함 - small 데이터로 하이퍼파라미터 튜닝을 완료한 후 그 값을 비교하고 최적의 하..

Dropout - randomly 하게 node(neuron)를 제거 하면서 학습하여 앙상블 효과와 overfitting을 막음 > 특정 경로로 weight가 치중되는 문제를 막음 > 앙상블 러닝으로 볼 수 있음 → random forest의 경우, 트리를 여러번 타면서 overfitting을 방지하는 것과 비슷한 원리 - train 단계에서는 사용하지만 test단계에서는 dropout을 실행하면 안돼!!! - 일반적으로 0.2를 적용하여 80%의 뉴런을 사용함 > 학습이후에는 학습된 수치에 드랍아웃된 비율만큼 나눠줌 → 드랍아웃 비율 만큼 weight가 과다 산정되었을 것이기 때문

Optimization - 보통 adam을 많이 씀 → 제일 마지막에 바꾸는 하이퍼파라미터 > learing rate은 옵티마이저 안에 정의하게 되고, regularization도 마찬가지여 - 하이퍼파라미터 정의하는 위치를 기억하자!!! > train_and_evaluate에서는 train steps을 정할때 spec 부분에서 정의함 >> input_fn → optimizer → model → train → test

Learning rate and Batch size - learning rate 는 최적화를 위해 어느 정도의 step size를 가질 것이냐 결정 > 너무 작으면 training이 오래 걸릴 것이요, 너무 크면 학습이 잘되지 않을 것임 > 보통 0.2보다 작은 값이나 1 / (sqrt(feature 개수)) 로 정함 - batch size가 너무 작으면 training 하기에 적합한 데이터 셋이 없을 수 있음 → 그래디언트를 계산할 샘플수 >> batch size가 크면 learning rate를 작게 줄이는 것이 실험적으로 좋다는 논문

Regularization - Test data와 Trainng data의 loss 차이가 크면 일반화하기가 어렵지 > overfitting을 막으면 loss의 차이가 줄을 것이야 - complex 한 경우 → feature, model 등 → overfitting이 일어날 수 있음 - complex 를 줄이려면 복잡한 feature가 필요할때만 들어가도록 자동화하는 것 필요 - Overfitting을 막는 몇가지 방법 > early stopping, dataset을 추가하는 방법(dataset augmentation), > 언어의 경우 dataset을 추가하려면 → 번역된 다른 나라 언어로 변환시켜서 데이터를 넣는 방법이 있음 - L1, L2 regularization > l1,l2 norm을 loss..

Overview - Data collection : 1. data house에 있는 경우 2. data가 없으면 beautifulsoup, selenium 등으로 데이터 수집 가능 - data가 이미 저장되어 있는 경우 > data correction > data processing > clean up > transformation - ML : AI, ML, DL → DS > ML은 function(모델을 의미하는)을 선택, DL은 neuralnet 선택(활성화함수 선택이 모델을 의미하는 것은 아님) - Good enough model > svm > random forest > linear & logistic regression - 주피터에서 show contextual help 누르면 쓰고 있는 함수들..