机器学习知识点03-代价函数

接着上文02的问题阐述代价函数(也叫做损失函数)

我们将定义代价函数的概念,这有助于我们弄清楚如何把最有可能的直线与我们的数据相拟合。如图:

    在线性回归中我们有一个像这样的训练集,m 代表了训练样本的数量,比如 m = 47。 而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式:h 。 接下来我们会引入一些术语我们现在要做的便是为我们的模型选择合适的参数(parameters)θ0 和 θ1,在房价问题这个例子中便是直线的斜率和在 y 轴上的截距。 我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。

我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数最小

我们绘制一个等高线图,三个坐标分别为 θ0 和 θ1 和 J(θ0,θ1):

则可以看出在三维空间中存在一个使得 J(θ0,θ1)最小的点。

代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出 误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合 理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回 归问题最常用的手段了。也许这个函数 J(θ0,θ1)有点抽象,可能你仍然不知道它的内涵,在接下来的介绍中, 我们要更进一步解释代价函数 J 的工作原理 ,并尝试更直观地解释它在计算什么,以及我们使用它的目的。

 代价函数的直观理解 

 

代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得 J(θ0,θ1)最小的点。

通过这些图形,我希望你能更好地理解这些代价函数 J 所表达的值是什么样的,它们对应的假设是什么样的,以及什么样的假设对应的点,更接近于代价函数 J 的最小值。当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数 J 取最小值 的参数 θ0 和 θ1 来。我们也不希望编个程序把这些点画出来,然后人工的方法来读出这些点的数值,这很明 显不是一个好办法。我们会遇到更复杂、更高维度、更多参数的情况,而这些情况是很难画出图的,因此更无法将其可视化,因此我们真正需要的是编写程序来找出这些最小化代价函 数的 θ0 和 θ1 的值,接下来,我们将介绍一种算法(梯度下降),能够自动地找出能使代价函数 J 最小化的参数 θ0 和 θ1 的值。

猜你喜欢

转载自www.cnblogs.com/lpzblog/p/9299957.html