SDV 要解决的问题 | 学习笔记

简介: 快速学习 SDV 要解决的问题

开发者学堂课程【人工智能必备基础:线性代数: SDV 要解决的问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/543/detail/7386


SDV 要解决的问题

一、为什么要对矩阵进行分解

大家想到原始的矩阵表示的是数据,最完整的信息分解完之后信息就不完整,但为什么还要对其分解。可以这么解释,有一批数据,但是这批数据量是比较大的,比如现在拿到了一个电商数据,当中有一些用户购买一些商品,假设有 M 号,假设有 100 万个用户分析一下他的一些购买行为,购买的规则等,但每个用户可能买多个商品,总共的商品可能很多,假设有 100 万个商品,现在构造出一个矩阵,一个 100 万乘以 10 万大小这的一个东西盛起来。假设某个客户一个商品买了两件儿,一个商品买了六件儿,另一个商品买了七件儿,可能买了三种商品,放到矩阵当中其他位置都是零,将零向里填充,得到非常稀疏的一个矩阵,只有少量个别的位置,才是有实际的数值。这个矩阵由于太大,所以用起来可能不太方便,那怎样把矩阵给化简一些,比如说构造这个矩阵,这个 100 万是不变的,现在将 100 万里变成 10 万,就好比做上一个假设,原始矩阵太大了,但是可以分解成第一个小矩阵,小矩阵当中,A 矩阵可能表示用户的一些信息,用户的信息当中不用 10万,用 10 个单独表示用户的一些信息也是可以的。现在想办法先勾出一个小矩阵数量 100 万保持不变,现在将一个 10 乘上一个 10 万,构造第二个矩阵 10 乘上一个 10 万,这个矩阵,可能是比较长的一个矩阵。所以说矩阵可以进行分解,分解完之后得到一个局部的矩阵,矩阵当中分别有他们各自存在的信息量并把它们组合在一起,并且还是可以进行一个还原。并且找出其中最有价值的信息,这样我们在用的时候,在计算的时候第一点省事。第二点,这些东,都是比较比较重要的东西,这个就是 SVD 矩阵分解基本的一个出发点,要做什么事。所以说,大家再去学一个算法的时候,建议大家像这样,先得搞清楚这个算法目的是什么,为什么让他去做,让他去做完之后,我得到一个结果是长什么样子的,这个是给大家最基本的要求,这些概念,大家从头到尾把这些数学符号,就是研究通透全部弄一遍。建议大家可以通俗去理解一下,因为很多问题的时候,我们只需要知道怎么去做就可以了我至于具体这个东西怎么去执行,我们是靠计算机,靠这些工具包,靠这些方法来帮我们实现的,并不一定要我们需要自己亲力亲为来完成这个事,但是有一点前提,得尽可能多的,尽可能广的去了解这方面的知识,因为要查论文,查资料的时候,可能这块儿提到一笔,说了一句,你不知道这个东西是干什么的,看起来很困惑的,当你把这个东西从一个通俗的角度,或者说从一个理解角度,知道他是干什么的,带你去读论文,在你去找资料,在你去想它的解决方案时会变得相对简单。

相关文章
|
SQL 开发框架 JSON
honeycomb使用|学习笔记
快速学习honeycomb使用
709 0
honeycomb使用|学习笔记
|
存储 消息中间件 弹性计算
尘央大佬带你学| 学习笔记
快速学习尘央大佬带你学。
尘央大佬带你学| 学习笔记
|
数据采集 SQL 消息中间件
第三阶段总结|学习笔记
快速学习第三阶段总结
136 0
第三阶段总结|学习笔记
|
开发工具 Android开发 iOS开发
快速开始|学习笔记
快速学习快速开始
115 0
快速开始|学习笔记
|
Scala 开发者
ListBuffer 的使用 | 学习笔记
快速学习 ListBuffer 的使用
ListBuffer 的使用 | 学习笔记
|
SQL 运维 监控
小打卡|学习笔记
快速学习小打卡
小打卡|学习笔记
|
C++ 开发者 Python
|
缓存 Dubbo 应用服务中间件
本地存根|学习笔记
快速学习本地存根
本地存根|学习笔记
|
Java 数据安全/隐私保护 开发者
属性驱动 | 学习笔记
快速学习属性驱动,介绍了属性驱动系统机制, 以及在实际应用过程中如何使用。