python 导数斜率_Python机器学习课程:python线性回归算法。大师兄带你从python基础开始学习。...

9ea2c0aa93a8de94113e217b70b9a33d.png

> Photo by Jeremy Bishop on Unsplash

学习线性回归的概念并从头开始在python中开发完整的线性回归算法

机器学习的最基本算法必须是具有单个变量的线性回归算法。如今,可用的高级机器学习算法,库和技术如此之多,以至于线性回归似乎不是那么重要。但是,学习基础知识总是一个好主意。这样,您能更好的清楚地理解这些概念。在本文中,我将逐步解释线性回归算法。

想法和公式

线性回归使用非常基本的预测思想。公式如下:

Y = C + BX

我们在学校都学过这个公式。提醒您,这是一条直线方程。在此,Y是因变量,B是斜率,C是截距。通常,对于线性回归,它写为:

416505f3c39f1a33aa0c2f6cb3d9e1a8.png

在这里," h"是假设或预测的因变量,X是输入特征,theta0和theta1是系数。Theta值从头开始随机初始化。然后使用梯度下降,我们将更新theta值以最小化成本函数。这是成本函数和梯度下降的解释。

成本函数和梯度下降

成本函数确定预测与原始因变量的距离。这是公式

874dd8218eec85a24a77641d374030af.png

任何机器学习算法的想法都是最小化成本函数,使其假设接近于原始因变量。为此,theta值需要我们来进行优化。如果我们分别基于theta0和theta1取成本函数的偏导数,则会得到梯度下降。要更新theta值,我们需要从相应的theta值中减去梯度下降:

0bab00df9ffef7c05cd370eac377658a.png

经过偏导数后,以上公式将变为:

5dedf3001276547f062275768fb64677.png

此处,m是训练数据的数量,而alpha是学习率。我正在谈论一种变量线性回归。这就是为什么我只有两个theta值的原因。如果有很多变量,则每个变量都会有theta值。

工作实例

我将要使用的数据集来自安德鲁·伍(Andrew Ng)的Coursera机器学习课程。这是在Python中逐步实现线性回归的过程。

1· 导入包和数据集。

bbf460d90626b4019516b4823d7960b5.png

在此数据集中,列零是输入要素,列1是输出变量或因变量。我们将使用列0使用上面的直线公式预测列1。

2.将第1列与第0列相对应。

a0329a694653fdd6be50ddc93461466e.png

输入变量和输出变量之间的关系是线性的。当关系成线性时,线性的回归效果是最佳的。

3.初始化theta值。我正在将theta值初始化为零。但是任何其他值也应该起作用。

4.根据前面讨论的公式定义假设和成本函数。

5.把计算出来的训练数据的数量来作为DataFrame的长度。再去定义梯度下降函数。在此函数中,我们将更新theta值,直到让cost函数变到最小值为止。可能需要任何数量的迭代。在每次迭代中,它将更新theta值,并使用每个更新的theta值来计算成本为此来跟踪成本。

6.最后,定义预测函数。它将从梯度下降函数获得来更新的theta并且预测假设或预测的输出变量。

7.使用预测函数,找到假设,成本和更新的theta值。我选择学习率为0.01,然后将这个算法运行2000个时期或迭代。

最终theta值为-3.79和1.18。

8.在同一图中绘制原始y和假设或预测y。

aefdded6bb42dfe9b77c4a92443d4058.png

假设图是公式中所预期的一条直线,并且该直线正在最佳位置通过。

9.记住,我们在每次迭代中都跟踪成本函数。让我们绘制成本函数。

657bc7806698be0eccbd18331e5b8030.png

如前所述,我们的目的是优化theta值以最小化成本。从该图可以看出,成本从一开始就急剧下降,然后稳定下来。这意味着theta值已按照我们的预期正确优化。

下面还有还有一个小编创的学习交流群,有兴趣的小伙伴可以加一下。

正在跳转​jq.qq.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值