线性代数应该这样讲(二)

在《...(一)》中,小夕从映射的角度讲解了矩阵及矩阵运算,这也是机器学习中看待矩阵的非常重要的视角。

 

另一方面说,矩阵当然也是用于存储数据的数据结构,这也是最好理解的形式。另外还可以看做是一个线性方程组(课本上讲烂了的开头),甚至可以将其仅仅看做一般化的张量(tensor)中的一个普通切片(slice),或者说其中一层。所以矩阵代表什么含义,要在不同的场景中灵活对待,不要局限在一种视角哦。

继续从映射的视角来看。

小夕说,不同的矩阵就代表着不同的映射,就像上一篇文章讲的,就可以表示“将输入的空间的第一个维度的坐标轴缩短为原来的一半,将第二个维度的坐标轴拉伸为原来的两倍”。这就是这个矩阵的含义。

 

例如,输入一个二维空间里的多个样本点:

 

比如

 

此时的矩阵就是存储数据的视角啦。这里的矩阵就是每一行就是空间中的一个样本点,所以这个矩阵就代表二维空间里的3个样本点。

 

所以将A中这个空间的三个样本丢给W这个映射,就得到了三个样本在新的空间的镜像点(跟高一时学的集合的映射是一个概念):

 

 

看,是不是新得到的三个样本的第一维都被压缩成了原来的一半,而第二维被拉伸成了原来的两倍呢~

 

而神经网络中,每一层的输出经过权重矩阵,映射到下一层的输入的过程,就是上述这个过程哦(没有理解的再看看这篇文章《神经网络激活函数》)

好啦。从映射的视角接着走。那么既然矩阵是描述映射的,那么肯定会有更严谨,更直观的形式去描述一个矩阵背后所暗示的映射规则。这个更直观的形式是什么呢?

 

好,然后我们将映射更加夸张一下,我们来看映射。显然,按照小夕之前的讲解,这个映射就代表将第一维度压缩为原来的0.99倍(几乎没有变化!),将第二维度拉伸为原来的100倍(显然变化十分极其非常的大)。这个映射的作用对象很明显:

 

1、第一维度坐标轴。怎么描述这个作用对象呢?回顾一下中学数学,在二维空间中,第一维度坐标轴不就是(x,0)嘛~既然是描述坐标轴,我们不妨用一个单位为1的向量表示x轴,即(1,0).

 

2、第二维度坐标轴。同样的道理,在二维空间中,第二维度坐标轴就是y轴,表示为(0,1)

 

这个映射对每个作用对象的作用程度也很明显不一样:

 

1、对第一维度坐标轴的作用程度就很小,对它几乎没有改变(改变成了原来的0.99倍),所以我们直接用0.99来表示作用程度(显然,越接近1表示作用程度越小)。

 

2、同样,这个映射对第二维度的坐标轴作用程度非常大。所以用100来表示。

 

好啦~小夕用“作用对象”和“对某作用对象的作用程度”是不是就已经非常清晰的描述清楚了矩阵的映射规则呢~所以理论上说,这两者应该完全等价才对~

 

学过线代的你有没有灵光一现呢~

没!错!小夕这里讲的“作用对象”就是大学课本讲成一坨的“特征向量”(eigenvector)!小夕这里讲的“对某作用对象的作用程度”就是课本里的“特征值”(eigenvalue)!因此,一个矩阵,或者说一个线性映射,完全可以用它的全部特征向量及其对应的特征值去描述!(当然严谨的说是方阵,先接着开车,下一篇文章再解释细节)

而将矩阵分解为它的特征值与特征向量的过程被称为特征分解”(Eigendecomposition),又称"谱分解"(Spectral decomposition)。特征分解是众多矩阵分解中的一种,因此当然原矩阵A会被分解成几个目标矩阵啦~这里的目标矩阵当然就是两个,一个由特征向量组成的,还有一个是由特征值组成的。

 

你可以试一下,将上面的两个特征向量叠在一起(一列为一个特征向量):

 

然后每个特征向量对应的特征值依次放到一个对角矩阵的各位置上

 

然后由公式即可以恢复出原映射W。(注:是eVec的逆矩阵)

对于这个例子,一眼就能算出来肯定是对的~对于的证明,可以参考各种教材和博客,就不展开啦。(文章末尾有链接推荐)

有了对特征值和特征向量的这一层理解,我们当然很容易继续联想到:

 

当一个矩阵的特征值中包含0时,就表示要将一个“坐标轴”直接毁灭!(将一个坐标轴映射回原点。这个“坐标轴”就是这个0特征值所对应的特征向量(所描述的方向));

 

同理,负数特征值就表示将它所对应的特征向量所在的坐标轴反转。因此,-1就表示将该坐标轴反转,但是不拉伸也不压缩。(-1,0)表示反转且压缩,(-∞,-1)表示反转且拉伸。

 

这就是映射的视角下,矩阵的特征值与特征向量的含义。这也是升华对一些机器学习算法理解的必经之路。

 在数据存储的视角下,矩阵的特征值与特征向量的含义更容易理解了,毕竟图像就是最直观的数据存储的矩阵嘛~这方面的理解强烈推荐wiki,蒙娜丽莎的例子非常形象:

 

https://zh.wikipedia.org/wiki/%E7%89%B9%E5%BE%81%E5%80%BC%E5%92%8C%E7%89%B9%E5%BE%81%E5%90%91%E9%87%8F

 

当然需要翻墙。(都开始做机器学习了,翻墙这么简单的事情就不用小夕教了吧。。。

想进一步加深对特征值与特征向量的理解的同学,尤其是想从数学形式上去理解的同学,更要看一下上面的Wiki啦~

如何将矩阵分解出它的特征值与对应的特征向量呢?

API小王子/小公主可以在matlab中直接调用

[eVecs,eVal] = eig(A)

得到矩阵A的特征向量和特征值。python中的numpy和scipy库中应该也有相应的API。

如果有同学对特征值分解算法细节感兴趣,小夕推荐从QR算法入手~如果觉得不过瘾,可以继续尝试Hessenburg-QR算法,还不过瘾就再加上shift操作~不过一般来说,做机器学习的话没大有必要对这些算法花太多精力~

 

QR分解有个好玩的帖子,讲的很详细(虽然排版不忍直视):

http://blog.csdn.net/cinmyheart/article/details/44086369

另外,不知道大家对SVD的细节有没有兴趣呢?因为网上讲SVD的帖子很多啦,有很多讲的很好的,小夕也不知道有没有必要再讲一下了QAQ,丢个投票器吧。

 再丢个小狐狸

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023将至,Bengio等大佬年度展望!懂理性的AI模型要来了?

来源:新智元【导读】2022年对AI来说注定是不平凡的一年,这不吴恩达、Bengio等一众圈内大佬在接受DeepLearning.ai的采访中都展望了2023年AI的发展趋势,还分享了自己的科研小故事。还有1天,2022年就要过去了。此前我们报道了吴恩达…

【NLP】Attention Model(注意力模型)学习总结

【NLP】Attention Model(注意力模型)学习总结郭耀华发表于郭耀华‘s Blog订阅294在这篇文章中:1. 什么是Attention机制?2. 先了解编码-解码框架:Encoder-Decoder框架3. Attention Model4. Attention机制的本质思想5. S…

杂谈机器学习的几个应用场景

在上一篇文章末尾,小夕提到了“机器学习是实现自然语言处理的正确道路”。其实确实如此,纵观整个自然语言处理的发展史,也是纵观整个人工智能的发展史,从诞生到现在,机器学习不仅是在理论和工程上实现自然语言处理的目…

2022年度十大AI技术盘点:AIGC风暴来袭,自动驾驶后会无期?

来源:AI科技大本营翻译 & 整理:杨阳“科学不能告诉我们应该做什么,只能告诉我们能做什么。”——让-保罗萨特《存在与虚无》这一年,AI又有哪些前沿技术突破呢?通过汇总梳理2022年10大AI技术,AI科技大本…

从逻辑回归到受限玻尔兹曼机

在那很久很久以前,可爱的小夕写了一篇将逻辑回归小题大做的文章,然后在另一篇文章中阐述了逻辑回归的本质,并且推广出了softmax函数。从那之后,小夕又在一篇文章中阐述了逻辑回归与朴素贝叶斯的恩仇录,这两大祖先级人物…

Peacock:大规模主题模型及其在腾讯业务中的应用-2015

Peacock:大规模主题模型及其在腾讯业务中的应用 作者:赵学敏 王莉峰 王流斌 孙振龙 严浩 靳志辉 王益 摘要 如果用户最近搜索了“红酒木瓜汤”,那么应该展示什么样的广告呢?从字面上理解,可能应该返回酒水或者水果类广…

史上最简单的玻尔兹曼机模型讲解

在上一篇文章中,小夕讲述了逻辑回归为了抗衡贝叶斯网,也开始了自己的进化。然而令我们没有想到的是,逻辑回归最终竟然进化成了一个生成式模型——受限玻尔兹曼机(RBM),也就是变成了敌方(生成式模…

从头到尾彻底理解KMP(2014年8月22日版)

从头到尾彻底理解KMP 作者:July 时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。 1. 引言 本KMP原文最初写于2年多…

解开玻尔兹曼机的封印会发生什么?

在上一篇文章中,小夕讲述了逻辑回归为了抗衡贝叶斯网,也开始了自己的进化。然而令我们没有想到的是,逻辑回归最终竟然进化成了一个生成式模型——受限玻尔兹曼机(RBM),也就是变成了敌方(生成式模…

KMP算法的核心,是一个被称为部分匹配表(Partial Match Table)的数组以及next数组求解

KMP算法的核心,是一个被称为部分匹配表(Partial Match Table)的数组。我觉得理解KMP的最大障碍就是很多人在看了很多关于KMP的文章之后,仍然搞不懂PMT中的值代表了什么意思。这里我们抛开所有的枝枝蔓蔓,先来解释一下这个数据到底是什么。 对…

Softmax(假神经网络)与词向量的训练

今天终于要完成好久之前的一个约定了~在很久很久以前的《如果风停了,你会怎样》中,小夕提到了“深刻理解了sigmoid的同学一定可以轻松的理解用(假)深度学习训练词向量的原理”,今天就来测测各位同学对于sigmoid的理解程度啦~习惯性的交待一下…

二叉树的先序遍历、中序遍历、后序遍历、层次遍历-图文详解

概述 二叉树的遍历是一个很常见的问题。二叉树的遍历方式主要有:先序遍历、中序遍历、后序遍历、层次遍历。先序、中序、后序其实指的是父节点被访问的次序。若在遍历过程中,父节点先于它的子节点被访问,就是先序遍历;父节点被访问…

写给我的女神,一个用灵魂歌唱的小精灵

我对娱乐圈不感兴趣,也很少关注娱乐圈。对于专业的歌唱艺术更是不在行。但我认为,一首歌,不应因为技法的平庸而被认为是烂歌,不应因为曲风的通俗而被认为是俗歌,不应因为声音和唱法的非主流而被认为是“非主流”歌曲。…

完美世界2020编程题-救雅典娜 英雄AB PK

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明出处。 https://blog.csdn.net/u012319493/article/details/82154113 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f…

训练神经网络时如何确定batch size?

前言 当我们要训练一个已经写好的神经网络时&#xff0c;我们就要直面诸多的超参数了。这些超参数一旦选不好&#xff0c;那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前&#xff0c;是很有必要深刻的理解一下各个超参数的意义及其对model的…

腾讯2013实习生笔试题+答案1-5aadaa 6-10adbcc 11-15 acacc16-20 bbddc

一、 单项选择题1) 给定3个int类型的正整数x&#xff0c;y&#xff0c;z&#xff0c;对如下4组表达式判断正确的选项(A) Int a1xy-z; int b1x*y/z;Int a2x-zy; int b2x/z*y;int c1x<<y>>z; int d1x&y|z;int c2x>>z<<y; int d2x|z&y;A) a1一定等…

训练神经网络时如何确定batch的大小?

当我们要训练一个已经写好的神经网络时&#xff0c;我们就要直面诸多的超参数啦。这些超参数一旦选不好&#xff0c;那么很有可能让神经网络跑的还不如感知机。因此在面对神经网络这种容量很大的model前&#xff0c;是很有必要深刻的理解一下各个超参数的意义及其对model的影响…

【论文翻译】学习新闻事件预测的因果关系

一、摘要 本文在这项工作中解决的问题是产生一个可能由给定事件引起的可能的未来事件。 论文提出了一种使用机器学习和数据挖掘技术建模和预测未来新闻事件的新方法。论文的Pundit算法概括了因果关系对的例子&#xff0c;以推断因果关系预测因子。为了获得精确标记的因果关系示…

阿里内推算法岗位编程笔试题

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/u014744127/article/details/79431847 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_v…

从逻辑回归到最大熵模型

在《逻辑回归》与《sigmoid与softmax》中&#xff0c;小夕讲解了逻辑回归背后藏着的东西&#xff0c;这些东西虽然并不是工程中实际看起来的样子&#xff0c;但是却可以帮助我们很透彻的理解其他更复杂的模型&#xff0c;以免各个模型支离破碎。本文中&#xff0c;小夕将带领大…