首页 编程教程正文

【人工智能系列教程】机器学习(二)——单变量线性回归

piaodoo 编程教程 2020-02-22 22:06:04 913 0 python教程

本文来源吾爱破解论坛

本帖最后由 GodStick 于 2019-7-22 19:28 编辑

从这一期就会有很多数学知识了,但是我换了一个图床,不知道会不会显示出来,如果显示不出来我再做替换吧。

例题

为了让大家更加直观的理解这个模型,我们引入一个例题,我们有一组波特兰市的城市住房的价格数据,我们要通过这些数据来找出一个函数,来预测任意面积下的房价,这就是一个简单的线性回归问题。

嗨学网
这里给出的数据是一组房子面积对应的房价

嗨学网
其中m代表训练集,x是输入,y是输出。我们用(x,y)来代表一个训练集,(x^i,y^i)代表第i行训练数据,比如x^2=2104.

嗨学网
我们训练的目的就是让我们假设一个函数h,使这个函数拟合我们的数据集。

代价函数

我们首先假设函数h(x)= θ0 + θ1x,其中θ0,θ1是这个模型需要变化的参数,我们主要就是训练这两个参数,让函数能达到我们预期的输入输出效果。

嗨学网
那么如何直观的表现出这个函数的拟合度呢,也就是这个函数的正确度,我们这里就引入了代价函数的概念。

嗨学网
代价函数就是我们函数的输出值和相对应的真实值的方差,我们归回的目的就让方差最小化。

梯度下降

既然我们的目的已经明确了,就是让代价函数最小化,我们怎么才能达到这个目的呢, 我们这里使用梯度下降的方法来达到这个目的,这个方法被广泛应用到机器学习领域之中。梯度下降原理很简单,就是不停的改变θ0,θ1的值,让代价函数得到最小值或者局部最小值。首先我们来看看梯度下降是如何工作的:

这是一个代价函数的图像,首先我们先初始赋值θ0,θ1,在上图的位置标注好了。然后从这个点出发,不断的找到下降的方向,一步一步的下降,直到走到无法继续下降位置。此时的θ0,θ1值就是代价函数的最小值或者是局部最小值。

嗨学网
那么怎么用数学公式来表达这个梯度下降的过程呢,其实很简单,只要用这个公式就行了:

嗨学网
这个就是传说中的梯度下降公式,其实原理很简单,就是让参数等于这个参数减去学习率乘于参数的偏导。但要注意的是两个参数的值要同时变化,这个:=号是赋值的意思,不是等于号!!!。如何理解这个公式呢?我们可以选择删去一个参数,只用一个参数来梯度下降,来看一下这个公式的工作原理:

嗨学网
首先假如我们初始赋值在图中位置,我们运用公式。这个偏导数就是这一点在函数中的斜率,我们用斜率来乘于学习率(待会我们再解释这个学习率),再用原θ1的值减去这个乘积,我们可以发现,其实就是向函数下降的方向走了一步,这个学习率就是我们走的一步的长度,学习率大,我们一步下降的就多,斜率大我们下降的也多,但是总的来看下降的步长还是看学习率,应为越是快到最小值,我们的斜率就越小,我们下降的就越慢,当到达最小值的时候,斜率就等于零,参数就停止移动了。我们可以看出图片上面给了当θ1大于或者小于最小值的情况下公式的运算情况,有兴趣的可以自己一步一步的计算试试看。

后记

通过我们得出的公式,你可以用完成一个完整的回归模型。接下来的笔记我会带大家学习,多个x输入情况下的回归建立。

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7524.html

搜索