feature scaling
很敏感,要先scale data。L-BFGS
在小数据上收敛更快效果更好;Adam
在大数据上表现很好;SGD
在参数learning rate
调整好的基础效果更好。LogisticRegression
没有使用SGD,用的是一些solver
,所以没有learning_rate。SGDClassifier
适合对线性模型(SVM、逻辑回归)用SGD优化,常调的参数有learning_rate
和alpha
,SGD的速度更快一些。LogisticRegressionCV
,可以实现更快的CV。适合调整正则项惩罚权重的算法。grid search cross validation
γ\gamma越大,单个训练数据(SV)影响越小(只有靠近SV的才可以影响),只能影响到自己周围的小区域,这样可能需要更多的SV,模型复杂度升高。 CC越大,模型为了不犯错,不得不变得更复杂,模型复杂度升高。
grid search cross validation
RF的参数主要涉及两部分:
max_features
默认sqrt
,一般设置地小一些。减少max_features
有利于减少不同树的相关度,减少最终模型的variance,但是增加了单个模型的bias。max_features
的选择和数据质量也有关系,如果数据质量很差的话,小的max_features
可能split的时候选错了feature因此很有可能影响最终的模型。max_features
是首要的调参参数,大概300个树的时候通过CV找到最优的max_features
max_depth
n_estimators
,一般来说越大越好,调整到验证集上的精度提高不多就可。GBDT设计到的参数主要有三部分:
一般调整的参数有:
max_depth
之类的参数,通过调整增大子模型的复杂度降低子模型的bias从而降低整体模型的bias。讲调优策略之前,先对一些值做下初始化:
sqrt
。每次调优的方法都是grid search
,评价参数好坏的标准是cv score
。
learning_rate
和n_estimators
。一般,、learning_rate
值在0.05-2,n_estimators
在30-80较好。如果n_estimators
过大那么增大learning_rate
,反之减少learning_rate
。max_depth
、min_samples_split
、min_samples_leaf
、max_features
、,可视计算能力分步调优或组合参数调优。learning_rate
,增加同样倍数的n_estimators
,直到计算能力到达极限或验证集上模型的提升很小。