机器学习|代价函数绘制

本文介绍了在学习Andrew NG的机器学习课程时尝试绘制代价函数的过程。通过定义一个一元函数,作者使用循环改变参数θ1来计算代价函数J的值,并将其存储在列表中。最初的方法导致错误,但通过调整思路,避免了使用固定步长的θ1数组,最终成功绘制出了代价函数的图形。
摘要由CSDN通过智能技术生成

最近在学习Andrew NG的机器学习课程,上到定义函数的时候,就想着能否把代价函数画出来。

首先在编辑器定义一个函数文件,保存到工作路径中

function J = costFunctionJ(X,y,theta)
  m = size(X,1);  %样本量
  predictions = X*theta
  sqrErrors = (predictions-y).^2;
  J = 1/(2*m)*sum(sqrErrors);

这是一个简单的一元函数,表达式为

y = \theta_0+\theta_1x

我的思路就是写一个循环,然后循环中改变 θ1 计算代价函数J的值,并且储存到列表J_list中,最后再plot(θ1,J)得到结果

J_list = list()
for i = 1:10,
  theta = [0;i];
  J = costFunctionJ(X,y,theta);
  J_list(i) = J 
end;
list = (1:10)
plot(list,J_list)

但是这样会报错,于是改变了思路,不用theta=[0;i]表示了,我只要在上一个theta的基础上增加θ1就可以了,于是代码更改如下:

J_list = list()
theta = [0;1]
for i = 1:10,
  delta = (i-1)*[0;1];
  theta &
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

砂锅咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值