CH5 稀疏学习
重点提炼
提出稀疏学习的缘故:
虽然带有约束条件的最小二乘学习法结合交叉验证法,在实际应用中是非常有效的回归方法,但是,当参数特别多时,计算参数以及预测值需要大量时间。此时,我们要解决这个问题。
稀疏学习思路:
把大部分参数都设置为0,这样就能快速计算参数以及预测值。
L1约束的最小二乘学习法:
公式
求解得到参数theta
代码实现的流程图
通过稀疏学习进行特征选择
1.“一个特征一个特征地依次减少的向后删除法”以及“一个一个特征地依次增加的向前选择法”提出的原因:在d各特征值中做特征选择,就需要事先对2^d次维组合的优劣进行评估,计算时间是以输入维数d为基数指数级增长的。所以会提出前向选择法以及后向删除法。
2.通过稀疏学习进行特征选择的优势:比起“一个特征一个特征地依次减少的向后删除法”以及“一个一个特征地依次增加的向前选择法”,l1约束的稀疏学习做特征选择,可以在一定程度上考虑到各个特征之间的相互联系,在实际应用中,往往能得到更好的特征组合。
3.举例:
lp约束的最小二乘学习法
1.lp约束的最小二乘学习法中的约束条件:是更为普遍的条件,是p大于等于0的lp范数约束方法
2.公式:
3.最优解:当p=1时,是稀疏解存在的唯一凸形
l1+l2约束的最小二乘学习法/弹性网回归学习法
1.提出的原因:l1约束的最小二乘学习法的局限性:
① 当参数b>训练样本数n时,l1约束最小二乘学习法的非0参数个数最多为n
② 当参数b<训练样本数n时,l1约束最小二乘学习法的通用性能比l2约束的最小二乘学习法稍差
2.解决方法:利用l1+l2范数的凸结合来进行约束
P49
通过运行代码学习
初始化50个参数
当t-t0的绝对值<0.001时这个循环就结束
结果:与p42中l2约束的最小二乘学习法结合交叉验证方法得到的拟合曲线结果没有太大差别。可是在这过程中,l1约束的最小二乘学习法不用像p42中的l2约束+交叉验证要跑完所有的循环,而只需要设定一个收敛值,小于这个收敛值就可以跳出循环了。
为什么书中说参数大多是0?现在还不理解,因为代码变量追踪,t中并没有很多参数<0.001即等于0
P49
补充知识来理解书上内容
Matlab 中pinv函数
Matlab 中diag函数