一 . L0 范数正则化特征选择
- 穷举计算法
在面对变量选择时, 我们要进行后验表示,我们另 rj = 1, 表示第j 个特征与此后验是相关的, 其中后验表达为
假如有样本 N = 20 ,维数 D = 10,进行线性回归模型, 其中数据和噪声为正太分布的,, 我们一般会要 求K 稀疏,表示稀疏的程度。 如K = 5,表示 有5个w 为非0, 即我们用 w = (0, -1.67, 0.13, 0, 0, 1.19, 0, -0.04, 0.33, 0) , 并且噪声方差满足
。
其实我们可以枚举 2^10 = 1024 种模型来计算p(r|D), 通过组合所有的特征来枚举,最终得到最大的八组模型为:
进行大量的模型枚举判断真的不太容易, 我们因而考虑一个自然而然的后验模型 MAP 估计, 似然加上先验,
在实际计算时,通常不会计算所有情况的概率密度,而是利用中值模型:
这就需要计算后验经验概率(marginal inclusion probabilities) 。
我们可以分别得到每个特征对应的后验概率情况:
如果上述 MAP 估计或是 marginal inclusion probabilities 都无效的话,就要考虑算法加速。
首先先对上述计算进行模型实例化:
- The spike and slab model
对于先验,用以下先验对于位(bit:0 or 1)向量表示 伯努力:
写出其log 形式,从而化为 更似 l0正则的样子:
其中 lambda 控制模型的稀疏度。
先验的函数与l0 挂上钩了。下面对于似然函数
我们首先讨论 p(w | r, sigma^2) 中间那项,
如果特征项 rj = 0, 则不相关有 wj = 0. 如果 rj = 1, 我们希望 wj 是非零的。
如果我们对输入数据进行标准化, 我们有一个 合适的先验(reasonable prior), 即
, 其中
, 控制系数w与相关特征(rj =1)变量 的期望的大小(即不为零的wj 为大多呀,这个期望的值的控制程度), 这个项
通过 sigma^2 来进行scaled。
因而似然的先验有:
第一项在原点处,即" spike", 当
趋于 无穷时, 这时 p(wj | rj =1) 接近均匀分布, 即作为"slab", 因而叫做 spike and slab model.
我们可以将 wj = 0时的系数为零的情况去掉, 那时为0 系数。 这样我们可化似然为:
在这样的似然先验下, 我们可以计算 边缘似然(marginal likelihood)。
如果我们知道噪声的方差 sigma, 的话,那么边缘似然为: