线性代数导论 | 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 ...
随机推荐
- c# ASP.NET Core2.2利用中间件支持跨域请求
1.public void Configure(IApplicationBuilder app, IHostingEnvironment env)方法里面 不要加上:app.UseCors(); 2. ...
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...
- Jenkins - ERROR: Exception when publishing, exception message [Failed to connect session for config [IP(projectName)]. Message [Auth fail]]
今天在处理Jenkins的时候出现了一些异常,看着控制台,编译都是通过的,只是没有部署上来,查看了控制台日志,如下: 刚开始以为磁盘满了(参考:https://www.cnblogs.com/yuch ...
- Orange Greenworks
对于steam游戏开发,成就功能是必不可少的. 而Rpgmaker系列无自带的插件或指令实现,且多数游戏作者并无熟练的脚本编写能力,所以~~ 我们要使用外部插件----Orange Work. 这里 ...
- ABP 2.0.2 升到 2.2.1
1.选择解决方案 右键 管理 nuget 更新 输入abp 这里只升级 abp的包 点升级 2.update-database 可能需要你添加个迁移(这一步可能不需要) 3.Core 项目下面的Au ...
- 论文速读(Jiaming Liu——【2019】Detecting Text in the Wild with Deep Character Embedding Network )
Jiaming Liu--[2019]Detecting Text in the Wild with Deep Character Embedding Network 论文 Jiaming Liu-- ...
- golang 基本数据结构使用
1 goalng struct 1.1 var s1 student 1.2 s2 := student {"zhou", 33} 1.3 s3 := student {Name: ...
- 洛谷 K短路(魔法猪学院)
A*+迪杰特斯拉... 第十一个点卡爆 不管了 #include<iostream> #include<algorithm> #include<cstring> # ...
- 2018.2.21 Python 初学习
折腾了一天,一直在用CMD学习Python写Hello World.偶然间发现可以用Pycharm.也算是给后面想学习的人提个醒,方便省事许多. format()使用方法. age = 20name ...
- JavaScript自定义事件和触发(createEvent, dispatchEvent)
$(dom).addEvent("ft", function() { alert("走起"); }); // 创建 var evt = document.cre ...