赞
踩
0
用伪逆矩阵
x
=
A
+
b
x=A^{+}b
x=A+b直接求解,[上一节已讲]1
当矩阵A大小适中,条件数
σ
1
σ
r
<
1000
时
\frac{\sigma_1}{\sigma_r}<1000时
σrσ1<1000时, 用
x
=
A
\
b
x=A\backslash b
x=A\b;2
当矩阵A列满秩m>n=r
时,方程数多于变量数,无法求解,只能择中找近似解,将b投影到矩阵A的列空间中后,再找到近似解
x
^
\hat{x}
x^ 用
A
T
A
x
^
=
A
T
b
→
x
^
=
(
A
T
A
)
−
1
A
T
b
A^TA\hat{x}=A^Tb\rightarrow \hat{x}=(A^TA)^{-1}A^Tb
ATAx^=ATb→x^=(ATA)−1ATb3
当矩阵m < n
时,方程数小于变量数,有无穷多的解,约束不够,所以我们增加
L
1
,
L
2
L_1,L2
L1,L2约束来在众多的解中拿到一个好的解,这是深度学习中最重要的损失函数解决思路。4
列向量情况很差,条件数
σ
1
σ
r
>
1000
\frac{\sigma_1}{\sigma_r}>1000
σrσ1>1000,就是病态矩阵,简单理解就是矩阵A的列向量之间相关性太大,导致无法用相关性的列表示其他向量;5
矩阵A接近奇异矩阵,该矩阵的值不是满秩,无法进行直接求逆得到
A
−
1
A^{-1}
A−1逆矩阵,就是会得到很多的解,我们的目的是从这么多的解中找到一个最好的解,目前加
L
1
L_1
L1项,即加
λ
∣
∣
x
∣
∣
1
\lambda||x||_1
λ∣∣x∣∣1,即是我们的LASSO模型;加
L
2
L_2
L2项目,即加
δ
2
∣
∣
x
∣
∣
2
2
\delta^2||x||_2^2
δ2∣∣x∣∣22,即是我们的岭回归模型,是不是很神奇!!!,后面还有的是两个都加,后续会学习到的!!!z = arg m i n 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 + 1 2 δ 2 ∣ x ∣ ∣ 1 2 z=argmin12||Ax−b||22+12δ2|x||21 z=minarg21∣∣Ax−b∣∣22+21δ2∣x∣∣12
z = arg m i n 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 + 1 2 δ 2 ∣ x ∣ ∣ 1 2 = 1 2 ( a x − b ) 2 + 1 2 δ 2 x 2 z=argmin12||Ax−b||22+12δ2|x||21=12(ax−b)2+12δ2x2 z=minarg21∣∣Ax−b∣∣22+21δ2∣x∣∣12=21(ax−b)2+21δ2x2
求导可得:
∂
z
∂
x
=
a
(
a
x
−
b
)
+
σ
2
x
=
0
→
(
a
2
+
σ
2
)
x
^
=
a
b
→
居然跟矩阵表达式一样
∂z∂x=a(ax−b)+σ2x=0→(a2+σ2)ˆx=ab→居然跟矩阵表达式一样
∂x∂z=a(ax−b)+σ2x=0→(a2+σ2)x^=ab→居然跟矩阵表达式一样
所以我们暂时简单验证我们在最小二乘法中加二范数惩罚项是对的!!!
以上是损失函数的设计,也就是我们通过添加损失函数的约束条件来明确我们的目标,那么目标有了,现在缺少怎么找到目标的方法,常见的有随机梯度下降
等方法,里面设计到学习率,迭代次数等,目的是怎么快速的找到最小的损失函数值,并根据结果来更新权重参数,这样矩阵就和深度学习联系上啦!
好的解指的是我们的解不仅对已知的数据集有好的损失函数值,同时我们的解还能对未知的数据有好的结果!有效性和泛化性都要有!!!
6
迭代7
随机采样Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。