【机器学习】梯度下降法求解线性回归参数 您所在的位置:网站首页 数学梯度怎么算 【机器学习】梯度下降法求解线性回归参数

【机器学习】梯度下降法求解线性回归参数

2023-06-21 04:13| 来源: 网络整理| 查看: 265

【机器学习】梯度下降法求解线性回归参数 原创

chaoql 2023-06-20 09:53:26 博主文章分类:数据科学 ©著作权

文章标签 损失函数 迭代 数组 文章分类 HarmonyOS 后端开发

©著作权归作者所有:来自51CTO博客作者chaoql的原创作品,请联系作者获取转载授权,否则将追究法律责任

对于一元线性函数:【机器学习】梯度下降法求解线性回归参数_数组

定义其平方损失函数为:【机器学习】梯度下降法求解线性回归参数_数组_02

接下来,求平方损失函数 1 阶偏导数:【机器学习】梯度下降法求解线性回归参数_损失函数_03

【机器学习】梯度下降法求解线性回归参数_数组_04 当使用最小二乘法时,我们令 【机器学习】梯度下降法求解线性回归参数_数组_05 以及 【机器学习】梯度下降法求解线性回归参数_数组_06,但是梯度下降法求解参数:【机器学习】梯度下降法求解线性回归参数_数组_07

【机器学习】梯度下降法求解线性回归参数_迭代_08

其中lr为学习率。

python实现:

def ols_gradient_descent(x, y, lr, num_iter): """ 参数: x -- 自变量数组 y -- 因变量数组 lr -- 学习率 num_iter -- 迭代次数 返回: w1 -- 线性方程系数 w0 -- 线性方程截距项 """ w1=0#随机值 w0=0 for i in range(num_iter):#迭代 y_=w0+w1*x w1 -= lr*(-2*sum(x*(y-y_))) w0 -= lr*(-2*sum(y-y_)) return w1, w0

运行测试:

w1_, w0_ = ols_gradient_descent(x, y, lr=0.00001, num_iter=100) round(w1_,3), round(w0_,3)

输出:(1.264, 0.038)

即为:【机器学习】梯度下降法求解线性回归参数_迭代_09 线性回归方法之所以使用普通最小二乘法来求解,是因为我们可以很方便地求出损失函数的最小值。但是,机器学习中的很多问题,往往会面对非常复杂的损失函数,这些损失函数一般无法直接求得最小值,只能使用迭代方法来求取局部或全局极小值。这也就是我们学习梯度下降等迭代方法的原因。

收藏 评论 分享 举报

上一篇:【Hadoop】YARN简述

下一篇:【机器学习】回归方法综合应用练习



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有