Lecture3   Linear Algebra Review 线性代数回顾

3.1 矩阵和向量
3.2 加法和标量乘法
3.3 矩阵向量乘法
3.4 矩阵乘法
3.5 矩阵乘法的性质
3.6 逆、转置

3.1 矩阵和向量  

  参考视频: 3 - 1 - Matrices and Vectors (9 min).mkv

3.2 加法和标量乘法

  参考视频: 3 - 2 - Addition and Scalar Multiplication (7 min).mkv

3.3 矩阵向量乘法

  参考视频: 3 - 3 - Matrix Vector Multiplication (14 min).mkv

3.4 矩阵乘法

  参考视频: 3 - 4 - Matrix Matrix Multiplication (11 min).mkv

3.5 矩阵乘法的性质

  参考视频: 3 - 5 - Matrix Multiplication Properties (9 min).mkv

  矩阵的乘法有以下规律:

1、不符合交换律 commutative A × B ≠ B× A  【但是对于单位矩阵,有AI = IA = A】

   2、符合组合律 associative    A ×(B× C) =(A × B)× C

3.6 逆、转置

3.6.1 矩阵的逆 Inverse Matrix

  矩阵的逆 A-1  Inverse Matrix。如矩阵 A 是一个 m× m 矩阵(方阵), 如果有逆矩阵A-1 ,则:

  I 称为 单位矩阵 Identity Matrix

  没有逆矩阵的矩阵称为 奇异矩阵singular matrix 或者 退化矩阵 degenerate matrix。

  规则:

  1、只有方阵有逆矩阵。

  2、零矩阵没有逆矩阵 (还有其他一些矩阵没有逆矩阵,可以想成是一些特别接近零矩阵的矩阵)

3.6.2 使用 Octave 计算矩阵的逆

计算矩阵的逆通常使用MATLAB 或者 Octave,打开Octave的bash界面。

  

  以下是在Octave里计算逆矩阵的过程:

 Please contribute if you find this software useful.
For more information, visit https://www.octave.org/get-involved.html Read https://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'. octave:> A = [ ; ]          //
输入一个矩阵 A
A = octave:> pinv(A)               //
计算其逆矩阵 InverseOfA
ans = 0.400000 -0.100000
-0.050000 0.075000 octave:> inverseOfA = pinv(A)
inverseOfA = 0.400000 -0.100000
-0.050000 0.075000 octave:> A * pinv(A)          
ans = 1.0000e+00 5.5511e-17         //
由于计算精度的问题, 四舍五入导致次对角线元素不是0,而是10的-17方、10的-16方,可以近似于0
-2.2204e-16 1.0000e+00 octave:> A * inverseOfA          //
计算 A * InverseOfA
ans = 1.0000e+00 5.5511e-17
-2.2204e-16 1.0000e+00 octave:> inverseOfA * A          
// 计算 InverseOfA * A
ans = 1.00000 -0.00000
0.00000 1.00000 octave:>

3.6.3 矩阵的转置

  矩阵转置 Transpose Matrix ,符号为AT

  定义:设 A 为 m× n 阶矩阵(即 m 行 n 列),第 i 行 j 列的元素是 a(i,j),即:A = a(i,j)。定义 A 的转置为这样一个 n× m 阶矩阵 B,满足 B=a(j,i),即 b (i,j)=a (j,i)(B 的第 i 行第 j 列元素是 A 的第 j 行第 i 列元素),记 AT=B。 (有些书记为 A'=B)
直观来看,将 A 的所有元素绕着一条从第 1 行第 1 列元素出发的右下方 45 度的射线作镜面反转,即得到 A 的转置。

矩阵的转置基本性质:

(A ± B) T = AT ± BT
(A × B) T= BT × AT
(AT) T = A
(KA) T = KAT

  MATLAB 和 Octave 中矩阵转置:直接打一撇, B = A'。

 octave:> B = A'
B =

术语

up to the numerical precision 由于计算精度的问题

essentially 根本上

ten to the minus seventeen  10的-17次方

round off 四舍五入

optimal matrices 最优矩阵

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review的更多相关文章

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  2. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  3. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维

    Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类

    Lecture 13 聚类 Clustering 13.1 无监督学习简介  Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机

    Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计

    Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议

    Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...

  8. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念

    目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning  无 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别

    Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...

随机推荐

  1. input text 不显示输入的历史记录

    当之前的text框输入了数据后,下次输入有历史记录问题的解决方法 怎么禁止输入框记录输入记录,双击input出现输入过的记录, 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往 ...

  2. .NET学习路线之我见(转)

    这是我的第一篇博客,所以,我想写个大的,至少这个话题是比较大的. 在文章的开头,首先声明,这篇文章仅代表我个人的想法,并且只适合.NET的初学者,如果你已经有两年以上的开发经验,我劝你还是别看了,省得 ...

  3. Java发展前景与职业方向解析

    大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的.本文为你解答学J ...

  4. RPi 3.5寸 电阻屏

    /***************************************************************************** * RPi 3.5寸 电阻屏 * 说明: ...

  5. Python之functools库

    functools库用于高阶函数,指那些作用于函数或者返回其他函数的函数 functools提供方法如下: cmp_to_key 将一个比较函数转换关键字函数 partial 针对函数起作用,并且是部 ...

  6. 网络爬虫必备知识之requests库

    就库的范围,个人认为网络爬虫必备库知识包括urllib.requests.re.BeautifulSoup.concurrent.futures,接下来将结对requests库的使用方法进行总结 1. ...

  7. 十八、python沉淀之路--生成器

    一.生成器 生成器总结:语法上和函数类似:生成器函数和常规函数几乎是一样的.他们都是使用def语句进行定义,差别在于生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值.自动实 ...

  8. python 的日志logging模块

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message')logging.info('This is info messag ...

  9. Log4j日志配置说明

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  10. ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目

    在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...