Scorpio&Aries
这个概念经常在机器学习的文章中看到,但由于接触不久,所以一直都是一知半解,没有好好了解过。 首先从字面上理解,“协同”需要一个“集体“,“过滤”就应该是晒选的意思,那么协同过滤总的来说就是通过“集体”来“筛选”,以评分推荐系统为例子,这里的“协同”我个人理解就是集合”众多人的评价”,这里的“评价”,就是“对集体都接触过的事物进行打分”,这样大概就能通过一些共同的事物反应出用户不同的”价值观“,然后通过这样的价值观来”筛选“出价值观高度相似的人,再相互推荐共同都喜爱的东西。那么这样的推荐就很有可能是大家都需要的。 经过资料洗礼过后,得知cf现在的两大方向,一种是以记忆为基础(Memory-base),另一种是基于模型(Model-based Collaborative Filtering)。 普及的比较多的前者,它基于关注的目标,又分为基于用户的协同过滤和基于项目的协同过滤,上面举的一个简单的评分推荐系统的例子就可以说是基于用户的协同过滤,它是通过用户对共同物品的“主观价值”来筛选相似用户,再互补评分高的商品,从而达到推荐商品的目的;那么基于项目的意思就是通过这个用户集体对商品集的评价,在物品的角度上去寻找相似度高的物品,达到推荐商品的效果。虽然针对的目标不通,但以我个人理解,大体上都是依赖这个用户集营造的“价值观”,只不过区别在于,基于用户的CF是“关心”各个用户的“主观价值”上的“区别”,而基于项目的CF则是要基于这整个用户集对项目集的“普世价值观”,来甄别出“物品”上的差异。不知道这么比喻恰不恰当哈,“普世”我这边理解就是“大多数”,是一种整体趋势的意思。价值观比较“抽象”的话,再直接点这里的“价值观”就相当于物理中的“参考系”。 但是以上两种方法在面对,不是每个用户对大多数商品都做出过评价(数据稀疏)时就无能为力,所以基于这个问题就引导出了基于模型(Model-based )的CF,我在最近的论文中接触到的就是一个“矩阵分解”的协同过滤,它能够基于现有的数据得到一个模型,再用此模型进行推荐。那么是如何做到的呢?接下来看看矩阵分解。 假设我先在有一个关于用户对音乐评分的矩阵如下图: 只有上述的数据是很难使用户相互推荐音乐的,因为可以看出用户本身听过的歌就不够多,那么如何使数据更加“饱满”呢?这时正是需要矩阵分解的时候,矩阵分解算法的数学理论基础是矩阵的行列变换。行列变换中又有以下规则,我们知道矩阵A进行行变换相当于A左乘一个矩阵,矩阵A进行列变换等价于矩阵A右乘一个矩阵,因此矩阵A可以表示为A=PEQ=PQ(E是标准阵)。 形象的表示如下图: 矩阵分解的目的就是把一个稀疏的用户评分矩阵分解成用户因子矩阵和项目因子矩阵相乘的形式R=U(转置)*I,我们的目的就是最后再让两个因子矩阵反乘回去得到饱满的用户评分矩阵。那么这个用户,项目因子是个什么东西呢?我们接着上面的音乐评分的形式说,一首歌可能包含多种音乐风格,我们可以量化风格,体现各种风格在一首歌中的比重,那么这里的“潜在因子”我们就可以当作“音乐风格”,K个因子就可以看作K种风格。譬如下图: 可以说,这些因子就是我们的模型中的重要参数,个人理解分解出来的这两个因子矩阵就可以说是基于模型的CF中的,“模型”的了,其实我觉得可以类比线性模型中的参数,我们的回归模型最终重要的不就是公式中的各项参数吗,这两个因子矩阵其实就是我们这个模型中的重要参数,参数知道了模型也就求出来了。如果不了解线性模型可以参考吴恩达大大的机器学习课程,里面介绍的很详细,不像我这边一知半哈。 那么这些个值具体是怎么得出来的呢?过程和求线性回归也很像,接下来就是相关的简单推倒,首先,我们假设,真实的用户评分和我们预测评分的差遵循高斯分布 R用是评分矩阵 U是用户因子矩阵,V是项目因子矩阵 接下来就是极大似然估计,使,在现有数据下概率最大化 类比求线性模型,就能够了解思想很相似,所以应该同样是运用了似然估计的思想,要使值最大,式子两边同时取对数,可以看到,如果要使概率最大,那么公式的第一项就要最小,是不是想到了什么,没错接下来就可以看到最小二乘法的式子。 线性模型我们遇到这个情况一般怎么做,没错,就是梯度下降。首先求偏导数最后就是梯度下降的矩阵因子更新公式: 接下来迭代到自己设置的阈值收敛就能得到局部最优解了。 下面是我根据上述矩阵分解的思想随机的模拟实践,可以自行感受一下准度,可能写搓了点~ 注释:以上诸多图片材料来自网上多篇博客文章 还有方便实用sklearn的中文API文档
qianxiao1985
随机环境中经济增长模型研究广义生产函数假设下的经济增长模型分析考虑市场预期的供求关系模型基于Matlab的离散事件模拟用风险预算进行资产配置有向图上的PAR贯序模拟系统单圈图的一般Randic指标的极值问题模糊数学在公平评奖问题中的应用模糊矩阵在环境评估中的初步应用模糊评判在电脑中的初步应用数学家的数学思想Riemann积分定义的网收敛表述微积分思想在不等式证明中的应用用有限的尺度标量无限的过程-略论极限ε语言在微积分及现代数学中的位置及意义微积分思想在几何问题中的应用齐次平衡法求KdV-Burgers方程的Backlund变换Painleve分析法判定MKdV-Burgers方程的可积性直接法求KdV-Burgers方程的对称及精确解行波求解KdV-Burgers方程因子有向图的矩阵刻划简单图上的lit-only sigma-game半正则图及其线图的特征多项式与谱分数有向图的代数表示WWW网络的拓扑分析作者合作网络等的拓扑分析古诺模型价格歧视用数学软件做计算微分方程的计算器用数学软件做矩阵计算的计算器弹簧-质点系统的反问题用线性代数理论做隐含语义搜索对矩阵若当标准型理论中变换阵求法的探讨对矩阵分解理论的探讨对矩阵不等式理论的探讨(1)对矩阵不等式理论的探讨(2)函数连续性概念及其在现代数学理论中的延伸从有限维空间到无限维空间Banach空间中脉冲泛函微分方程解的存在性高阶脉冲微分方程的振动性具有积分边界条件的分数阶微分方程解的存在唯一性分数阶微分方程的正则摄动一个形态形成模型的摄动解一个免疫系统常微分方程模型的渐近解前列腺肿瘤连续性激素抑制治疗的数学模型前列腺肿瘤间歇性激素抑制治疗的数学模型病毒动力学数学模型肿瘤浸润数学模型耗散热方程初边值问题解的正则性耗散波方程初边值问题解的正则性耗散Schrodinger方程初边值问题解的正则性非线性发展方程解得稳定性消费需求的鲁棒调节生产函数的计量分析企业的成本形态分析的研究分数阶Logistic方程的数值计算分数阶捕食与被捕食模型的数值计算AIDS传播模型的全局性分析HIV感染模型的全局性分析风险度量方法的比较及其应用具有区间值损益的未定权益定价分析模糊规划及其在金融分析中的应用长依赖型金融市场股票价格与长相依性分数布朗运动下的外汇期权定价不确定性与资产定价加油站点的分布与出租车行业的关系
分块矩阵bai是一个矩阵, 它是把矩阵分别按照横竖du分割成一些小的子矩阵 。 然后zhi把每个dao小矩阵看成一个元素。如果分块矩阵的非零子矩阵都在对角线上,
一般使用初等行变换或者伴随矩阵方法,来求逆矩阵。
据我所知,矩阵可以解高次方程,在线性代数中也有运用。
矩阵正定的判定条件如下: 1、对称矩阵A正定的充分必要条件是A的n个特征值全是正数。 2、对称矩阵A正定的充分必要条件是A合同于单位矩阵E。 3、对称矩阵A正定
分块矩阵:处理阶数较高的矩阵时常采用的技巧。 分块矩阵是高等代数中的一个重要内容,是处理阶数较高的矩阵时常采用的技巧,也是数学在多领域的研究工具。对矩阵进行适当