矩阵分解

线性代数之——SVD 分解

橙三吉。 提交于 2019-12-05 12:23:36
SVD 分解是线性代数的一大亮点。 1. SVD 分解 \(A\) 是任意的 \(m×n\) 矩阵,它的秩为 \(r\) ,我们要对其进行对角化,但不是通过 \(S^{-1}A S\) 。 \(S\) 中的特征向量有三个大问题:它们通常不是正交的;并不总是有足够的特征向量; \(Ax=\lambda x\) 需要 \(A\) 是一个方阵。 \(A\) 的奇异向量很好地解决了上述所有问题。 代价是我们需要两组奇异向量,一组是 \(\boldsymbol{u}\) , 一组是 \(\boldsymbol{v}\) 。 \(\boldsymbol{u}\) 是 \(AA^T\) 的特征向量, \(\boldsymbol{v}\) 是 \(A^TA\) 的特征向量,因为这两个矩阵都是对称矩阵,我们可以选出一组标准正交的特征向量。即: \[AA^T=U\Sigma^2U^T \quad A^TA =V\Sigma^2V^T\] 证明: 让我们从 \(A^TAv_i=\sigma_i^2v_i\) 开始,两边同乘以 \(v_i^T\) ,有: \[v_i^TA^TAv_i=\sigma_i^2v_i^Tv_i=\sigma_i^2 \to ||Av_i||=\sigma_i\] 这说明向量 \(Av_i\) 的长度为 \(\sigma_i\) 。然后两边同乘以 \(A\) ,有: \[AA^T

推荐算法之用矩阵分解做协调过滤——LFM模型

故事扮演 提交于 2019-12-05 10:59:53
隐语义模型(Latent factor model,以下简称 LFM ),是推荐系统领域上广泛使用的算法。它 将矩阵分解应用于推荐算法推到了新的高度 ,在推荐算法历史上留下了光辉灿烂的一笔。本文将对 LFM 原理进行详细阐述,给出其基本算法原理。此外,还将介绍使得隐语义模型声名大噪的算法 FunkSVD 和在其基础上改进较为成功的 BiasSVD 。最后,对 LFM 进行一个较为全面的总结。 1. 矩阵分解应用于推荐算法要解决的问题 在推荐系统中,我们经常可能面临的场景是:现有大量用户和物品,以及少部分用户对少部分物品的评分,我们需要使用现有的用户对少部分物品的评分去推测用户对物品集中其他物品的可能的评分,从而将预测中评分高的物品推荐给用户。例如下面的用户物品评分表: 用户\物品 物品 1 物品 2 物品 3 物品 4 物品 5 用户 1 3 2 用户 2 1 2 6 用户 3 3 4 6 用户 4 1 2 5 用户 5 4 2 3 对于每个用户,我们希望较准确的预测出其对未评分物品的评分。将m个用户和n个物品的评分看做一个矩阵 M ,从而将矩阵分解应用到该场景,即可解决这一问题。而本文,将关注于矩阵分解用于到推荐的方法之一,即 LFM 算法的解决方案。 2. LFM LFM 算法的核心思想是通过隐含特征(Latent factor)联系用户和物品

线性代数之——正定矩阵

五迷三道 提交于 2019-12-05 10:52:35
这部分我们关注有正特征值的对称矩阵。如果对称性使得一个矩阵重要,那么所有特征值大于零这个额外属性则让这个矩阵真正特殊。但我们这里的特殊并不是稀少,事实上在各种应用中具有正特征值的对称矩阵非常常见,它们被称作 正定矩阵 。 我们可以通过检查特征值是否大于零来识别正定矩阵,但计算特征值是一项工作,当我们真正需要它们的时候我们可以进行计算,而如果我们仅仅想知道它们是否是正的,我们有更快的方式。 1. 正定矩阵的判断 首先,由于矩阵是对称的,所有的特征值自然都是实数。让我们以一个 2×2 的矩阵开始, \[A = \begin{bmatrix} a&b \\b&c\end{bmatrix}\] A 的特征值是正的当且仅当 \(a > 0\) 并且 \(ac-b^2>0\) 。 如果 2×2 矩阵的特征值 \(\lambda_1>0\) , \(\lambda_2>0\) ,那么它们的乘积等于行列式, \(\lambda_1\lambda_2=|A|=ac-b^2>0\) ,它们的和等于矩阵的迹, \(\lambda_1+\lambda_2=a+c>0\) ,所以 \(a\) 和 \(c\) 都必须是正的。 A 的特征值是正的当且仅当主元是正的。 这连接了线性代数的两大部分, 正的特征值意味着正的主元,反之亦然 。而且,主元往往比特征值计算得更快。 基于能量的定义 \[Ax=\lambda

高光谱遥感图像相关知识梳理大全

て烟熏妆下的殇ゞ 提交于 2019-12-05 07:35:02
前言 ​ 本资料整理了高光谱遥感图像概念定义、分析处理与分类识别的基本知识。第一部分介绍高光谱图像的一般性原理和知识,第二部分介绍了高光谱图像的噪声问题;第三部分介绍高光谱图像数据冗余问题以及数据降维解决冗余的方法;第四部分介绍高光谱图像的混合像元问题,对光谱解混做了一定介绍;第五部分和第六部分分别介绍了高光谱图像的监督分类和分监督分类的特点、流程和常用算法。 1.基本介绍 高光谱遥感(Hyperspectral remote sensing) 是将成像技术和光谱技术相结合的多维信息获取技术,同时探测目标的二维集合空间与一维光谱信息,获取高光谱分辨率的连续、窄波段图像数据。 高光谱图像与高分辨率图像、多光谱图像不同。 高光谱识别优势: 光谱分辨率高、波段众多,能够获取地物几乎连续的光谱特征曲线,并可以根据需要选择或提取特定波段来突出目标特征; 同一空间分辨率下,光谱覆盖范围更宽,能够探测到地物更多对电磁波的响应特征; 波段多,为波段之间的相互校正提供了便利; 定量化的连续光谱曲线数据为地物光谱机理模型引入图像分类提供了条件; 包含丰富的辐射、空间和光谱信息,是多种信息的综合载体。 高光谱在识别方面的困难: 数据量大,图像包含几十个到上百个波段,数据量是单波段遥感图像的几百倍;数据存在大量冗余,处理不当,反而会影响分类精度;

11种全球著名商业分析模型

筅森魡賤 提交于 2019-12-05 06:44:40
这些商业分析模型被全球著名咨询公司广泛应用于很多行业的战略制定。无论是国内还是国际,无论是提供产品还是提供服务。是企业必备的战略制定参考手册。 1. 波特五种竞争力分析模型 被广泛应用于很多行业的战略制定 波特的五种竞争力分析模型被广泛应用于很多行业的战略制定。波特认为在任何行业中,无论是国内还是国际,无论是提供产品还是提供服务,竞争的规则都包括在五种竞争力量内。 这五种竞争力就是 企业间的竞争、潜在新竞争者的进入、潜在替代品的开发、供应商的议价能力、购买者的议价能力。 这五种竞争力量决定了企业的盈利能力和水平。 竞争对手 企业间的竞争是五种力量中最主要的一种。只有那些比竞争对手的战略更具优势的战略才可能获得成功。为此,公司必须在市场、价格、质量、产量、功能、服务、研发等方面建立自己的核心竞争优势。 影响行业内企业竞争的因素有:产业增加、固定(存储)成本/附加价值周期性生产过剩、产品差异、商标专有、转换成本、集中与平衡、信息复杂性、竞争者的多样性、公司的风险、退出壁垒等。 新进入者 企业必须对新的市场进入者保持足够的警惕,他们的存在将使企业做出相应的反应,而这样又不可避免地需要公司投入相应的资源。 影响潜在新竞争者进入的因素有:经济规模、专卖产品的差别、商标专有、资本需求、分销渠道、绝对成本优势、政府政策、行业内企业的预期反击等。 购买者 当用户分布集中、规模较大或大批量购货时

关系抽取 ---远程监督 ---《Ranking-Based Automatic Seed Selection and Noise Reduction for Weakly Supervised Relation Extraction》

空扰寡人 提交于 2019-12-05 02:41:58
先说看完本文的一个收获吧:   文章创造性地将关系提取中的自动选种和数据降噪这两个重要任务转换为排序问题。然后,借鉴 HITS、K-means、LSA 和 NMF 等传统算法策略,按照对实例-模式三元组排序的思路,构建出了兼具自动选种和数据降噪功能的算法。实验结果显示,文章提出的算法能够有效完成自动选种和数据降噪任务,并且其性能同基线算法相比也有较大提升。   这篇文章的启发作用在于:对于关系提取中的不同子任务通过问题转换归结为本质相同的同一问题,而后借鉴已有的成熟算法设计出可以通用的解决策略。这种思路上的开拓创新能否应用于其他 NLP 任务,是一个值得思考和探索的方向。 文章的贡献主要有以下几点:    1. 创造性的将关系提取中的自动选种和数据降噪任务转换成排序问题;   2. 提出多种既可用于 Bootstrapping 关系提取自动选种,又能用于远程监督关系提取降噪的策略; 这篇文章主要对弱监督关系提取中两个相关的任务展开研究:   Bootstrapping 关系提取(Bootstrapping RE)的自动选种任务;   远程监督关系提取(Distantly Supervise RE)的降噪任务。   文章受到 Web 结构挖掘中最具有权威性、使用最广泛的 Hypertext-induced topic search(HITS)算法,以及 K-means、潜在语义分析

字符串与模式匹配算法(六):Needleman–Wunsch算法

时光怂恿深爱的人放手 提交于 2019-12-05 00:58:47
一、Needleman-Wunsch 算法   尼德曼-翁施算法 (英语: Needleman-Wunsch Algorithm)是基于生物信息学的知识来匹配蛋白序列或者DNA序列的算法。这是将动态算法应用于生物序列的比较的最早期的几个实例之一。该算法是由 Saul B. Needlman和 Christian D. Wunsch 两位科学家于1970年发明的。本算法高效地解决了如何将一个庞大的数学问题分解为一系列小问题,并且从一系列小问题的解决方法重建大问题的解决方法的过程。该算法也被称为优化匹配算法和整体序列比较法。时至今日尼德曼-翁施算法仍然被广泛应用于优化整体序列比较中。 二、 初始化得分矩阵   首先建立如下的得分矩阵。从第一列第一行的位置起始。计算过程从d 0,0 开始,可以是按行计算,每行从左到右,也可以是按列计算,每列从上到下。当然,任何计算过程,只要满足在计算 d (i , j) 时 d (i-1, j) (上边)、d (i-1 , j-1) (左上)和 d (i, j-1) (左边)都已经被计算这个条件即可。在计算 d (i , j) 后,需要保存d (i , j) 是从 d (i-1 , j) 、d (i-1 , j-1) 或 d (i, j-1) 中的一个推进的,或保存计算的路径,以便于后续处理。上述计算过程到 d (m , n) 结束,其中m

numpy.linalg.svd函数

血红的双手。 提交于 2019-12-04 20:35:49
本文链接:https://blog.csdn.net/rainpasttime/article/details/79831533 函数:np.linalg.svd(a,full_matrices=1,compute_uv=1)。 参数: a是一个形如(M,N)矩阵 full_matrices的取值是为0或者1,默认值为1,这时u的大小为(M,M),v的大小为(N,N) 。否则u的大小为(M,K),v的大小为(K,N) ,K=min(M,N)。 compute_uv的取值是为0或者1,默认值为1,表示计算u,s,v。为0的时候只计算s。 返回值: 总共有三个返回值u,s,v u大小为(M,M),s大小为(M,N),v大小为(N,N)。 A = u*s*v 其中s是对矩阵a的奇异值分解。s除了对角元素不为0,其他元素都为0,并且对角元素从大到小排列。s中有n个奇异值,一般排在后面的比较接近0,所以仅保留比较大的r个奇异值。 例子: >>> from numpy import * >>> data = mat([[1,2,3],[4,5,6]]) >>> U,sigma,VT = np.linalg.svd(data) >>> print U [[-0.3863177 -0.92236578] [-0.92236578 0.3863177 ]] >>> print sigma [9

仿射变换及其变换矩阵的理解

回眸只為那壹抹淺笑 提交于 2019-12-04 18:30:02
原文地址: https://www.cnblogs.com/shine-lee/p/10950963.html 写在前面 2D图像常见的坐标变换如下图所示: 这篇文章不包含 透视变换 (projective/perspective transformation),而将重点放在 仿射变换 (affine transformation),将介绍仿射变换所包含的各种变换,以及变换矩阵该如何理解记忆。 仿射变换:平移、旋转、放缩、剪切、反射 仿射变换包括如下所有变换,以及这些变换任意次序次数的组合 : 平移 (translation)和 旋转 (rotation)顾名思义,两者的组合称之为 欧式变换 (Euclidean transformation)或 刚体变换 (rigid transformation); 放缩 (scaling)可进一步分为 uniform scaling 和 non-uniform scaling ,前者每个坐标轴放缩系数相同(各向同性),后者不同;如果放缩系数为负,则会叠加上 反射 (reflection)——reflection可以看成是特殊的scaling; 刚体变换+uniform scaling 称之为, 相似变换 (similarity transformation),即平移+旋转+各向同性的放缩; 剪切变换 (shear mapping

morphable model

守給你的承諾、 提交于 2019-12-04 08:46:32
人脸三维重建与表观建模(四)如何训练3d morphable model三维形变模型 飘哥 有了3d morphable model三维形变模型,那么问题是怎么能够训练这个模型, 上面这个流程图是《FaceWarehouse: a 3D Facial Expression Database for Visual Computing》中的一张流程图。 首先是用深度采集设备,如kinect,获取一个人在不同表情下的几何结构,这是一个点云的形式。 然后通过kinect fusion把缺失的部分补齐,这个点云的几何结构不能直接用, 这是会做一个标准的人脸模型,这个人脸模型拓扑结构是定义好的,然后把这个标准的人脸几何模型,通过非刚性的形变就能把它形变到采集到的点上,就得到了用标准的人脸拓扑结构表示采集到的人脸的几何模型。 有一个问题是假设要求模特做10种或者20种表情,每个人的理解是不同的,如张嘴动作,张嘴每个人张的大小不一致,这时候就需要一个facial rigging的过程,提前定义一个标准的表情模版,通过标准表情模版和采集数据的模版之间的匹配,就可以得到不同的人在标准表情下对应的几何机构,然后把这个流程重复在许多人身上,就可以得到一个数据集,再对这个数据集进行pca分解,就可以得到三维形变模型中的向量,这样就完成了整个模型构建的过程。 有了构建好的模型