【机器学习篇】--SVD从初始到应用
SVD一般应用场景--推荐系统,图像压缩。
1、直观感受。
SVD其实就是将矩阵分界,直观感受如图。就是将A矩阵分界成U,S,V三个矩阵相乘。一般推荐系统中用的多。S是对角阵,里面的特征值是从大到小排列的。
2、前述知识。
一个矩阵乘以一个向量结果还是一个向量,并且等于原始向量的倍,相当于对原始向量进行一个某个方向上的拉伸。
3、矩阵压缩
图1
图2
对图1,图2来说,假设m表示是样本个数,n表示特征个数,则抽取S特征中比较重要的特征值,(因为特征值是从大到小排列的,所以假如抽取前几个特征值作为保留的特征值),则S维度减少,变成r*r,则原始m*n矩阵分解成U ---m*r(比较瘦),S--r*r(方阵),V--r*n(比较长)三个矩阵相乘。
4、原理剖析
抓住主要变换方向,所以保留特征值比较大的方向。
5、实例讲解一
SVD可解释性比较差,需要去猜。
6、实例讲解二(推荐系统)
U :6*2(6代表是Item个数)
V:4*2(4代表是用户个数)
S:取前两个比较重要的值
映射到二维图中:找出最相似的用户。
【机器学习篇】--SVD从初始到应用的更多相关文章
- 简单易学的机器学习算法—SVD奇异值分解
简单易学的机器学习算法-SVD奇异值分解 一.SVD奇异值分解的定义 假设M是一个的矩阵,如果存在一个分解: 其中的酉矩阵,的半正定对角矩阵,的共轭转置矩阵,且为的酉矩阵.这样的分解称为M的奇 ...
- 机器学习之SVD分解
一.SVD奇异值分解的定义 假设是一个的矩阵,如果存在一个分解: 其中为的酉矩阵,为的半正定对角矩阵,为的共轭转置矩阵,且为的酉矩阵.这样的分解称为的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩 ...
- Python代码阅读(第12篇):初始化二维数组
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现了二维数组的初始化功能,根据给定的宽高初始化二维数组. 本篇阅读的代码片段来自于30-seconds-o ...
- 【机器学习】--Adaboost从初始到应用
一.前述 AdaBoost算法和GBDT(Gradient Boost Decision Tree,梯度提升决策树)算法是基于Boosting思想的机器学习算法.在Boosting思想中是通过对样本进 ...
- 【TensorFlow篇】--DNN初始和应用
一.前述 ANN人工神经网络有两个或两个以上隐藏层,称为DNN 只有一个隐藏层是多层感知机 没有隐藏层是感知机 二.反向传播应用举例 举例: 正向传播,反向传播是一次迭代, 正向传播:在开始的每一层上 ...
- 【Spark篇】---SparkStream初始与应用
一.前述 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, Zer ...
- 【Spark篇】---Spark初始
一.前述 Spark是基于内存的计算框架,性能要优于Mapreduce,可以实现hadoop生态圈中的多个组件,是一个非常优秀的大数据框架,是Apache的顶级项目.One stack rule ...
- 机器学习——利用SVD简化数据
奇异值分解(Singular Value Decompositon,SVD),可以实现用小得多的数据集来表示原始数据集. 优点:简化数据,取出噪声,提高算法的结果 缺点:数据的转换可能难以理解 适用数 ...
- 机器学习14—SVD学习笔记
test14.py #-*- coding:utf-8 import sys sys.path.append("svdRec.py") import svdRec from num ...
随机推荐
- HTML5 CSS3 诱人的实例 :canvas 模拟实现电子彩票刮刮乐
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/34089553 今天给大家带来一个刮刮乐的小例子~基于HTML5 canvas的, ...
- Latex 公式换行问题,(换行,等号对齐)
1. 换行后等式对齐 \begin{equation} \begin{aligned} R(S_2)&= p_2\cdot S_2=\sum_{i\in \mathcal{I}^+(p_2)} ...
- Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38140505 自从Gallery被谷歌废弃以后,Google推荐使用ViewPa ...
- 用Python写WebService接口并且调用
一.用ladon框架封装Python为Webservice接口 另用soaplib实现请看: http://www.jianshu.com/p/ad3c27d2a946 功能实现的同时,希望将接 ...
- IZT复杂电磁环境记录回放和模拟系统
结合实验室复杂电磁环境特性与模拟研究需求,实现对复杂多变的电磁环境录制.分析.重构和模拟,记录回放系统应具备如下几项能力: 1.电磁环境信号记录能力:能够实现对9KHz-18GHz频带范围内射频信号的 ...
- Swift 结构体的使用
Swift 结构体是构建代码所用的一种通用且灵活的构造体. 我们可以为结构体定义属性(常量.变量)和添加方法,从而扩展结构体的功能. 与 C 和 Objective C 不同的是: 结构体不需要包含实 ...
- BZOJ_3573_[Hnoi2014]米特运输_树形DP+hash
BZOJ_3573_[Hnoi2014]米特运输_树形DP+hash 题意: 给你一棵树每个点有一个权值,要求修改最少的权值,使得每个节点的权值等于其儿子的权值和且儿子的权值都相等. 分析: 首先我们 ...
- 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...
- PPT分享第01季-226套多种风格模板
包含商务欧美扁平风.唯美文艺IOS风.互联网计划书风.扁平风手绘风卡通风 .中国风等多种风格 下面是部分模板截图: 下面是下载地址
- C语言sprintf和sscanf函数用法
以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用.今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf 1. sprintf ...