ML(머신러닝)/Optimization(6)
-
Differentiable Convex Optimization Layers
https://locuslab.github.io/2019-10-28-cvxpylayers/?fbclid=IwAR3wDcPysj0W-LGdRyVRT_X0CT3b_Ymy3BcV_ztTegcB8h2t0QOwjkJEQxM Differentiable Convex Optimization Layers CVXPY creates powerful new PyTorch and TensorFlow layers locuslab.github.io
2019.11.17 -
Optuna: A Next-generation Hyperparameter Optimization Framework
https://arxiv.org/abs/1907.10902?fbclid=IwAR3I44Xha4ULqLpBOVpd5nx4ddLONLqT6M_BnE4SUXJ1ec_wCTWiCDjQAls Optuna: A Next-generation Hyperparameter Optimization Framework The purpose of this study is to introduce new design-criteria for next-generation hyperparameter optimization software. The criteria we propose include (1) define-by-run API that allows users to construct the parameter search space ..
2019.11.17 -
[ Python ] Neural Network의 적당한 구조와 hyperparameter 찾는 방법
hyperparameter를 찾는 우리의 옵션은 몇 가지가 있다. 1. Hand Tuning or Manual Search 하나씩 시도해서 올바른 구조를 찾는 것은 굉장히 고된 일이다. 그러나 약간의 경험과 초기 결과에 대한 섬세한 분석은 도움이 될 수 있다. 2. Grid Search 최적화를 하기 위해서 원하는 각각의 범위를 정해서 통과시킨다. 그러나 이러한 방법은 다 해보기 때문에, 보고자 하는 파라미터가 많아질수록 시간이 많이 걸릴 것이다. 3. Random Search 모든 가능한 조합에서 랜덤하게 선택하는 방법으로 결국 Grid Search의 subset이 된다. 4. Bayesian Optimization/Other probabilistic optimizations 나도 개인적으로 제대로 최..
2019.09.08 -
[Python] Lightgbm Bayesian Optimization
이전에는 catboost였지만, 여기선 Lightgbm을 Bayesian Optimization을 해봤다. 일단 성능은 둘 다 잘 나오는데, 개인적으로 쭉 살펴보면 오히려 lightgbm 알고리즘이 f1 score가 더 잘 나온다. 암튼 둘 다 좋은 알고리즘이니 파리 미터 튜닝을 자주 할 테니 이렇게 베이지안 최적화를 연습해본다. from bayes_opt import BayesianOptimization def learning_rate_005_decay_power_099(current_iter): base_learning_rate = 0.05 lr = base_learning_rate * np.power(.99, current_iter) return lr if lr > 1e-3 else 1e-3 def..
2019.06.01 -
[Python] Catboost Bayesian Optimization
최근에 Tree based 모델을 좀 보고 있는데, Python에서 categorical 변수를 One-hot을 하지 않고 하는 알고리즘은 현재, lightgbm과 catboost인 것 같다. 개인적으로 원핫을 안 좋아해서 인지, xgboost는 별로 하기가 싫다. 물론 tree-based model이라서 다차원으로 갔을 때의 고민이 좀 없겠지만, 현재 데이터중에 날짜 데이터도 있는데.. 이것을 onehot 하면 너무 Sparse하지 않겠는가............... 그래서 나는 여기선 catboost를 parameter tuning을 해보려고 한다. https://data-newbie.tistory.com/131 이전에 간략하게 논문리뷰를 해봤다. CatBoost란? unbiased boosting ..
2019.06.01 -
sklearn - skopt Bayesian Optimization
https://scikit-optimize.github.io/notebooks/hyperparameter-optimization.html skopt API documentation Tuning a scikit-learn estimator with skopt Gilles Louppe, July 2016 Katie Malone, August 2016 If you are looking for a GridSearchCV replacement checkout the BayesSearchCV example instead. %matplotlib inline import numpy as np import matplotlib.pyplot as pl scikit-optimize.github.io https://medium..
2019.05.31