'하이퍼파라미터' 태그의 글 목록
Data Analyst
300x250
300x250

하이퍼파라미터 5

하이퍼파라미터 튜닝 / grid search

하이퍼 파라미터란 모델 정의시 사람이 직접 지정 해주는 값 Grid Search Grid Search란 하이퍼 파라미터로 지정할 수 있는 값들을 순차적으로 입력한뒤 가장 높은 성능을 보이는 하이퍼 파라미터를 찾는 탐색 방법입니다. 예를 들어 Grid Search 를 통해 모델 깊이와 모델 넓이 라는 두개의 하이퍼 파라미터를 튜닝 한다고 가정해봅시다. 우선, 하이퍼 파라미터로 지정할 값들을 다음과 같이 설정해 줍니다. 모델 깊이 = [1, 2, 3] , 모델 넓이 = [a, b] 모델 깊이는 1 ,2, 3 중 하나의 값이고, 모델 넓이는 a, b 중 하나의 값으로 지정 하고자 합니다. grid search를 이용한다면 다음 순서대로 하이퍼 파라미터를 지정해 학습과 검증을 거치며, 그중 성능이 가장 높은 하..

파라미터/하이퍼파라미터

파라미터(Parameter, 매개변수) 파라미터(parameter, 매개변수)는 학습 과정에서 생성되는 변수들입니다. 예를 들어 한 학년에 속해 있는 학생들의 키에 대한 정규분포를 그린다고 하면, 평균과 표준편차가 계산 될 것입니다. 여기서 평균과 표준편차가 파라미터(Parameter, 매개변수) 입니다. 파라미터는 데이터를 통해 구해지며, 모델 내부적으로 결정되는 값입니다. 사용자가 임의로 설정하는 값이 아닙니다. LGBM 모델과 딥러닝 모델의 학습 가중치들이 파라미터에 해당됩니다. 하이퍼 파라미터(Hyper parameter) 하이퍼 파라미터는 모델링할 때 사용자가 직접 세팅해주는 값을 뜻합니다. learning rate나 트리 기반 모델의 트리의 최대 깊이, 최소 노드 갯수 등 굉장히 많습니다. 머..

XGBoost 튜닝 - 2

XGBoost 파라미터중 과적합을 방지하는 gamma, max_depth, subsample 3가지 파라미터를 튜닝 해보도록 하겠습니다. # X에 학습할 데이터를, y에 목표 변수를 저장해주세요 X = train.drop(columns=['index','quality']) y = train['quality'] # XGBoost의 하이퍼 파라미터의 범위를 dictionary 형태로 지정해주세요 ## Key는 XGBoost hyperparameter이름이고, value는 탐색할 범위 입니다. xgb_parameter_bounds = { 'gamma':(0,10), 'max_depth':(1,3), 'subsample':(0.5,1) } # 함수를 만들어주겠습니다. # 함수의 구성은 다음과 같습니다. # 1...

Lv3 | 튜닝 | 그리드, 랜덤 서치 vs Bayesian Optimization

이번 시간에는 Hyper Parameter의 3가지 튜닝 방법을 비교해보겠습니다. 1. GridSearch 기법: =사전에 탐색할 값들을 미리 지정해주고, 그 값들의 모든 조합을 바탕으로 성능의 최고점을 찾아낸다. 장점: 내가 원하는 범위를 정확하게 비교 분석이 가능하다. 단점: 시간이 오래걸린다. (4개의 파라미터에 대해서, 4가지 값들을 지정해두고, 한번 탐색하는데 1분이 걸린다면 -> 4*4*1분 = 16분) 소요) 성능의 최고점이 아닐 가능성이 높다. "최적화 검색" (여러개들을 비교 분석해서 최고를 찾아내는 기법)이지, "최적화 탐색"(성능이 가장 높은 점으로 점차 찾아가는 기법)이 아니다. 2. Random Search 기법: 사전에 탐색할 값들의 범위를 지정해주고, 그 범위 속에서 가능한 조..

Lv2 | 튜닝 | 하이퍼파라미터, GridSearch 개념 (정지규칙)

하이퍼 파라미터 튜닝은 정지규칙 값들을 설정하는 것을 의미한다. 의사결정나무에는 정지 규칙이라는 개념이 있다. 1. 최대깊이 최대깊이는 최대로 내려갈 수 있는 depth 이다. 뿌리 노드로부터 내려갈 수 있는 깊이를 지정하며 작을수록 트리는 작아지게 된다. 2. 최소노드크기 최소노드크기는 노드를 분할하기 위한 데이터 수이다. 해당 노드에 이 값보다 적은 확률변수 수가 있다면 stop 작을수록 트리는 커지게 된다. 3.최소향상도 최소향상도는 노드를 분할하기 위한 최소 향상도이다. 향상도가 설정값 이하라면 더 이상 분할하지 않는다. 작을수록 트리는 커진다. 4.비용 복잡도 트리가 커지는 것에 대해 패널티 계수를 설정해서 불순도와 트리가 커지는 것에 대해 복잡도를 계산하는 것이다. 이와 같은 정지규칙들을 종합..

300x250
300x250