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

线性代数只推荐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. Docker入门详解(转载)

    来源 http://dockone.io http://dockone.io/article/6051 Docker是世界领先的软件容器平台,所以想要搞懂Docker的概念我们必须先从容器开始说起. ...

  2. pytorch加载预训练模型参数的方式

    1.直接使用默认程序里的下载方式,往往比较慢: 2.通过修改源代码,使得模型加载已经下载好的参数,修改地方如下: 通过查找自己代码里所调用网络的类,使用pycharm自带的函数查找功能(ctrl+鼠标 ...

  3. java中进程与线程的区别

    进程是一个正在运行的应用程序.一个进程包含一个或多个线程.它可以是一段完整的代码或部分程序的动态执行.系统资源分配与调度的基本单位.而线程是CPU调度与运行的基本单位,它是一组指令的集合或是程序的特殊 ...

  4. http协议状态码及其意义

    什么是状态码? 状态码的作用是:服务器告诉客户端,发生了什么事. 在http协议中状态码出现在http response 的第一行.它会返回一个三位数的状态码和状态信息.状态码为了便于程序进行处理,而 ...

  5. php通过pecl方式安装扩展

    安装pecl cd /usr/local/php/bin/ wget http://pear.php.net/go-pear.phar -O go-pear.php php go-pear.php # ...

  6. java 自动拆箱

    Integer a0 = ; Integer a1 = ; Integer b0 = ; Integer b1 = ; ; System.out.println(a0 == a1); >> ...

  7. pickel加速caffe读图

    64*64*3小图(12KB),batchSize=128,训练样本100万, 全部load进来内存受不了,load一次需要大半天 训练时读入一个batch,ali云服务器上每个batch读入时间1. ...

  8. linux软AP--hostapd+dhcpd

    linux软AP--hostapd+dhcpd 2018年05月08日 ⁄ 综合 ⁄ 共 4908字 ⁄ 字号 小 中 大 ⁄ 评论关闭 随着手机.笔记本等无线设备的增多,公司里的家用三个无线路由器已 ...

  9. P2598 [ZJOI2009]狼和羊的故事(网络流)

    P2598 [ZJOI2009]狼和羊的故事 源点和所有狼连 $inf$ 的边 所有羊和汇点连 $inf$ 的边 所有点向四周连 $1$ 的边 这样所有狼和羊之间的边都被割掉了 统计最小割就好辣 #i ...

  10. NAT穿透的详解及分析

    一.什么是NAT?为什么要使用NAT?NAT是将私有地址转换为合法IP地址的技术,通俗的讲就是将内网与内网通信时怎么将内网私有IP地址转换为可在网络中传播的合法IP地址.NAT的出现完美地解决了lP地 ...