机器学习的重要方法
目录
学习目标:
①机器学习训练方法—梯度下降
②模型中的参数与超参数
③超参数的调节方法
④交叉验证
1. 机器学习训练方法—梯度下降(提高机器学习性能)
梯度下降法的优化思路是用当前位置负梯度方向作为搜索方向,该方向为当前位置最快下降方向
通过MAE和MSE评估回归问题性能,我们希望真实值和预测值之间差值越小越好,就是训练误差越小越好。而"训练误差"最小值就是梯度下降最低点
梯度下降法能优化参数,使训练误差最小
最终达到收敛(训练误差最小):目标函数的值(MSE)变化非常小或达到最大迭代次数(不可能都能到最低点,设置下降1000次)
梯度下降越接近目标值,变化量越小。缺点是会陷入局部最低点,而不是全局
(1)批量梯度下降BGD:使用所有数据集中样本在当前点梯度之和来对权重参数调整
(2)随机梯度下降SGD:随机选取一个数据集中样本在当前点梯度来对权重参数调整
(3)小批量梯度下降MBGD:结合BGD与SGD特性(因为两个都极端要么取一个要么全部)每次选择数据集中n个样本(Batch:在构建神经网络中重要超参数,用几个Batch,就有多少个样本更新操作)的梯度来对权重参数调整
(4)三种梯度下降方法的比较
SGD(随机梯度下降法):因为每次训练选取的样本是随机的,每一个样本的梯度就调整一次参数会导致不稳定性,会导致损失函数(损失的性能在机器学习过程)在下降最低点,产生动荡甚至反向位移,特别是当某点是噪声会被带歪
BGD(批量梯度下降法):最稳定,过于消耗运算资源(因为每更新一次参数,就要计算全局的样本梯度)
MBGD(小批量梯度下降法):是BGD和SGD折中的颁发
Batch超参数(选样本的数量)
过小,偏向随机梯度下降法
过大,偏向批量梯度下降法
2. 模型中的参数与超参数
参数(模型本身计算有的,自动学习) 超参数(人为设定的)
只有参数好,模型才会好。参数是从数据中产生,如何产生靠训练
只有超参数好,参数才会好。超参数控制训练,可以通过启发式或经验式设置,需要根据预测建模问题进行调整
(1)超参数例子
Lasso/Ridge回归当中的λ
训练神经网络的学习速率、迭代次数、批次大小、激活函数、神经元的数量
支持向量机的C和σ超参数
KNN中的K
随机森林当中的树的棵数
(2)超参数搜索的一般过程
1. 将数据集分成训练集、验证集、测试集
2. 在训练集上根据模型的性能指标对参数进行优化
3. 在验证集上搜索超参数,根据模型性能
4. 在步骤2和步骤3交替迭代,最终确定模型的参数和超参数,并在测试集中评价模型的优劣
步骤3中的超参数是如何搜索和调整的:
(1)网络搜索
(2)随机搜索
(3)启发式智能搜索
(4)贝叶斯搜索
3. 超参数的调节方法(找最优超参数)
(1)网格搜索
网格搜索通过穷举搜索所有可能的超参数组合形成超参数值网格。但是一种昂贵且耗时的方法
(2)随机搜索
在超参数搜索空间较大情况,采用随机搜索优于网格搜索
随机对超参数取样,试图找出最佳的超参数子集
4. 交叉验证(验证集搜索超参数)(找到最优超参数)
是用来验证分类器的性能,基本思想是将数据集分组为训练集和测试集,(如果加入交叉验证)再把训练集分组为一部分训练集一部分验证集
训练集对分类器训练,再利用验证集测试训练得到的模型,以此作为评价分类器的性能指标。再去调节超参数使模型更好
具体交叉验证方法:K-折交叉验证(K-CV)
(1)将原始数据分为k组(一般是均分)
(2)比如3组:
每个子集数据分别做一次验证集,其余子集数据做训练集。会得到k(3)个模型