1.推导最小二乘法公式,并且通过几何来解释意义。
最小二乘公式寻找一条线性直线,该直线使得观测到的残差平方和最小。设
(xi,yi)∈D
,
D
是样本集,设样本集大小为
Loss=12∑ni=1(yi−(axi+b))2
——(1)
最小,则让
Loss
对
a
和
∂Loss∂a=0
——(2)
∂Loss∂b=0
——(3)
代入loss有
∑ni=1(yi−(axi+b))xi=0
——(4)
∑ni=1(yi−(axi+b))=0
——(5)
由(5)式可得,(
∑ni=1
简化为
∑
)
b=∑yi−a∑xin
——(6)
(6)式带回(4)式得到
∑yixi−∑(axi+b)xi=0
∑yixi−a∑x2i−b∑xi=0
∑yixi−a∑x2i−∑yi−a∑xin∑xi=0
n∑yixi−an∑x2i−(∑yi−a∑xi)∑xi=0
n∑yixi−an∑x2i−∑yi∑xi−a∑xi∑xi=0
a=n∑xiyi−∑yi∑xin∑x2i−(∑xi)2
——(7)
(7)式带回(6)式
b=1n(∑yi−n∑xiyi−∑yi∑xin∑x2i−(∑xi)2∑xi)
b=1n(n∑yi∑x2i−∑yi(∑xi)2−n∑xiyi∑xi+∑yi(∑xi)2n∑x2i−(∑xi)2)
b=(∑yi∑x2i−∑xiyi∑xin∑x2i−(∑xi)2)
——(8)
几何意义,见下图
几何解释就是求一条直线,使得
y
方向的偏差和最小
2.动态规划问题. 青蛙爬井问题(1):已知一个井高10米,青蛙可以选择跳1米或者跳3米。
1)问一共有多少种跳法
设
f(n)=f(n−1)+f(n−3)
——(1)
且
f(1)=1
f(2)=1
f(3)=2
以此类推
f(4)=f(1)+f(3)=3
f(5)=f(2)+f(4)=4
f(6)=f(3)+f(5)=6
f(7)=f(4)+f(6)=9
f(8)=f(5)+f(7)=13
f(9)=f(6)+f(8)=19
f(10)=f(7)+f(9)=28
2) 求通项公式
可以将递推公式(1)写成
f(n)=f(n−1)+f(n−3)
[f(n),f(n−1),f(n−2)]=⎡⎣⎢⎢110001100⎤⎦⎥⎥⎡⎣⎢⎢f(n−1)f(n−2)f(n−3)⎤⎦⎥⎥
——(2)
令
A=⎡⎣⎢⎢110001100⎤⎦⎥⎥
则
[f(n),f(n−1),f(n−2)]=An−3⎡⎣⎢⎢f(3)f(2)f(1)⎤⎦⎥⎥=An−3⎡⎣⎢⎢211⎤⎦⎥⎥
——(3)
把矩阵
A
对角化有
[f(n),f(n−1),f(n−2)]=VDn−3V−1⎡⎣⎢⎢211⎤⎦⎥⎥
——(5)
这一步太难算了,我用matlab偷懒了一下
[V, D] = eig(A)
D =
1.4656 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.2328 + 0.7926i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i -0.2328 - 0.7926i
V =
-0.7710 + 0.0000i 0.3916 + 0.2518i 0.3916 - 0.2518i
-0.5261 + 0.0000i 0.1588 - 0.5408i 0.1588 + 0.5408i
-0.3589 + 0.0000i -0.6823 + 0.0000i -0.6823 + 0.0000i
验证 n=10事是否正确。
A7=VD7V−1=
9.0000 - 0.0000i 4.0000 + 0.0000i 6.0000 + 0.0000i
6.0000 + 0.0000i 3.0000 - 0.0000i 4.0000 + 0.0000i
4.0000 - 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000i
则
f(n)=9×2+4×1+6×1=28
3.动态规划问题. 青蛙爬井问题(2)已知一个井高n米,青蛙可以选择跳1米或者跳2米。(题目几乎一样)
f(n)=f(n−1)+f(n−2)
f(2)=2
f(1)=1
这类似是斐波那契数列了
特征方程为
x2=x+1
特征根为
x1=1+5√2
x2=1−5√2
则
f(x)=c1xn1+c2xn2
——(1)
由
f(2)=2
f(1)=1
得到
c1=12(1+15√)
c2=12(1−15√)
将
c1
,
c2
,
x1
,
x2
带回(1)式即可