搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍。

线性代数只推荐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 课程的更多相关文章

  1. 【线性代数】Linear Algebra Big Picture

    Abstract: 通过学习MIT 18.06课程,总结出的线性代数的知识点相互依赖关系,后续博客将会按照相应的依赖关系进行介绍.(2017-08-18 16:28:36) Keywords: Lin ...

  2. 斯坦福第三课:线性代数回顾(Linear Algebra Review)

    3.1  矩阵和向量 3.2  加法和标量乘法 3.3  矩阵向量乘法 3.4  矩阵乘法 3.5  矩阵乘法的性质 3.6  逆.转置 3.1  矩阵和向量 如图:这个是 4×2 矩阵,即 4 行  ...

  3. Ng第三课:线性代数回顾(Linear Algebra Review)

    3.1  矩阵和向量 3.2  加法和标量乘法 3.3  矩阵向量乘法 3.4  矩阵乘法 3.5  矩阵乘法的性质 3.6  逆.转置 3.1  矩阵和向量 如图:这个是 4×2 矩阵,即 4 行  ...

  4. 机器学习第3课:线性代数回顾(Linear Algebra Review)

    3.1  矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 2 列,如 m 为行,n 为列,那么 m×n 即 4×2 矩阵的维数即行数×列数 矩阵元素(矩阵项): Aij 指第 i 行,第 j 列的 ...

  5. PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)

    前言 MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶.也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作. 虽然PYTHON和众 ...

  6. 个案排秩 Rank (linear algebra) 秩 (线性代数)

    非叫“秩”不可,有秩才有解_王治祥_新浪博客http://blog.sina.com.cn/s/blog_8e7bc4f801012c23.html 我在一个大学当督导的时候,一次我听一位老师给学生讲 ...

  7. 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍

    调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作.移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到.这 ...

  8. 读Linear Algebra -- Gilbert Strang

    转眼间我的学士学位修读生涯已经快要到期了,重读线性代数,一是为了重新理解Algebra的的重要概念以祭奠大一刷过的计算题,二是为了将来的学术工作先打下一点点(薄弱的)基础.数学毫无疑问是指导着的科研方 ...

  9. Linear Algebra lecture1 note

    Professor: Gilbert Strang Text: Introduction to Linear Algebra http://web.mit.edu/18.06   Lecture 1 ...

随机推荐

  1. c# ASP.NET Core2.2利用中间件支持跨域请求

    1.public void Configure(IApplicationBuilder app, IHostingEnvironment env)方法里面 不要加上:app.UseCors(); 2. ...

  2. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  3. Jenkins - ERROR: Exception when publishing, exception message [Failed to connect session for config [IP(projectName)]. Message [Auth fail]]

    今天在处理Jenkins的时候出现了一些异常,看着控制台,编译都是通过的,只是没有部署上来,查看了控制台日志,如下: 刚开始以为磁盘满了(参考:https://www.cnblogs.com/yuch ...

  4. Orange Greenworks

    对于steam游戏开发,成就功能是必不可少的. 而Rpgmaker系列无自带的插件或指令实现,且多数游戏作者并无熟练的脚本编写能力,所以~~ 我们要使用外部插件----Orange  Work. 这里 ...

  5. ABP 2.0.2 升到 2.2.1

    1.选择解决方案 右键 管理 nuget 更新 输入abp 这里只升级 abp的包 点升级 2.update-database  可能需要你添加个迁移(这一步可能不需要) 3.Core 项目下面的Au ...

  6. 论文速读(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-- ...

  7. golang 基本数据结构使用

    1 goalng struct 1.1 var s1 student 1.2 s2 := student {"zhou", 33} 1.3 s3 := student {Name: ...

  8. 洛谷 K短路(魔法猪学院)

    A*+迪杰特斯拉... 第十一个点卡爆 不管了 #include<iostream> #include<algorithm> #include<cstring> # ...

  9. 2018.2.21 Python 初学习

    折腾了一天,一直在用CMD学习Python写Hello World.偶然间发现可以用Pycharm.也算是给后面想学习的人提个醒,方便省事许多. format()使用方法. age = 20name ...

  10. JavaScript自定义事件和触发(createEvent, dispatchEvent)

    $(dom).addEvent("ft", function() { alert("走起"); }); // 创建 var evt = document.cre ...