线性代数导论 | Linear Algebra 课程
搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍。
线性代数只推荐Prof. Gilbert Strang的MIT课程,有视频,有教材,有习题,有考试,一套学下来基本就入门了。
不多,一共10次课。
链接:https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/calendar/
SES # | TOPICS | KEY DATES |
---|---|---|
1 | The geometry of linear equations | |
2 | Elimination with matrices | |
3 | Matrix operations and inverses | |
4 | LU and LDU factorization | |
5 | Transposes and permutations | Problem set 1 due |
6 | Vector spaces and subspaces | |
7 | The nullspace: Solving Ax = 0 | |
8 | Rectangular PA = LU and Ax = b | Problem set 2 due |
9 | Row reduced echelon form | |
10 | Basis and dimension | |
11 | The four fundamental subspaces | Problem set 3 due |
12 | Exam 1: Chapters 1 to 3.4 | |
13 | Graphs and networks | |
14 | Orthogonality | Problem set 4 due |
15 | Projections and subspaces | |
16 | Least squares approximations | |
17 | Gram-Schmidt and A = QR | Problem set 5 due |
18 | Properties of determinants | |
19 | Formulas for determinants | |
20 | Applications of determinants | Problem set 6 due |
21 | Eigenvalues and eigenvectors | |
22 | Diagonalization | |
23 | Markov matrices | Problem set 7 due |
24 | Review for exam 2 | |
25 | Exam 2: Chapters 1-5, 6.1-6.2, 8.2 | |
26 | Differential equations | |
27 | Symmetric matrices | |
28 | Positive definite matrices | |
29 | Matrices in engineering | Problem set 8 due |
30 | Similar matrices | |
31 | Singular value decomposition | Problem set 9 due |
32 | Fourier series, FFT, complex matrices | |
33 | Linear transformations | |
34 | Choice of basis | Problem set 10 due |
35 | Linear programming | |
36 | Course review | |
37 | Exam 3: Chapters 1-8 (8.1, 2, 3, 5) | |
38 | Numerical linear algebra | |
39 | Computational science | |
40 | Final exam |
待我学完后,会来总结线性代数在统计学中的地位,在项目实践中的用途。
打卡
2019年03月11日
看完前5个Lec的视频,复习教材的相应章节,做完习题Problem set 1。
核心总结(根据教材章节分):
Chapter 1 Introduction to Vectors
1.1 Vectors and Linear Combinations
1. 线性代数的核心就是解方程式组,限制空间求解;
2. 解法很多,可以用几何法,高中的傻瓜式求解,线性代数则将方程式组转化成了矩阵的形式,发明了自己独特的一套求解办法,降低了求解的时间复杂度;
3. 向量一般指列向量,PCA里也是,Linear Combinations线性组合,可以看做是向量或矩阵加减的泛化,线性组合的前提就是维度相同。列向量和我们处理的基因表达矩阵完全类似,列向量就是一个样本/细胞,每一行就是一个维度,所以二维的向量我们是可以在平面内可视化的.
4. 线性组合的优点,两个二维(线性无关)的可以组合得到平面内的每一个向量,三个三维的可以组合得到空间内的每一个向量。同时直观上如果另一个向量不在线性组合的空间里,那它肯定不是线性组合的解,无法通过线性组合得到另一个向量。
5. 不要把线性组合、方程组矩阵化和矩阵乘法搞混,线性组合的对象是同纬度的许多个向量或矩阵;方程组矩阵化,任何线性方程组都可以写成矩阵形式,左边是系数矩阵和变量向量,右边是截距;矩阵乘法对左右两个矩阵的维度有要求,后面会解释为什么。
6. 超纲一下:矩阵的乘法的本质就是线性变换,可以想象成把一堆数据线性投射到另一个空间。这也解释了为什么左边矩阵的列数必须等于右边矩阵的行数,按照PCA来理解,右边的就是特征向量的矩阵,每一列都是一个新的维度,每一行都是线性的权重。对左边矩阵而言,每一列是一个原维度,每一行就是一个样本点。这样可以明白矩阵乘法对右边矩阵维度的要求了吗?但是数学的证明还是没有。
head(mtcars)
res <- prcomp(mtcars, scale. = F, center = F, retx = T)
res$rotation[1:5,1:5]
recover <- as.matrix(mtcars) %*% as.matrix(res$rotation)
recover[1:5,1:5]
7. 表示形式,有一套严谨的语言系统有助于我们的思考,所以记住矩阵的表示是[ ], 向量的表示是( )。向量这么表示是为了节省空间,我们书写是从左到右的,(a, b, c)是一个躺下来的列向量。
8. 记住线性代数的矩阵不是无偏的,行和列的意义完全不同,不同的矩阵行和列的意义也不同,但它们肯定是以下两个中的一个:样本维度和特征维度。举例吧:PCA原数据矩阵,行是样本维度,列是特征维度;PCA得到的特征向量的矩阵,行是原数据矩阵的特征维度,列是新的PC维度,PC的个数我们可以选择。列向量的每一行就是一个特征维度。(仔细研究上面的R代码)
1.2 Lengths and Dot Products
1. 点积,dot product, 熟悉而陌生,它的操作对象是两个同维度的列向量,计算方法是每个维度分别求积然后求和,几何意义就是一个的投影长度乘以另一个的长度,满足交换律。a·b = |a|·|b|·cosθ = b·a = |b|·|a|·cosθ。点积的应用:根据符号判断两向量的夹角,是否正交。还有一个叫做叉积,就是求两个向量平面的垂直向量。
2. 交换、结合和分配律:(判断运算的规律)交换律,两个变量,判断运算是否能够交换顺序;结合律,三个变量,同运算能否交换先后顺序;分配律,三个变量,多个运算能够交换先后顺序。
3. 向量长度的表示,||v|| = √v·v,单位向量就是长度为1的所有向量的集合。任何向量都可以转换为单位向量,把每一个维度除以该向量的长度就行。
4. 超纲一下:什么是线性相关和线性无关?研究对象是两个以上的向量组,如果存在不全为0的系数,其中任一向量可有其他向量线性表示,则为线性相关。对于二维而言,线性相关表示其方向相同或相反,否则为线性无关,线性无关的向量组有一个极其重要的特性,那就是n个n维的线性无关的向量组可以通过线性组合表征整个R^n。
5. 再超纲一下:什么是秩?矩阵的秩,可以确定方程组有无唯一解,对向量组而言,秩就是极大线性无关向量组/方程组。
1.3 Matrices
1. 矩阵的维度,3 X 4, 3是行数,4是列数,需要牢记。
2. 矩阵与矩阵或向量的乘积的改写形式,可以改成线性组合的形式,也可以利用矩阵分块的特性来拆分,真的千变万化,请熟练掌握。
3. 超纲:矩阵的对角化在PCA中非常重要。什么是正交矩阵? 正交矩阵(Orthogonal Matrix)是指其转置等于其逆的矩阵。列向量之间彼此正交,就是內积为0,俗话说就是垂直。正交老是容易和相关搞混,其实很好区分,正交是垂直,相关就是平行。
4. 超纲:相似矩阵是什么?
5. 协方差矩阵的矩阵求法?非常简洁的形式。
6. 矩阵乘法的本质,线性变化,投射到新的空间。阮一峰简单证明了矩阵乘法的运算规则。还有篇博文梳理了矩阵乘法的本质。左边是原数据,列是特征维度,右边的矩阵是施加运动的矩阵,每一列都是一个带变化权重的新维度,所以它的列数可以无限多,只要你喜欢。标量与矩阵的乘法符合交换律,但矩阵与矩阵的乘法则不符合(向量是特殊的矩阵,同理)。
7. 矩阵分块后,大部分运算都是可以通用的,比如矩阵乘法。矩阵分块能将很多运算立马简化。
8. 矩阵有个非常好的性质,按行并行,也就是说行是可以随便拆分的,尤其是在多元方程组和矩阵形式之间转换时。想拆,必须左右两边都是矩阵,因为矩阵相等,每个对应的位置都必须相等。
9. 什么矩阵不可逆Inverse Matrix?行列式不为0
总结:这一章介绍了一些基本概念,还没有完全进入正文。
Chapter 2 Solving Linear Equations
下一步计划:图论,Graph Theory
待续~
有启发的链接:
线性代数导论 | Linear Algebra 课程的更多相关文章
- 【线性代数】Linear Algebra Big Picture
Abstract: 通过学习MIT 18.06课程,总结出的线性代数的知识点相互依赖关系,后续博客将会按照相应的依赖关系进行介绍.(2017-08-18 16:28:36) Keywords: Lin ...
- 斯坦福第三课:线性代数回顾(Linear Algebra Review)
3.1 矩阵和向量 3.2 加法和标量乘法 3.3 矩阵向量乘法 3.4 矩阵乘法 3.5 矩阵乘法的性质 3.6 逆.转置 3.1 矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 ...
- Ng第三课:线性代数回顾(Linear Algebra Review)
3.1 矩阵和向量 3.2 加法和标量乘法 3.3 矩阵向量乘法 3.4 矩阵乘法 3.5 矩阵乘法的性质 3.6 逆.转置 3.1 矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 ...
- 机器学习第3课:线性代数回顾(Linear Algebra Review)
3.1 矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 2 列,如 m 为行,n 为列,那么 m×n 即 4×2 矩阵的维数即行数×列数 矩阵元素(矩阵项): Aij 指第 i 行,第 j 列的 ...
- PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)
前言 MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶.也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作. 虽然PYTHON和众 ...
- 个案排秩 Rank (linear algebra) 秩 (线性代数)
非叫“秩”不可,有秩才有解_王治祥_新浪博客http://blog.sina.com.cn/s/blog_8e7bc4f801012c23.html 我在一个大学当督导的时候,一次我听一位老师给学生讲 ...
- 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍
调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作.移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到.这 ...
- 读Linear Algebra -- Gilbert Strang
转眼间我的学士学位修读生涯已经快要到期了,重读线性代数,一是为了重新理解Algebra的的重要概念以祭奠大一刷过的计算题,二是为了将来的学术工作先打下一点点(薄弱的)基础.数学毫无疑问是指导着的科研方 ...
- Linear Algebra lecture1 note
Professor: Gilbert Strang Text: Introduction to Linear Algebra http://web.mit.edu/18.06 Lecture 1 ...
随机推荐
- Shadow DOM及自定义标签
参考链接:点我 一.什么是Shadow DOM Shadow DOM,直接翻译的话就是 影子 DOM,可以理解为潜藏在 DOM 结构中并且我们无法直接控制操纵的 DOM 结构.类似于下面这种结构 Sh ...
- Linux下SVN创建新的项目
Linux下SVN创建新的项目 Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...
- Fiddler抓包【7】_次要功能和第三方插件
1.替换HTTP Request Host 应用场景:进行开发时,线上去测试跳转调试 替换命令:urlreplace news.baidu.com www.baidu.com: 清除命令:urlrep ...
- asp.net导入后台代码
public void Upload(string information){ int Bank = 0; for (int i = 0; i <Request.Files.Count; i++ ...
- cookie小结
cookie的用处:当不同的用户访问同一家网站时(采用相同的请求地址),服务器如何区分不同用户的请求操作呢?需要浏览器对发出的每个请求进行标识.属于同一个会话的请求,都带有相同的标识,不同的会话带有不 ...
- CSS其它特性
文本内容左右对齐及盒子自身左右对齐 说白了,浮动就是可以让我们的div在一行中显示,方便布局,并且各个div之间没有空隙,如果使用display:inline-block也能在一行显示几个div,但是 ...
- Windows中的原语与原子
目前对原语与原子的理解为: 原语: 由内核提供的核外调用的一段具有特定功能的方法或者函数称之为---原语 原语操作不允许发生中断. 原子: 在多进程多线程的操作系统中不允许其他进程或者 ...
- Linux常用命令大全(非常全!!!)(转)
最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大.我将我了解到的命令列举一 ...
- 单片机C语言基础编程源码六则
1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直 ...
- SQL Server嵌套事务
一.@@TRANCOUNT 在将事务前,我们先来了解一下@@TRANCOUNT ,@@trancount返回上传执行begin transaction语句的事务计数. 1.每执行一次begin tra ...