特征分解

KTV歌曲推荐-因子分解机和DeepFM

删除回忆录丶 提交于 2020-03-19 12:50:08
3 月,跳不动了?>>> 前言 今天应该是推荐算法的最后一篇了,因子分解机deepFM。此处跳过了FM和FFM,因为我马上要去干别的了,所以直接用deepFM收尾吧。 先po两篇论文 FM论文 deepFM论文 看完这两篇论文,基本就能理解FM和DeepFM了。为了节省大家的时间我简述一下一些基本思想。 FM因子分解机 在FM出现以前大多使用SVM来做CTR预估,当然还有其他的比如SVD++,PITF,FPMC等,但是这些模型对稀疏矩阵显得捉襟见肘,而且参数规模很大。 那FM解决了什么问题: 更适合做稀疏矩阵的参数计算 减少了需要训练的参数规模,而且特征和参数数量是线性关系 FM可以使用任何真实数据进行计算 其实FM出现主要解决了特征之间的交叉特征关系,此处省略了稀疏矩阵导致的w参数失效的模型直接说最终模型: 这里通过一个向量v的交叉来解决了稀疏矩阵导致的导致参数失效的问题。 那他参数的规模为什么小呢,接下来就是推导后面二次项部分: 从这里可以看出参数的复杂度是线性的O(kn)。 Keras对FM建模 这里是单纯的FM模型代码,这代码是借鉴别人的,我发现有一个问题就是,他最后repeat了二次项,这块我不是太明白,贴出来大家有兴趣可以一起讨论。 import os os.environ["CUDA_VISIBLE_DEVICES"]="-1" import keras

数学基础系列(六)----特征值分解和奇异值分解(SVD)

て烟熏妆下的殇ゞ 提交于 2020-01-19 19:31:11
一、介绍   特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。   奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。   在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing)   特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,接下来会谈到特征值分解和奇异值分解的目的都是一样,就是 提取出一个矩阵最重要的特征 。   首先来看看向量的表示及基变换   向量可以表示为(3,2),实际上表示线性组合:$x(1,0)^{T}+y(0,1)^{T}$      基:(1,0)和(0,1

3.1、Factorization Machine模型

时光怂恿深爱的人放手 提交于 2020-01-14 02:25:10
Factorization Machine模型   在Logistics Regression算法的模型中使用的是特征的线性组合,最终得到的分隔超平面属于线性模型,其只能处理线性可分的二分类问题,现实生活中的分类问题是多中多样的,存在大量的非线性可分的分类问题。   为了使得Logistics Regression算法能够处理更多的复杂问题,对Logistics Regression算法精心优化主要有两种,(1)对特征进行处理,如核函数的方法,将非线性可分问题转换为近似线性可分的问题(2)对Logistics Regression算法进行扩展,因子分解机(Factorization Machine,FM)是对基本Logistics Regression算法的扩展,是由Steffen Rendle提出的一种基于矩阵分解的机器学习算法。 1、Logistics Regression算法的不足:    由于Logistics Regression算法简单,易于实现的特点,在工业界中得到广泛的使用,但是基本的Logistics Regression算法只能处理线性可分的二分类问题,对于下图的非线性可分的二分类问题,基本的Logistics Regression算法却不能够很好的进行分类。 基本的Logistics Regression算法不能很好的将上述的数据分开

NSCT,非下采样Contourlet变换——学习笔记

我的梦境 提交于 2020-01-11 01:18:42
非下采样Contourlet变换(Nonsubsampled contourlet transform,NSCT) 类似小波变换,都是将源图像变换后对系数进行一些处理,再逆变换回目标图像。 NSCT是一种新型平移不变,多尺度,多方向性的快速变换。 NSCT是基于Nonsubsampled金字塔(NSP)和Nonsubsampled方向滤波器(NSDFB)的一种变换。首先由NSP对输入图像进行塔形分解,分解为高通和低通两个部分,然后由NSDFB将高频子带分解为多个方向子带,低频部分继续进行如上分解。 Nonsubsampled Pyramid(NSP): Nonsubsampled Pyramid(NSP)和Contourlet的Laplacian Pyramid(LP)多尺度分析特性不同。图像通过Nonsubsampled Pyramid(NSP)进行多尺度分解,NSP去除了上采样和下采样,减少了采样在滤波器中的失真,获得了平移不变性。NSP为具有平移不变性滤波结构的NSCT多尺度分析,可以得到与LP分解一样的多尺度分析特性。图2.4(a)处分为3个尺度。 Nonsubsampled方向滤波器(NSDFB) Nonsubsampled方向滤波器(NSDFB)是一个双通道的滤波器,将分布在同方向的奇异点合成NSCT的系数。方向滤波器(DFB)是Bamberger and

学习笔记DL006:特征分解,奇异值分解

你离开我真会死。 提交于 2020-01-05 22:08:09
特征分解。 整数分解质因素。 特征分解(eigendecomposition),使用最广,矩阵分解一组特征向量、特征值。方阵𝑨的特征向量(eigenvector),与𝑨相乘相当对该向量缩放非零向量𝑣,𝑨𝑣=λ𝑣。标量λ为特征向量对应特征值(eigenvalue)。左特征向量(left eigenvector) 𝑣ᵀ𝑨=λ𝑣ᵀ,右特征向量(right eigenvector)。𝑣是𝑨的特征向量,任何缩放向量𝑠𝑣(𝑠∈ℝ,𝑠≠0)也是𝑨的特征向量。𝑠𝑣和𝑣有相同特征值。只考虑单位特征向量。 矩阵𝑨有𝑛个线性无关特征向量{𝑣⁽¹⁾,…,𝑣⁽ⁿ⁾},对应特征值{λ₁,…,λn}。特征向量连接成一个矩阵,每一列是一个特征向量,V=[𝑣⁽¹⁾,…,𝑣⁽ⁿ⁾]。特征值连接成一个向量𝝺=[λ₁,…,λn]ᵀ。𝑨的特征分解(eigendecomposition),记𝑨=Vdiag(𝝺)V⁻¹。 构建具有特定特征值和特征向量矩阵,在目标方向上延伸空间。矩阵分解(decompose)成物征值和特征向量,分析矩阵特定性质。 每个实对称矩阵都可以分解成实特征向量和实特征值,𝑨=Q𝚲Qᵀ。Q是𝑨的特征向量组成正交矩阵,𝚲是对角矩阵。特征值𝚲i,i对应特征向量是矩阵Q的第i列,记Q:,i。Q是正交矩阵,𝑨看作沿方向𝑣⁽i⁾延展λi倍空间。两多或多个特征向量拥有相同特征值,特征向量产生生成子空间

SVD分解技术详解

时光总嘲笑我的痴心妄想 提交于 2019-12-25 15:58:11
版权声明: 本文由LeftNotEasy发布于 http://leftnoteasy.cnblogs.com , 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系 wheeleast@gmail.com 前言: 上一次写了关于 PCA与LDA 的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。 在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic

特征分解和PCA

别来无恙 提交于 2019-12-22 00:06:52
文章目录 1.线性代数基础 标量、向量、矩阵和Tensor 线性代数的正确打开方式 Ax=b的行视图 Ax=b的列视图 线性相关和线性无关 Span、基和子空间(subspace) 四个基本子空间 四个基本子空间的关系 利用子空间重新看待线性方程组的解 可逆矩阵 2.特征分解 方针的特征值和特征向量 特征分解的性质 对称矩阵的特征分解 特征分解和子空间的关系 3.PCA 优化问题 PCA PCA举例 1.线性代数基础 标量、向量、矩阵和Tensor 线性代数的正确打开方式 Ax=b的行视图 Ax=b的列视图 线性相关和线性无关 Span、基和子空间(subspace) 四个基本子空间 四个基本子空间的关系 利用子空间重新看待线性方程组的解 可逆矩阵 2.特征分解 方针的特征值和特征向量 特征分解的性质 对称矩阵的特征分解 特征分解和子空间的关系 3.PCA 优化问题 PCA PCA举例 来源: CSDN 作者: LotusQ 链接: https://blog.csdn.net/qq_30057549/article/details/103648352

奇异值分解(SVD)与主成分分析(PCA)

给你一囗甜甜゛ 提交于 2019-12-11 18:14:30
奇异值分解(SVD)与主成分分析(PCA) 1 算法简介 奇异值分解(Singular Value Decomposition),简称SVD,是线性代数中矩阵分解的方法。假如有一个矩阵A,对它进行奇异值分解,可以得到三个矩阵相乘的形式,最左边为m维的正交矩阵,中间为m*n 的对角阵,右边为n维的正交矩阵: A = U Σ V T A=U\Sigma V^{T} A = U Σ V T 这三个矩阵的大小如下图所示: 矩阵 Σ \Sigma Σ 除了对角元素其他元素都为0,并且对角元素是从大到小排列的,前面的元素比较大,后面的很多元素接近0。这些对角元素就是奇异值。( u i u_i u i ​ 为m维行向量, v i v_i v i ​ 为n维行向量) Σ \Sigma Σ 中有n个奇异值,但是由于排在后面的很多接近0,所以我们可以仅保留比较大的前r个奇异值,同时对三个矩阵过滤后面的n-r个奇异值, 奇异值过滤之后,得到新的矩阵: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Y9zuN9s-1576054984887)(./Img/fig2.png)] 在新的矩阵中, Σ \Sigma Σ 只保留了前r个较大的特征值: 实际应用中,我们仅需保留三个比较小的矩阵,就能表示A,不仅节省存储量,在计算的时候更是减少了计算量。SVD在信息检索(隐性语义索引

[转] 矩阵分解介绍

我们两清 提交于 2019-12-02 18:03:13
from: https://www.cnblogs.com/marsggbo/p/10152644.html#autoid-4-0-0 https://www.cnblogs.com/marsggbo/p/10156077.html 1 | 0 I. 行列式(Determinants)和迹(Trace) 1 | 1 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用 𝑑 𝑒 𝑡 ( 𝐴 ) det(A)来表示矩阵 𝐴 A的行列式。另外这里的 𝐴 ∈ 𝑅 𝑛 × 𝑛 A∈Rn×n默认是方阵,因为只有方阵才能计算行列式。 行列式如何计算的就不在这里赘述了,下面简要给出行列式的各种性质和定理。 定理1 :当且仅当一个方阵的行列式不为0,则该方阵可逆。 定理2 :方阵 𝐴 A的行列式可沿着某一行或某一列的元素展开,形式如下: 沿着第 𝑖 i行展开: 𝑑 𝑒 𝑡 ( 𝐴 ) = ∑ 𝑘 = 1 𝑛 ( − 1 ) 𝑘 + 𝑖 𝑎 𝑖 𝑘 𝑑 𝑒 𝑡 ( 𝐴 𝑖 , 𝑘 ) det(A)=∑k=1n(−1)k+iaikdet(Ai,k) 沿着第 𝑖 i列展开: 𝑑 𝑒 𝑡 ( 𝐴 ) = ∑ 𝑘 = 1 𝑛 ( − 1 ) 𝑘 + 𝑖 𝑎 𝑘 𝑖 𝑑 𝑒 𝑡 ( 𝐴 𝑘 , 𝑖 ) det(A)=∑k=1n(−1)k+iakidet(Ak,i) 定理3

CTR@因子分解机

狂风中的少年 提交于 2019-12-01 04:37:39
1. FM算法   FM(Factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,为了解决大规模稀疏数据中的特征组合问题。FM算法是推荐领域被验证效果较好的推荐算法之一,在电商、广告、直播等推荐领域有广泛应用。 2. FM算法优势   特征组合:通过对两两特征组合,引入交叉项特征。   解决维数灾难:通过引入隐向量,实现对特征的参数估计。 3. FM表达式                       来源: https://www.cnblogs.com/LuckPsyduck/p/11654472.html