Amy 原创整理|资料核验:2026-11-03
scikit-learn给出的收缩公式是(1-s)*cov + s*mu*I,其中s为shrinkage,mu=trace(cov)/n_features。参数范围为[0,1],默认0.1。目标矩阵的各个对角元素都是同一个平均方差mu。
【Amy教学示例】若输入经验协方差为[[4,1],[1,2]],则mu=3。把s设为1时,公式得到[[3,0],[0,3]],不是只把原矩阵的非对角元素清零后得到[[4,0],[0,2]]。
这个差别影响我们怎样解释“收缩”:它同时改变非对角项与各特征方差之间的差异。Amy建议读实现或比较实验时,把目标矩阵写出来,再讨论参数大小;不要仅凭名称把所有协方差正则化当成同一种操作。
官方来源:
https://scikit-learn.org/stable/modules/generated/sklearn.covariance.ShrunkCovariance.html