程序员的数学基础课
黄申
LinkedIn资深数据科学家
立即订阅
23478 人已学习
课程目录
已完结 57 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 作为程序员,为什么你应该学好数学?
免费
导读 (1讲)
导读:程序员应该怎么学数学?
基础思想篇 (18讲)
01 | 二进制:不了解计算机的源头,你学什么编程
02 | 余数:原来取余操作本身就是个哈希函数
03 | 迭代法:不用编程语言的自带函数,你会如何计算平方根?
04 | 数学归纳法:如何用数学归纳提升代码的运行效率?
05 | 递归(上):泛化数学归纳,如何将复杂问题简单化?
06 | 递归(下):分而治之,从归并排序到MapReduce
07 | 排列:如何让计算机学会“田忌赛马”?
08 | 组合:如何让计算机安排世界杯的赛程?
09 | 动态规划(上):如何实现基于编辑距离的查询推荐?
10 | 动态规划(下):如何求得状态转移方程并进行编程实现?
11 | 树的深度优先搜索(上):如何才能高效率地查字典?
12 | 树的深度优先搜索(下):如何才能高效率地查字典?
13 | 树的广度优先搜索(上):人际关系的六度理论是真的吗?
14 | 树的广度优先搜索(下):为什么双向广度优先搜索的效率更高?
15 | 从树到图:如何让计算机学会看地图?
16 | 时间和空间复杂度(上):优化性能是否只是“纸上谈兵”?
17 | 时间和空间复杂度(下):如何使用六个法则进行复杂度分析?
18 | 总结课:数据结构、编程语句和基础算法体现了哪些数学思想?
概率统计篇 (14讲)
19 | 概率和统计:编程为什么需要概率和统计?
20 | 概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值
21 | 概率基础(下):联合概率、条件概率和贝叶斯法则,这些概率公式究竟能做什么?
22 | 朴素贝叶斯:如何让计算机学会自动分类?
23 | 文本分类:如何区分特定类型的新闻?
24 | 语言模型:如何使用链式法则和马尔科夫假设简化概率模型?
25 | 马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑?
26 | 信息熵:如何通过几个问题,测出你对应的武侠人物?
27 | 决策树:信息增益、增益比率和基尼指数的运用
28 | 熵、信息增益和卡方:如何寻找关键特征?
29 | 归一化和标准化:各种特征如何综合才是最合理的?
30 | 统计意义(上):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
31 | 统计意义(下):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
32 | 概率统计篇答疑和总结:为什么会有欠拟合和过拟合?
线性代数篇 (13讲)
33 | 线性代数:线性代数到底都讲了些什么?
34 | 向量空间模型:如何让计算机理解现实事物之间的关系?
35 | 文本检索:如何让计算机处理自然语言?
36 | 文本聚类:如何过滤冗余的新闻?
37 | 矩阵(上):如何使用矩阵操作进行PageRank计算?
38 | 矩阵(下):如何使用矩阵操作进行协同过滤推荐?
39 | 线性回归(上):如何使用高斯消元求解线性方程组?
40 | 线性回归(中):如何使用最小二乘法进行直线拟合?
41 | 线性回归(下):如何使用最小二乘法进行效果验证?
42 | PCA主成分分析(上):如何利用协方差矩阵来降维?
43 | PCA主成分分析(下):为什么要计算协方差矩阵的特征值和特征向量?
44 | 奇异值分解:如何挖掘潜在的语义关系?
45 | 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?
综合应用篇 (6讲)
46 | 缓存系统:如何通过哈希表和队列实现高效访问?
47 | 搜索引擎(上):如何通过倒排索引和向量空间模型,打造一个简单的搜索引擎?
48 | 搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关?
49 | 推荐系统(上):如何实现基于相似度的协同过滤?
50 | 推荐系统(下):如何通过SVD分析用户和物品的矩阵?
51 | 综合应用篇答疑和总结:如何进行个性化用户画像的设计?
加餐 (3讲)
数学专栏课外加餐(一) | 我们为什么需要反码和补码?
数学专栏课外加餐(二) | 位操作的三个应用实例
数学专栏课外加餐(三):程序员需要读哪些数学书?
结束语 (1讲)
结束语 | 从数学到编程,本身就是一个很长的链条
程序员的数学基础课
登录|注册

45 | 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?

黄申 2019-03-29
你好,我是黄申。今天是线性代数的答疑和总结。
在这个模块中,我们讲了不少向量、矩阵、线性方程相关的内容。看到大家在留言区的问题,今天我重点说说矩阵乘法的几何意义,以及为什么 SVD 中 的特征向量组成了 矩阵,而 的特征向量组成了 矩阵。最后,我会对整个线性代数的模块做一个总结。

矩阵乘法的几何意义

首先,我们来说说矩阵乘法所代表的几何意义。
在阐述 PCA 主成分分析的时候,我们聊过为什么这个方法要研究协方差矩阵的特征值和特征向量。其中,我提到对某个向量左乘一个矩阵,实际上是对这个向量进行了一次变换。某个矩阵的特征向量表示了这个矩阵在空间中的变换方向,这些方向都是正交或者趋于正交的,而特征值表示每个方向上伸缩的比例。今天,我会继续深入这个话题,结合实例,给出更详细地解释。
多维的向量空间很难理解,所以我们还是从最简答的二维空间开始。首先,我们需要明白什么是二维空间中的正交向量。正交向量的定义非常简单,只要两个向量的点乘结果为 0,那么它们就是正交的。在酉矩阵之中,矩阵和矩阵的转置相乘为单位矩阵,只有向量自己点乘自己值为 1,而不同向量之间点乘值为 0,所以不同的向量之间是正交的。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《程序员的数学基础课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(8)

  • 胡鹏
    没法实践,听不懂,却在坚持,这样有益处嘛?

    作者回复: 你说的没法实践是指实际项目中没有运用的机会吗?可以一步步来,每次弄懂一点,也许没法直接用到实践中,但是对解决问题的思路也许是有帮助的,加油💪!

    2019-03-30
    3
  • 道可
    打好基础:http://open.163.com/special/opencourse/daishu.html
    2019-08-08
    1
    2
  • 陈小渣👻
    太开心啦👏,整个线代模块下来,学到了很多大学里面没联系起来的知识~黄老师的表述好清晰~

    作者回复: 很高兴这个专栏对你有价值!

    2019-08-31
    1
  • 我是小白007
    工作中暂时用不到。但是拓展了思路,以前对线代的阴影也少了许多。谢谢黄老师

    作者回复: 很高兴对你有用

    2019-10-31
  • Paul Shan
    最大的收获就是矩阵乘法的几何解释,这次学习线性代数终于把矩阵的特征值和特征向量,矢量的旋转和伸缩窜起来了。总结起来就是:
    列向量左乘一个方阵,相当于把这个方阵分解成特征向量和特征值,列向量在特征向量上的每一个分量都作相应特征值的伸缩,伸缩后的分量合成一个新的列向量就是左乘矩阵的结果。
    矩阵本身就可以分解成列向量的集合,左乘方阵就相当于对每个列向量作相应的几何变换。
    但是这只限于方阵,请问黄老师对于一般的矩阵乘法,也有几何解释吗?

    作者回复: 一般的矩阵乘法也是类似的几何解释,这里只是用方阵作为例子

    2019-10-11
  • 小伟
    之前学过线性代数,但是没有跟实际的应用场景结合一起,多谢黄老师的课程;
    知道了线性代数可以求文档相关性和去重,了解了LSM推到过程,了解了PCA和奇异值分解的过程。
    但是这些在我的工作中都没有应用到,所以,后面会更多的去应用场景,用好这些工具。

    作者回复: 很高兴对你有价值

    2019-08-25
  • qinggeouye
    1、矩阵 X 左乘另一个向量 a,向量 a 分别沿着矩阵 X 的特征向量进行伸缩,伸缩大小为特征向量对应的特征值;

    2、不太理解,Σ 为什么会是对角矩阵?矩阵 X 是 m x n 维的,U 是 m x m 维左奇异矩阵,V 是 n x n 维的右奇异矩阵,按道理 Σ 是 m x n 维奇异矩阵(对角线上是奇异值,其它元素为0) ;当 m = n 时,Σ 才是对角矩阵吧?这样的话才是 $Σ'Σ = Σ^2$ 。又或者是对 奇异值矩阵 Σ 中的奇异值做了某种取舍(降维),U 未必是 m x m 维,V 也未必是 n x n 维?

    作者回复: 对角矩阵的定义是主对角线之外的元素皆为0的矩阵,所以不一定需要m=n,例如,下面这种也是对角矩阵
    [[1,0,0],[0,1,0]]

    2019-04-03
  • 逐风随想
    @胡鹏:一样,人们都说笨鸟先飞。刚开始的一腔热血。慢慢的到后面发现越来越艰难了。也越来越痛苦。这个已经超过了能力范围。有的时候智力真的是跨越不了的坎。

    作者回复: 加油,每次集中在一个点,逐步细化和理解,会有突破的

    2019-03-31
收起评论
8
返回
顶部