没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
机学习中的基本数学知识
注:本的代码是使Python 3写的。
机学习中的基本数学知识
线性代数(linear algebra)
第公式
矩阵的操作
换位(transpose)
矩阵乘法
矩阵的各种乘积
内积
外积
元素积(element-wise product/point-wise product/Hadamard product
加
低等数学
何
范数(norm)
拉格朗乘法和KKT条件
微分(differential)
表示形式
法则
常导数公式
统计学/概率论
信息论
农熵(Shannon Entropy)
知道放到哪
机学习
激活函数
损失函数
附录
希腊字的含义和发
数学符号的含义和发
参照
线性代数(linear algebra)
第公式
f(x) = xw
T
+ b
这是在机学习中,最常的公式。我把这个称为机学习的第公式,实际上就是线性
分类函数(linear classifier)。
训练分类的标就是求出 (w, b)。
其中:
x 是个矩阵 [[x
1
, x
2
, . . . , x
n
]]。
w 是个矩阵 [[w
1
, w
2
, . . . , w
n
]]。
x 和 w 的维度相同。
b 是个数。
xw
T
= ∑
n
i = 1
x
i
w
i
,称为点积(dot product)。
有时,我们也会到这个公式表示为类似下的样,它们的基本含义都是样的。
f(x) = wx + b
f(x) = w
T
x + b
f(x) =
→
w ⋅
→
x + b
注:这 w表示为个维数组(或者向、(vector))
[x
1
, x
2
, . . . , x
n
]。
注:维数组:在数学上,可以解为向,表示多维空间上的个点。
注:由于在线性代数中,矩阵乘法 ab ≠ ba,所以对于表达式 w
T
x
,严格地说,要把(向)看做的矩阵(是的矩阵),才符合数
学上的定义。
注:表达式
→
w ⋅
→
x和 wx是正确的,因为 w和 x是,这个符合
计算的定义。
矩阵的操作
由于,这篇章是从数学的度写的,所以我们先关注矩阵的操作。
f(x) = x + b
w
T
(w, b)
x
[[ , , . . . , ]]
x
1
x
2
x
n
w
[[ , , . . . , ]]
w
1
w
2
w
n
x w
b
x =
w
T
∑
n
i=1
x
i
w
i
f(x) = wx + b
f(x) = x + b
w
T
f(x) = ⋅ + b
w
x
w
[ , , . . . , ]
x
1
x
2
x
n
ab ≠ ba
x
w
T
⋅
w
x
wx w x
换位(transpose)
矩阵的换位操作:将矩阵中的数按照对线交换。
数学公式: w
T
代码示:
# Matrix Transpose
m = numpy.mat([[1, 2], [3, 4]])
print("Matrix.Transpose:")
print(m.T)
''' Output:
Matrix.Transpose:
[[1 3]
[2 4]]
'''
矩阵乘法
矩阵相乘的含义
如果苹果10元,5苹果多少元?答案是: 10 ∗ 5 = 50
如果苹果10元,20元,5苹果2共多少元?
答案是:
10 20
5
2
= 10 × 5 + 20 × 2 = 90
我们可以看出矩阵相乘的约束:乘数1的数要和乘数2的数相等。
矩阵乘法满交换
m1 ⋅ m2 ≠ m2 ⋅ m1
我们再看看交换乘数后,计算的结果:
w
T
10 ∗ 5 = 50
[ ] [ ]= 10 × 5 + 20 × 2 = 90
10 20
5
2
[ ]
[ ]
m1 ⋅ m2 ≠ m2 ⋅ m1
[ ]
10
20
5 2
=
10 × 5 10 × 2
20 × 5 20 × 2
=
50 20
100 40
如:数 20的含义是2苹果多少钱。
举说明它们的同之处:
m1 =
1 2
m2 =
10
20
m1 ⋅ m2的计算法是:
m1 ⋅ m2 =
10
20
1 2
1 ∗ 10 + 2 ∗ 20
=
50
m2 ⋅ m1的计算法是:
[ ][ ]
10
20
5 2
= [ ]
10 × 5
20 × 5
10 × 2
20 × 2
= [ ]
50
100
20
40
[ ]
[ ]
[ ] [ ]
20
m1 = [ ]
1 2
[ ]
m2 = [ ]
10
20
[ ]
m1 ⋅ m2
m1 ⋅ m2 = = [ ]
[ ]
1 2
[ ]
10
20
1 ∗ 10 + 2 ∗ 20
50
[ ]
[ ]
[ ]
m2 ⋅ m1
m2 ⋅ m1 =
1 2
10 10 ∗ 1 10 ∗ 2
20 20 ∗ 1 20 ∗ 2
=
10 20
20 40
计算公式
矩阵相乘是:矩阵1的每和矩阵2的每的点积,得到个矩阵。
l ∗ m 的矩阵乘以 m ∗ n 的矩阵,形成个 l ∗ n 的矩阵。
m2 ⋅ m1 = = [ ]
10
20
1
10 ∗ 1
20 ∗ 1
2
10 ∗ 2
20 ∗ 2
10
20
20
40
[ ]
l ∗ m
m ∗ n
l ∗ n
x ⋅ y
= [ ]
x
1
⋯
x
n
⎡
⎣
⎢
y
1
⋯
y
n
⎤
⎦
⎥
= [ ]
∑
n
i=1
x
i
y
i
x ⋅ y
= [ ]
⎡
⎣
⎢
x
1
⋯
x
m
⎤
⎦
⎥
y
1
⋯
y
n
=
⎡
⎣
⎢
x
1
y
1
⋯
x
m
y
1
⋯
⋯
⋯
x
1
y
n
⋯
x
m
y
n
⎤
⎦
⎥
x ⋅ y
=
⎡
⎣
⎢
⎢
⎢
x
11
x
21
⋯
x
m1
⋯
⋯
⋯
⋯
x
1n
x
2n
⋯
x
mn
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
⎢
y
11
y
21
⋯
y
n1
⋯
⋯
⋯
⋯
y
1q
y
2q
⋯
x
nq
⎤
⎦
⎥
⎥
⎥
⎥
=
⎡
⎣
⎢
∑
n
i=1
x
i1
y
1i
⋯
∑
n
i=1
x
mi
y
i1
⋯
⋯
⋯
∑
n
i=1
x
1i
y
iq
⋯
∑
n
i=1
x
mi
y
iq
⎤
⎦
⎥
剩余21页未读,继续阅读
资源评论
arthurcsh
- 粉丝: 35
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功