机器学习之预测回归一:简单线性回归

本文介绍了机器学习中的线性回归,包括单变量、多变量和多项式回归,以及梯度下降和正规方程两种求解方法。通过Python代码展示了线性回归模型的训练与应用。
摘要由CSDN通过智能技术生成

机器学习之预测回归一:简单线性回归

回归的目的是预测数值型的目标值。

本文介绍单变量线性回归和多变量线性回归的算法原理,然后给出 Python 实战案例。关于回归进一步的问题(局部加权回归和惩罚线性回归)可以参考另一篇文章: 预测回归二:局部加权回归和惩罚线性回归

1、单变量线性回归

假设自变量 x 与因变量 y 之间是线性函数的关系,可以假设线性函数为:
在这里插入图片描述
回归系数为:
在这里插入图片描述
以平方误差计算代价函数:
在这里插入图片描述
其中,x,y 是输入数据(训练集),h 是y的预测值。此代价函数也被称为平方误差函数 ( square error function ),或平方误差代价函数 ( square error cost function )。误差平方对于大多数问题,尤其是回归问题都是合理的选择。平方误差函数是解决回归问题最常用的方式。

求解回问题转化为优化问题,优化目标是使代价函数(或称为损失函数)最小:
在这里插入图片描述
采用梯度下降算法求解优化问题。梯度下降背后的思想是:开始时我们随机选择一个参数的组合,计算代价
函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到
一个局部最小值( local minimum) , 因为我们并没有尝试完所有的参数组合,所以不能确定
我们得到的局部最小值是否便是全局最小值( global minimum),选择不同的初始参数组合,
可能会找到不同的局部最小值。下图是梯度下降的直观示意图:
在这里插入图片描述
参数的计算公式可以写为:
在这里插入图片描述
其中 α 是学习率( learning rate),是决定收敛速度的超参数。

求解上面的方程关键在于求偏导:
在这里插入图片描述
求导后得到;
在这里插入图片描述
以上公式就是梯度下降算法求单变量解线性回归的递归公式。

2、多变量线性回归

多变量线性回归的推导过程同单变量线性回归一样,最后得到梯度下降的递归公式:

在这里插入图片描述

3、多项式回归

可以通过变量变换转化为多变量线性回归。如:

在这里插入图片描述

4、正规方程

求解线性回归还有另一种方法,它可以在不需要多步梯度下降的情况下,也能解出代价函数 J 的最小值,这是另一种称为正规方程(normal equations)的方法。

设有 n 个特征,有 m 个样本。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

则可以直接通过正规方程计算参数:

在这里插入图片描述

推导过程:

在这里插入图片描述

5、Python 代码实现

测试数据集使用 ex0.txt,数据文件中第二列是自变量 x,第三列是因变量 y,而第一列全为1,故而前两列可以作为矩阵 X。

梯度下降算法

首先是导入所需的包:

from numpy import matrix, linalg
import numpy 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值