一. 矩阵知识复习
此文只给出一些机器学习中常用的矩阵知识和公式,方便复习和查询。
1.1 矩阵乘法
Am×pBp×n=Cm×n
1.2 矩阵乘法性质
- 不满足交换律: A×B≠B×A
- 满足结合律: A×(B×C)=(A×B)×C
- (A+B)2=A2+AB+BA+B2
- (AB)2=(AB)(AB)≠A2B2
1.3 矩阵的逆和转置
- 矩阵的逆:若矩阵A 是一个 m × m矩阵(方阵),则:
AA−1=A−1A=I - 矩阵的转置:设A 为 m × n 阶矩阵(即m行n列), 第i行j列的元素为a(i, j), 定义A的转置为这样一个n × m阶矩阵B, 满足b(i, j) = a(j, i)(B的第i行j列元素是A的第j行i列元素), 即 AT=B (或 A′=B )。
1.4 转置基本性质
- (A±B)T=AT±BT
- (A×B)T=BT×AT (在公式化简中常用到)
- (AT)T=A
1.5 逆矩阵运算规律
- (AB)−1=B−1A−1
- (kA)−1=A−1/k
- (A−1)T=(AT)−1
- (An)−1=(A−1)n
注意
:在matlab和octave中用 A′ 表示A的转置,用 A−1 可求A的逆矩阵。
二. Octave基本操作
octave是一款免费的科学计算软件,提供了强大的线性与非线性的数值计算,同时可以提供了强大的机器学习算法和各种数据可视化的功能,它的语法简单(几乎想数学公式一样),并且在很多语法上与MATLAB是相似的,很适合作为机器学习的一款工具。
2.1 安装
安装步骤请参考:http://mooc.guokr.com/note/15825/
2.2 基本操作
- octave-cli 进入octave的命令行
- 基本运算符: +、-、x、/、^
- 逻辑运算符: &&、||、xor、==、~=
- 注释: %注释的内容
- 打印: disp(a) 输出变量a的值
- 格式化输出: disp(sprintf(‘2 decimals: %0.2f’, a)) 输出两位小数点
- 常用常量:pi表示圆周率 π 、exp(2)表示 e2
2.3 矩阵相关操作
- 矩阵赋值:A = [3 4; 2 16] :
[32416]
- 初始化全为1的矩阵 ones(2,3) :
[111111]
- 初始化全为0的矩阵 zero