我正在编写我正在从Coursera机器学习课程(MATLAB)中学习线性回归的过程。有一个类似的帖子,我找到了here,但我似乎无法理解所有内容。也许是因为我在机器学习方面的基础知识有点弱。

我面临的问题是,对于某些数据...梯度下降(GD)和封闭形式解决方案(CFS)都给出相同的假设线。但是,在一个特定的数据集中,结果是不同的。我读过一些关于如果数据是单数的话,结果应该是一样的。但是,我不知道如何检查我的数据是否是单数。

我会尽力说明我能做到的最好:

1)首先,这是从here改编的MATLAB代码。对于给定的数据集,GD和CFS都给出了类似的结果,结果都很好。

数据集

X Y

2.06587460000000 0.779189260000000

2.36840870000000 0.915967570000000

2.53999290000000 0.905383540000000

2.54208040000000 0.905661380000000

2.54907900000000 0.938988900000000

2.78668820000000 0.966847400000000

2.91168250000000 0.964368240000000

3.03562700000000 0.914459390000000

3.11466960000000 0.939339440000000

3.15823890000000 0.960749710000000

3.32759440000000 0.898370940000000

3.37931650000000 0.912097390000000

3.41220060000000 0.942384990000000

3.42158230000000 0.966245780000000

3.53157320000000 1.05265000000000

3.63930020000000 1.01437910000000

3.67325370000000 0.959694260000000

3.92564620000000 0.968537160000000

4.04986460000000 1.07660650000000

4.24833480000000 1.14549780000000

4.34400520000000 1.03406250000000

4.38265310000000 1.00700090000000

4.42306020000000 0.966836480000000

4.61024430000000 1.08959190000000

4.68811830000000 1.06344620000000

4.97773330000000 1.12372390000000

5.03599670000000 1.03233740000000

5.06845360000000 1.08744520000000

5.41614910000000 1.07029880000000

5.43956230000000 1.16064930000000

5.45632070000000 1.07780370000000

5.56984580000000 1.10697580000000

5.60157290000000 1.09718750000000

5.68776170000000 1.16486030000000

5.72156020000000 1.14117960000000

5.85389140000000 1.08441560000000

6.19780260000000 1.12524930000000

6.35109410000000 1.11683410000000

6.47970330000000 1.19707890000000

6.73837910000000 1.20694620000000

6.86376860000000 1.12510460000000

7.02233870000000 1.12356720000000

7.07823730000000 1.21328290000000

7.15142320000000 1.25226520000000

7.46640230000000 1.24970650000000

7.59738740000000 1.17997060000000

7.74407170000000 1.18972990000000

7.77296620000000 1.30299340000000

7.82645140000000 1.26011340000000

7.93063560000000 1.25622670000000我的MATLAB代码:

clear all; close all; clc;

x = load('ex2x.dat');

y = load('ex2y.dat');

m = length(y); % number of training examples

% Plot the training data

figure; % open a new figure window

plot(x, y, '*r');

ylabel('Height in meters')

xlabel('Age in years')

% Gradient descent

x = [ones(m, 1) x]; % Add a column of ones to x

theta = zeros(size(x(1,:)))'; % initialize fitting parameters

MAX_ITR = 1500;

alpha = 0.07;

for num_iterations = 1:MAX_ITR

thetax = x * theta;

% for theta_0 and x_0

grad0 = (1/m) .* sum( x(:,1)' * (thetax - y));

% for theta_0 and x_0

grad1 = (1/m) .* sum( x(:,2)' * (thetax - y));

% Here is the actual update

theta(1) = theta(1) - alpha .* grad0;

theta(2) = theta(2) - alpha .* grad1;

end

% print theta to screen

theta

% Plot the hypothesis (a.k.a. linear fit)

hold on

plot(x(:,2), x*theta, 'ob')

% Plot using the Closed Form Solution

plot(x(:,2), x*((x' * x)\x' * y), '--r')

legend('Training data', 'Linear regression', 'Closed Form')

hold off % don't overlay any more plots on this figure''[编辑:对不起,标签错误...这不是正常的方程式,而是封闭的形式解决方案。我的错]

该代码的结果如下所示(这是桃色:D对于GD和CFS都有同样的结果) -

现在,我正在用另一个数据集测试我的代码。数据集的URL是here - GRAY KANGAROOS。我将它转换为CSV并将其读入MATLAB。请注意,我做了缩放(除以最大值,因为如果我没有这样做,根本不会出现假设线,并且在MATLAB中出现的不是数字(NaN))。

灰色袋鼠数据集:

X Y

609 241

629 222

620 233

564 207

645 247

493 189

606 226

660 240

630 215

672 231

778 263

616 220

727 271

810 284

778 279

823 272

755 268

710 278

701 238

803 255

855 308

838 281

830 288

864 306

635 236

565 204

562 216

580 225

596 220

597 219

636 201

559 213

615 228

740 234

677 237

675 217

629 211

692 238

710 221

730 281

763 292

686 251

717 231

737 275

816 275我对代码读取的数据集所做的更改

dataset = load('kangaroo.csv');

% scale?

x = dataset(:,1)/max(dataset(:,1));

y = dataset(:,2)/max(dataset(:,2));出来的结果是这样的:[编辑:对不起,错误的标签......这不是正常的方程,但封闭的形式解决方案。我的错]

我想知道这个差异是否有任何解释?任何帮助将非常感激。先谢谢你!

matlab封闭传递包求解,梯度下降和封闭形式的解决方案 - MATLAB中不同的假设线...相关推荐

  1. 车辆路径优化matlab代码,5个求解车辆路径问题(VRP)的MATLAB算法

    5个求解车辆路径问题(VRP)的MATLAB算法 matlab 2020-10-22 下载地址 https://www.codedown123.com/45041.html 5个求解车辆路径问题(VR ...

  2. 【优化】近端梯度下降(Proximal Gradient Descent)求解Lasso线性回归问题

    文章目录 近端梯度下降的背景 常见线性回归问题 近端算子(Proximal Operator) 近端梯度下降迭代递推方法 以Lasso线性回归问题为例 参考资料 近端梯度下降的背景 近端梯度下降(Pr ...

  3. Lesson 6.动态计算图与梯度下降入门

    在<Lesson 5.基本优化思想与最小二乘法>的结尾,我们提到PyTorch中的AutoGrad(自动微分)模块,并简单尝试使用该模块中的autograd.grad进行函数的微分运算,我 ...

  4. 梯度下降法和最速下降法区别

    1. 前言: 细微之处,彰显本质:不求甚解,难以理解. 一直以来,我都认为,梯度下降法就是最速下降法,反之亦然,老师是这么叫的,百度百科上是这么写的,wiki百科也是这么说的,这么说,必然会导致大家认 ...

  5. 梯度下降法和Sklearn实现线性回归

    1.线性回归模型 线性回归 (linear regression)是-种线性模型, 它假设输入变量 x和单个输出变量 y 之间存在线性关系.具体来说,利用线性回归模型,可以从-组输入变量 x 的线性组 ...

  6. 梯度下降详解(3)机器学习

    1 无约束最优化问题    为什么要学习梯度下降?,在我们日常生活中,并不是所有的预测曲线都符合正规方程,所以为了对各种各样的数据进行预测的话,需要使用其他的方法.这就是用梯度下降的方法来拟合原来的数 ...

  7. 吴恩达机器学习之逻辑回归:逻辑回归的假说表示、判定边界、代价函数、简化的成本函数和梯度下降、高级悠哈、多类别分类之一对多(详细笔记,建议收藏,已有专栏)

    吴恩达机器学习栏目清单 专栏直达:https://blog.csdn.net/qq_35456045/category_9762715.html 文章目录 6.逻辑回归(Logistic Regres ...

  8. 最优化方法:梯度下降(批梯度下降和随机梯度下降)

    http://blog.csdn.net/pipisorry/article/details/23692455 梯度下降法(Gradient Descent) 梯度下降法是一个一阶最优化算法,通常也称 ...

  9. 梯度下降概念及推导过程

    1.梯度 我们对一个多元函数求偏导,会得到多个偏导函数.这些导函数组成的向量,就是梯度.一元函数的梯度可以理解为就是它的导数.梯度就是对一个多元函数的未知数求偏导,得到的偏导函数构成的向量就叫梯度. ...

最新文章

  1. LeetCode刷题-8
  2. EntityFramework:状态变化与方法的关系
  3. ASP.NET Core开发者成长路线图
  4. 调用反射类的指定方法
  5. LeetCode 931. 下降路径最小和(动态规划)
  6. C语言 int** 二重指针的理解
  7. MySQL对字符集_对MySQL字符集的认识
  8. matlab与vc混合编程指导书.doc,vc与matlab混合编程—基于com.doc
  9. shell ## %% 使用说明
  10. 搜索引擎网页排序算法
  11. file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
  12. 探秘中国网购的数据迷城
  13. unity 彩带粒子_Unity 粒子特效—FX Maker
  14. win10解除usb禁用_Windows10系统禁用usb存储设备的方法
  15. 处理autocad 2010闪退
  16. matplotlib绘图颜色大全
  17. 解决一个应用连接oracle端口1521不通问题
  18. 区块链系统:挖矿原理
  19. 【设计】宽范围输入线性稳压器
  20. C++入门——实现见缝插针游戏

热门文章

  1. 二十个方法鼓励自己最有效
  2. iPhone应用中APNS推送通知流程代码实现案例
  3. linux下安装gcc
  4. 简繁互相切换的字库(比较全)
  5. C++11 委托构造函数
  6. git使用教程(初次配置+错误提示)
  7. 场景7:带有Linux网桥的提供商网络
  8. oauth2.0了解
  9. 关于iOS7之后状态栏修改总结
  10. 我和ASP.NET MVC有个约会