胡扯系列
这个冬天有点冷,一是北京的天气有点冷,二是互联网的环境里与有点冷.最近输出有点低,希望赶上元旦之际,来个暴击输出(意淫).首先,我不是数学系出身,大学也基本没怎么学过,可是现实残酷,生活所迫,逼着自己学啊.没图说个JB,先来个男神(卡尔·弗里德里希·高斯)的图.
怎么吹开始吧!查看百科的话,各种学家,‘数学王子’,以高斯命名的各种理论,数学之最…反正我是百科的,到此为止!
为啥说他,肯定和最小二乘法有关,就是他发现的.也叫高斯法
.
认识下最小二乘法
最小二乘法是优化技术,通过最小化误差平方的和,来求未知数据.先来个公式
损
失
函
数
=
∑
i
=
1
n
(
函
数
观
测
值
−
理
论
值
)
2
损失函数=\sum_{i=1}^n(函数观测值-理论值)^2
损失函数=i=1∑n(函数观测值−理论值)2
什么叫函数预测值,什么叫理论值,什么是损失函数,如果不懂来个例子就懂了啊.
- 使用python画个图
图中有三个点(3,3,)(5,6)(8,7)想模拟一条直线通过所有的点,另直线y=ax+b,这时就是要确定a和b的值就能确定了该条直线,转换成最小二乘法问题就是寻找一条直线让d1,d2,d3的误差最小,但是误差有正有负,所以使用平方的形式.
J = d 1 2 + d 2 2 + d 3 2 J=d_1^2+d_2^2+d_3^2 J=d12+d22+d32J就是损失函数, d 1 d_1 d1, d 2 d_2 d2, d 3 d_3 d3就是函数预测值与理论值误差, d 1 d_1 d1就是(3,3)点的横坐标x=3代入函数f(x)=ax+b求的f(x),减去纵坐标y=3, d 2 d_2 d2, d 3 d_3 d3同理也是 J = ( 3 a + b − 3 ) 2 + ( 5 a + b − 6 ) 2 + ( 8 a + b − 7 ) 2 J=(3a+b-3)^2+(5a+b-6)^2+(8a+b-7)^2 J=(3a+b−3)2+(5a+b−6)2+(8a+b−7)2求解的过程就是 J m i n J_{min} Jmin最小的时候a,b的值,利用偏导数求解a,b分别令 d ( J ) d a \frac{d(J)}{da} dad(J)与 d ( J ) d b \frac{d(J)}{db} dbd(J)等于0求解既是.这里就忽略求解过程… - 上面就是最小二乘法的代数求法
- 接下来演示矩阵求法
- 矩阵求导的几个公式
- Y = A ∗ X = > d y / d x = A T Y=A*X => dy/dx = A^T Y=A∗X=>dy/dx=AT
- Y = X ∗ A = > d y / d x = A Y=X*A => dy/dx = A Y=X∗A=>dy/dx=A
- Y = X T ∗ A ∗ X = > d y / d x = ( A + A T ) ∗ X Y=X^T*A*X => dy/dx = (A+A^T)*X Y=XT∗A∗X=>dy/dx=(A+AT)∗X
- Y = X T ∗ A = > d y / d x = A Y=X^T*A => dy/dx = A Y=XT∗A=>dy/dx=A
最小二乘法矩阵推导
J
(
θ
)
=
1
2
(
X
θ
−
y
)
T
(
X
θ
−
y
)
J(\theta)=\frac{1}{2}(X\theta-y)^T(X\theta-y)
J(θ)=21(Xθ−y)T(Xθ−y)
其实这里有人可能就想到了有一些问题,比如
X
T
X
X^TX
XTX不可逆怎么办,就是由于这样出现了梯度下降法求解