본문 바로가기

머신러닝

(13)
Bias Variance Decomposition and XGBOOST와 RANDOMFOREST 주의사항 nvidia 실험 Bias Variance Decomposition을 이해한 후 XGBoost의 튜닝, 랜덤포레스트 튜닝에 대해서 생각해 보자. https://developer.nvidia.com/blog/bias-variance-decompositions-using-xgboost/ Bias Variance Decompositions using XGBoost | NVIDIA Developer Blog This blog dives into a theoretical machine learning concept called the bias variance decomposition. This decomposition is a method which examines the expected generalizatio..
Python ADA boost Binary Classification 바닥부터 구현해보기 Adaboost를 공부할 겸 처음부터 구현해 보았다. 기록 용으로 코딩, 결과, 핵심 alpha 유도 과정을 남겨 둔다. 핵심 포인트: AdaBoost는 동전 던지기에서 앞이 나올 확률(50%보다) 약간 높은 Weak Classifier를 여럿 조합하여 강력한 모델을 만든다. 그림을 보면 Weak Learner는 Iteration1, Iteration2, Iteration 3 밑에 있는 모델이다. Iteration 1은 파란색 3개를 잘못 분류했다. Iteration 2는 빨간색 3개를 잘못 분류했다. Iteration 3은 파란색 2개를, 빨간색 1개를 잘못 분류했다. 하지만 세 모델을 결합하면 하나도 틀리지 않고 분류한다. 0.42, 0.65, 0.92가 alpha 값이다. 각 모델을 0.42 * 모..
파이썬 VIT - Vision Transformer 텐서플로우 코랩 구현 학교 숙제로 VIT을 구현해보라고 한다. 코랩으로 작성하여 코드를 올려 본다. 논문을 읽어 보면서 느낌이 오는대로 작성해 보았다. 사실 구조는 심플하다. 이미지를 패치로 잘라서, 트랜스포머의 인코더 부분에 집어넣는다. 이게 다다. 주의할 점은, 이미지 패치 앞에, CLS라는 사진의 시작을 표시해주는 토큰을 추가해준다. 그리고 트랜스 포머 계층이 끝나고, 클래스를 분류할 때 CLS 토큰에 해당하는 위치만 뽑아서 클래스를 분류해주는 레이어를 추가해 준다. (사진에 0 *을 유의해서 본다) 그리고 CNN에 비해 Hyperparameter 설정에 예민한 듯 하다. 약간의 Learning rate이나, Hidden Layer의 숫자만 바꿔도 성능이 요동친다. 숙제 때문에 급해서 대충 했지만, 자세히 연구해 볼 대..
파이썬 강화학습 CartPole 코드 - Deep Q Learning 작동과정 >> 코랩에서 즉시 찍었더니 깜빡 깜빡 한다^^ 훈련과정 >> 코드 >> 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 ..
파이썬 강화학습 - Frozen Lake Colab 상세 코드 강화학습의 기초인 Frozen Lake를 공부하면서 기록 겸 남긴다. 구글 코랩이 상당히 잘 되어있고 사용하기 편리하다. 동작 >> 코드>> import numpy as np import gym import random import time from IPython.display import clear_output # FrozenLake-v0을 gym 환경에서 불러온다 env = gym.make("FrozenLake-v0") action_space_size = env.action_space.n state_space_size = env.observation_space.n q_table = np.zeros((state_space_size, action_space_size)) # 최초 q table # Row ..