线性回归的cost function 等高线图分析法

原创 2018-03-16 10:51 阅读(174)次

从上文  线性回归的cost function 3D图形分析法 我们能大概看出cost function的趋势和最低点,但3D图形并不那么直观。本文介绍用等高线图来分析cost function。

基本求J值的方法是一样的,

clear ; close all; clc
data = load('ex1data1.txt');
X = data(:, 1); y = data(:, 2);
m = length(y);
X = [ones(m, 1), data(:,1)]; %   m * 2


theta0_vals = linspace(-10, 10, 50);
theta1_vals = linspace(-1, 4, 50);
J_vals = zeros(length(theta0_vals), length(theta1_vals));

for i = 1:length(theta0_vals)
    for j = 1:length(theta1_vals)
	  t = [theta0_vals(i); theta1_vals(j)];
	  J_vals(i,j) = computeCost(X, y, t);
    end
end


figure;

contour(theta0_vals, theta1_vals, J_vals, logspace(-2, 3, 40))
xlabel('\theta_0'); ylabel('\theta_1');


区别是为了让图形放大, theta1_vals的取值范围缩小了。

得到的图形就是线性回归的cost function的等高线图,也就是同一条线上的点,虽然θ0,θ1的取值不同,但J值相同。

J值最小的取值就是等高线图中最中心的那个点。




本站作品的版权皆为作品作者所有。

本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。

本站内容欢迎分享,但拒绝有商业目的的转载!



下一篇:初识神经网络