黑马程序员技术交流社区
标题:
【上海校区】多项式回归-matlab
[打印本页]
作者:
梦缠绕的时候
时间:
2019-1-15 10:12
标题:
【上海校区】多项式回归-matlab
%输入空间
X = [1;2;5;6;10];
a = size(X, 1);
b = size(X, 2);
%输出空间
Y = [1;10;2;9;1];
%假设空间以及模型选择
theta_1 = [0; 0];
theta_2 = [0; 0; 0; 0];
theta_3 = [0; 0; 0; 0; 0; 0];
%一。利用正规方程求解损失函数为平方损失函数的多项式回归
%1.选择假设空间theta_1
SNX = [X];
%添加X0默认为1,为了作为w0的输入
SNX = [ones(size(SNX, 1),1),SNX];
theta_1 = inv(transpose(SNX)*SNX)*transpose(SNX)*Y;
figure('NAME', '平方损失一阶');
plot(X,Y)
hold on
plot(X,SNX*theta_1)
%2.选择假设空间theta_2
SNX = [X, X.^2, X.^3];
%添加X0默认为1,为了作为w0的输入
SNX = [ones(size(SNX, 1),1),SNX];
theta_2 = inv(transpose(SNX)*SNX)*transpose(SNX)*Y;
figure('NAME', '平方损失三阶')
plot(X,Y)
hold on
plot(X,SNX*theta_2)
%3.选择假设空间theta_3
SNX = [X, X.^2, X.^3, X.^4, X.^5];
%添加X0默认为1,为了作为w0的输入
SNX = [ones(size(SNX, 1),1),SNX];
theta_3 = inv(transpose(SNX)*SNX)*transpose(SNX)*Y;
figure('NAME', '平方损失五阶')
plot(X,Y)
hold on
plot(X,SNX*theta_3)
作者:
不二晨
时间:
2019-1-16 09:02
奈斯
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2