以下为我的机器学习笔记,参考了黄海广博士的笔记

课程:机器学习 - 斯坦福大学 - 吴恩达 2014 @ Coursera

https://www.coursera.org/course/ml

这一节主要讲述了关于线性代数的基本内容,吴教授讲得很基础,很直观,我这里直接搬运的黄博士的笔记作为参考之用。

我这里还提供一个学习线代的网站,名字叫 immersivemath 不仅内容讲得十分好理解,而且还有可视化的图形,是一个非常 nice 的网站。

# 线性代数

# 矩阵和向量

如图:这个是 4×2 矩阵,即 4 行 2 列,如mm 为行,nn 为列,那么m×nm×n 即 4×2

矩阵的维数即行数 × 列数

矩阵元素(矩阵项):A=[1402191137182194914371471448]A=\left[ \begin{matrix} 1402 & 191 \\ 1371 & 821 \\ 949 & 1437 \\ 147 & 1448 \\\end{matrix} \right]

AijA_{ij} 指第ii 行,第jj 列的元素。

向量是一种特殊的矩阵,讲义中的向量一般都是列向量,如:

y=[460232315178]y=\left[ \begin{matrix} {460} \\ {232} \\ {315} \\ {178} \\\end{matrix} \right]

为四维列向量(4×1)。

如下图为 1 索引向量和 0 索引向量,左图为 1 索引向量,右图为 0 索引向量,一般我们用 1 索引向量。

y=[y1y2y3y4],y=[y0y1y2y3]y=\left[ \begin{matrix} { {y}_{1} } \\ { {y}_{2} } \\ { {y}_{3} } \\ { {y}_{4} } \\\end{matrix} \right], y=\left[ \begin{matrix} { {y}_{0} } \\ { {y}_{1} } \\ { {y}_{2} } \\ { {y}_{3} } \\\end{matrix} \right]

# 加法和标量乘法

矩阵的加法:行列数相等的可以加。

例:

矩阵的乘法:每个元素都要乘

组合算法也类似。

# 矩阵向量乘法

矩阵和向量的乘法如图:m×nm×n 的矩阵乘以n×1n×1 的向量,得到的是m×1m×1 的向量

算法举例:

# 矩阵乘法

矩阵乘法:

m×nm×n 矩阵乘以n×on×o 矩阵,变成m×om×o 矩阵。

如果这样说不好理解的话就举一个例子来说明一下,比如说现在有两个矩阵AABB,那么它们的乘积就可以表示为图中所示的形式。


# 矩阵乘法的性质

矩阵乘法的性质:

矩阵的乘法不满足交换律:A×BB×AA×B≠B×A

矩阵的乘法满足结合律。即:A×(B×C)=(A×B)×CA×(B×C)=(A×B)×C

单位矩阵:在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的 1, 我们称这种矩阵为单位矩阵.它是个方阵,一般用 II 或者 EE 表示,本讲义都用 II 代表单位矩阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1 以外全都为 0。如:

AA1=A1A=IA{ {A}^{-1} }={ {A}^{-1} }A=I

对于单位矩阵,有AI=IA=AAI=IA=A

# 逆、转置

矩阵的逆:如矩阵AA 是一个m×mm×m 矩阵(方阵),如果有逆矩阵,则:AA1=A1A=IA{ {A}^{-1} }={ {A}^{-1} }A=I

我们一般在 OCTAVE 或者 MATLAB 中进行计算矩阵的逆矩阵。

矩阵的转置:设AAm×nm×n 阶矩阵(即mmnn 列),第 $i j 列的元素是列的元素是 a (i,j),即:,即:A=a(i,j)$

定义AA 的转置为这样一个n×mn×m 阶矩阵BB,满足B=a(j,i)B=a(j,i),即 b(i,j)=a(j,i)b (i,j)=a(j,i)BB 的第ii 行第jj 列元素是AA 的第jj 行第ii 列元素),记AT=B{ {A}^{T} }=B。(有些书记为 A'=B)

直观来看,将AA 的所有元素绕着一条从第 1 行第 1 列元素出发的右下方 45 度的射线作镜面反转,即得到AA 的转置。

例:

abcdefT=acebdf{ {\left| \begin{matrix} a& b \\ c& d \\ e& f \\\end{matrix} \right|}^{T} }=\left|\begin{matrix} a& c & e \\ b& d & f \\\end{matrix} \right|

矩阵的转置基本性质:

(A±B)T=AT±BT{ {\left( A\pm B \right)}^{T} }={ {A}^{T} }\pm { {B}^{T} }

(A×B)T=BT×AT{ {\left( A\times B \right)}^{T} }={ {B}^{T} }\times { {A}^{T} }

(AT)T=A{ {\left( { {A}^{T} } \right)}^{T} }=A

(KA)T=KAT{ {\left( KA \right)}^{T} }=K{ {A}^{T} }

matlab 中矩阵转置:直接打一撇, x=y'