首页 > 代码库 > 优化机器学习算法

优化机器学习算法

 

在机器学习的应用背景是多种多样的,做实际工程必须学会如何根据 具体的问题评估一个学习模型的好坏,如何合理地选择模型、提取特征,如何进行参数调优。这些也是我以前做模式识别时欠缺的环节,所以在遇到识别率很低的情 况时,往往很困惑,不知道该如何改进:到底是应该改进模型改变特征、还是应该增加训练样本数量,到底是应该优化迭代算法,还是应该改变目标函数。通过学习 Learning Theory可以得到一些指导性的结论。

 

首先,是bias-variance trade off问题。

bias-variance trade off的过程实际上就是模型选择和特征选择的过程,对于模型选择,最实用的办法就是进行交叉验证,得到Test Error最小的模型;对于特征选择,可采用前向选择或后向选择的方法选择好的特征,删除不好的特征,或者采用滤波的方法,计算每个特征xi与y的互信息 量,取互信息量较大的那个特征。

bias-variance trade off的目的是寻找训练误差和推广能力的平衡。

 

怎样优化学习算法? 首先判别是high bias问题还是high variance问题,判断的方法有两个:一、test error大则是high variance问题、 training error大则是high bias问题;二、增加训练样本数量,看两类error的变化趋势,test error变小,则是high variance问题。增加训练样本数量,减少特征数量可以解决high variance问题,增加特征数量可以解决high bias问题。