关于非负矩阵分析算法学习的一些总结

1、概念:非负矩阵分解(NMF)是一种可以有效处理多变量数据的方法,是面对高维海量非负数据的一种特征提取和降维的方法,它不仅能达到维数约简,还能得到非负的数值结果,有很好的解释性。随着NMF算法的发展,为了更好地适应实际问题,各种改进的NMF算法层出不穷。但究其思想均是将目标矩阵 近似分解为两个非负矩阵WH的乘积,即≈ WH

2、常用的两种代价函数:为了找到≈ WH的近似解,我们首先需要定义一个代价函数,用以量化近似的程度。可以使用两个非负矩阵 A 和 B 的距离来构造此代价函数。(1)一种使用距离度量的方法为:计算 A 和 B 之间的欧几里得距离的平方值:

                                                             \left \| A-B \right \|^{2}=\sum_{ij}(A_{ij}-B_{ij})^{2}

此公式下界为 0,仅当 A=B 时距离消失。

(2)另一种称为KL 散度或者相对熵:D(A||B)=\sum_{ij}(A_{ij}log\frac{A_{ij}}{B_{ij}}-A_{ij}+B_{ij})   与欧几里得距离相同,它的下界也为 0,且在 A=B 时距离消失。但它不能被称为“距离”,因为这个式子在 A 与 B 中并不对称,因此我们将其称为 A 对于 B 的“散度” 。

根据上面两种代价函数,可以将NMF问题化为下面两种最优化问题:

(1)在约束条件 W,H\geq 0 条件下,以W,H作为参数,最小化 \left \| V-WH \right \|^{2}

(2)在约束条件 W,H\geq 0 条件下,以W,H作为参数,最小化 D(V||WH)

3、解决上述两个优化问题有梯度下降法(GU)、乘性迭代方法(MU)及交替非负最小二乘法(ANLS)等,下面使用乘性迭代方法更新每次迭代的W和H。

(1)欧式距离\left \| V-WH \right \|^{2}更新规则

(2)散度D(V||WH)更新规则

4、总结:总的来说,针对NMF算法(大多都是基于欧式距离和KL散度的基础上提出新的NMF算法)

(1)首先是定义一个代价目标函数用来量化原矩阵与构造的新矩阵近似的程度,常见的用欧式距离作为目标函数。

(2)接着根据(1)中的代价目标函数可以将NMF问题转为新的优化问题。

(3)针对新的(2)中的优化问题采用不同的迭代更新规则进行解决,计算每次迭代的低秩矩阵W和H,常用乘性迭代法。

(4)证明所提出的目标函数的收敛性即可。

 

 

 

以上只是个人见解,如有错误,欢迎指正。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值