机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
在这个例子里,我们使用GraphicalLasso
估计量从一个小样本里学习协方差和稀疏的精度矩阵。
为了估计一个概率模型,比如说高斯模型,估计它的精度矩阵,即,协方差阵的逆,是非常重要的估计过程。事实上,一个高斯模型由精度矩阵参数化。
为了验证结果,我们从具有稀疏的可逆协方差阵的模型抽样数据。另外,我们要确保数据的相关性较弱,这样就限制了精度矩阵的最大系数。还要确保所有的系数都能估计出来。
在这里,样本量稍微大于维数,这使得经验协方差阵仍然是可逆的。然而,如果观测之间强烈相关,经验协方差阵是病态的(ill-conditioned). 结果导致它的逆——经验精度矩阵远离真实情况。
如果我们使用L2惩罚的Ledoit-Wolf
估计量,因为样本量小,我们需要压缩很多系数。结果是, Ledoit-Wolf精度非常接近真实的精度,但精度矩阵的非对角线的结构被破坏了。
L1惩罚的估计量能部分恢复非对角线的结构。它能学习一个精度矩阵,但是不能精确地恢复稀疏结构:它估计了太多的非零稀疏。最后,L1估计精度稀疏偏向于0:因为惩罚的缘故,这些系数都小于真实值。
注意到,为了改善图的可视化效果,下图左的精度矩阵的颜色范围被捏在了一起。设置模型稀疏性的GraphicalLasso
alpha
参数,由函数GraphLassoCV
的交叉验证设置。结果的下图右,计算交叉验证分数的坐标格,