【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review
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的更多相关文章
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
Lecture 13 聚类 Clustering 13.1 无监督学习简介 Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机
Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念
目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning 无 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
随机推荐
- Android的方法和属性(2)
1.RadioButton(单选按钮) 嵌入到RsdioGroup中实现单选效果 android:checkedButton="radio的id值" int getCheckedR ...
- 如何用 Java 实现 Web 应用中的定时任务
定时任务,是指定一个未来的时间范围执行一定任务的功能.在当前WEB应用中,多数应用都具备任务调度功能,针对不同的语音,不同的操作系统, 都有其自己的语法及解决方案,windows操作系统把它叫做任务计 ...
- 关于15桥梁课程1&2的笔记以及待做事项的梳理
1.指针所占用的空间是固定的 2.void *malloc(sizeof(int)); (这玩意耗时间,老师说通过内存池解决) free(p);free(p); 两次free()报错,正确的做法: ...
- 内联元素inline-block空隙问题
1.产生的原因 当我们使用"display:inline-block"把块集元素转换为内联元素时,每两个内联元素之间有一定的空隙,既不是margin也不是padding,最终发现是 ...
- 转:使用django-admin.py创建django工程
原文:http://blog.csdn.net/a921800467b/article/details/8257352 安装Django首先需要安装数据库,可选的数据库有好几种,我选择的是MySQL数 ...
- JsQuick--个人封装的Js库
JsQuick 该库为本人封装的Js库,尚未进行浏览器兼容 /** * 快速框架 版本:1.0.0 * 日期:2015.02.26 * 作者:简楚恩 */ /** * 快速获取控件类 */ var $ ...
- centos安装PHP-pdo支持pdo
#yum install php-pdo phpinfo()查看PDO
- javascript中原型学习
学习地址:http://www.cnblogs.com/wangfupeng1988/tag/%E5%8E%9F%E5%9E%8B/
- DELPHI中使用UNIDAC连接ORACLE数据库
DELPHI中使用UNIDAC连接ORACLE数据库 最近在DELPHI中使用到UNIDAC连接到oracle数据库,这样可以不要安装oracle客户端,比较方便使用:所以简单学习了一下,主要是用 ...
- springboot redis简单结合
参考: https://www.cnblogs.com/ityouknow/p/5748830.htmlhttp://blog.csdn.net/i_vic/article/details/53081 ...