X = [1 1;1 2;1 3] y = [1; 2; 3] = [0 ; 1] (octave格式输入)
其中x的点(1 2 3) 向量化X0 = 1 即为X= [1 1;1 2;1 3]
X_0 X_1 y
1 1 1
1 2 2
1 3 3
m = 1 样本特征
梯度下降算法:
绘制图像 大致:
红色线 为 假设函数
根据之前的实验:
若 = [0 1] 即
1 = 0
2 = 1
J() =
= 1/(2*3) * [(1-1)^2 + (2-2)^2 + (3-3)^2] = 0
与上图切合 即当1 = 0
2 = 1 J(
) = 0 最优值 此时 假设函数 如上左图 与 图上的点拟合效果最好。
若 = [0 0.5] 即
1 = 0
2 = 0.5
J() =
= 1/(2*3)*[(0.5-1)^2+ (0.5-2)^2 + (0.5-3)^2] ≈0.58
若 = [0 0] 即
1 = 0
2 = 0
J() =
= 1/(2*3)*[1^2+ 2^2 + 3^2] = 2.333....
J() 越来越大 说明该代价函数计算正确 可以计算正确结果
J() 越小拟合度会越好。
正规方程方法:
octave中
= pinv(X' * X) * X' * y
计算结果:
X = [1 1; 1 2; 1 3]
X =
1 1
1 2
1 3
>> y = [1 ;2; 3]
y =
1
2
3
>> theta = pinv(X'*X) * X' * y
theta =
4.4409e-16
1.0000e+00
4.4409e-16非常小 已经等同于接近零。采用向下取整则得到:
theta = floor(pinv(X'*X) * X' * y)
theta =
0
1
可知 = [0 1] 为最优解