梯度下降 代价函数

梯度下降 代价函数代价函数与梯度下降

大家好,又见面了,我是你们的朋友全栈君。

代价函数 梯度下降

什么是代价函数?大家都知道误差。误差就是实际值与预测值之间的差别。

损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:

  1. 对于每种算法来说,代价函数不是唯一的;
  2. . 代价函数是参数θ的函数;
    3 .总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
    4 .J(θ)是一个标量;

对于线性回归来说
梯度下降 代价函数

线性回归代价函数
m:训练样本的个数;

hθ(x):用参数θ和x预测出来的y值;

y:原训练样本中的y值,也就是标准答案

上角标(i):第i个样本
当我们确定了模型h,后面做的所有事情就是训练模型的参数θ。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变θ,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数θ。
在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, …, θn的偏导数
说到梯度下降,梯度下降中的梯度指的是代价函数对各个参数的偏导数,偏导数的方向决定了在学习过程中参数下降的方向,学习率(通常用α表示)决定了每步变化的步长,有了导数和学习率就可以使用梯度下降算法(Gradient Descent Algorithm)更新参数了。
梯度下降的基本过程就和下山的场景很类似。
在这里插入图片描述
首先,我们有一个可微分的函数。这个函数就代表着一座山。我们的目标就是找到这个函数的最小值,也就是山底。根据之前的场景假设,最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快!因为梯度的方向就是函数之变化最快的方向。
所以,我们重复利用这个方法,反复求取梯度,最后就能到达局部的最小值,这就类似于我们下山的过程。在这里插入图片描述

在这里插入图片描述
上图中的α是什么含义?
α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以α的选择在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点。
在这里插入图片描述
为什么要梯度要乘以一个负号?
梯度前加一个负号,就意味着朝着梯度相反的方向走!我们都知道,梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136592.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月3日 上午11:16
下一篇 2022年6月3日 上午11:16


相关推荐

  • JS设置定时器和清除定时器

    JS设置定时器和清除定时器JS 设置定时器和清除定时器 nbsp nbsp 在做项目中难免会碰到需要实时刷新 动画依次出现等等需求 这时候就需要定时器登上我们的代码舞台了 所以今天我们就先来了解一下 JS 定时器的设置和清除吧 一 启用定时器 nbsp nbsp window 对象提供了两个方法来实现定时器的效果 分别是 window setTimeout 和 window setInterval 其中前者可以使一段代码在指定时间后运行 而后者则可以使一

    2026年3月19日
    2
  • stimulsoft oracle,Stimulsoft Reports

    stimulsoft oracle,Stimulsoft ReportsStimulsoftReports一站式报表解决方案,支持.NET,JavaScript,Java和Php软件商:Stimulsoft当前版本:2020.3发布日期:2020/6/12推荐:以下是”Reports.Web”,如果您需要了解更多信息,您可以联系我们。支持ASP.NET,ASP.NETMVC,原生.NETCore的报表工具StimulsoftRepor…

    2022年7月26日
    13
  • cordova declare styleable 错误「建议收藏」

    cordova declare styleable 错误「建议收藏」出现ERROR:InFontFamilyFont,unabletofindattribute可以使用cordovapluginaddcordova-plugin-file-opener2cordova-android-support-gradle-release命令安装支持现在版本的插件解决问题

    2022年7月13日
    21
  • 摘抄自知乎–由华为裁员传闻引发的思考:年轻人如何避免中年危机?

    摘抄自知乎–由华为裁员传闻引发的思考:年轻人如何避免中年危机?原文:https://www.zhihu.com/question/56419319回答者:王辰—-部分摘抄—- HelloJohn: 记得自己的来处,可能不是件坏事。你是知道我的来处的,其他的人,想写我的过去都不那么准确。 他们说我的工作是从9点到5点的,其实从来就不是9点到5点。事实上…

    2022年7月18日
    21
  • 名片制作:25款现代名片设计实例及模板

    名片制作:25款现代名片设计实例及模板名片是一个企业最重要和最符合成本效益的营销工具之一 尤其是对于刚刚起步的企业 然而 名片如果设计不好 往往错失给人留下深刻印象的机会 这里收集了 25 款现代名片设计实例 在文章结尾 您可以下载免费的名片 PSD 模板 您可能感兴趣的相关文章 35 佳漂亮的迷你名片设计作品欣赏 40 款奇特的透明名片设计作品欣赏最新 70 佳很酷的名片设计作品欣赏 33 款创意的二维码名

    2026年3月19日
    3
  • mongoDB 启动与停止

    mongoDB 启动与停止MongoDB 是一个基于分布式文件存储的数据库 由 C 语言编写 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 它以高性能 易部署 易使用 存储数据非常方便等优点被广泛使用 其安装配置相当简单 有如轻量级的 mysql 但功能丝毫不差 本文主要描述 mongoDB 的启动与停止

    2025年11月19日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号