机器学习 | 回归算法原理——多项式回归
创始人
2024-12-17 03:05:02
0

Hi,大家好,我是半亩花海。接着上次的最速下降法(梯度下降法)继续更新《白话机器学习的数学》这本书的学习笔记,在此分享多项式回归这一回归算法原理。本章的回归算法原理基于《基于广告费预测点击量》项目,欢迎大家交流学习!

目录

一、多项式回归概述

二、案例分析

1. 设置问题

2. 定义模型

3. 多项式回归


一、多项式回归概述

多项式回归是一种基于多项式函数的回归分析方法,用于拟合数据中的非线性关系。与简单的线性回归不同,多项式回归通过引入多项式项来建模数据的非线性特征,从而提高了模型的灵活性和适用性。


二、案例分析

1. 设置问题

还记得前两节我们定义的用于预测的一次函数吗?

f_\theta(x)=\theta_0+\theta_1 x

因为是一次函数,所以它的图像是直线。

不过,对于一开始我在图中添加的数据点来说,直线一定是最好的拟合方式吗?曲线拟合的效果会更好吗?

2. 定义模型

通过清晰直观地观察下图,并经过探索我们会发现,其实曲线相对来说会比直线拟合得更好

如此看来,曲线似乎看起来更拟合数据。在此,我们可以把 f_\theta(x) 定义为二次函数,便能用它来表示这条曲线,如下所示:

f_\theta(x)=\theta_0+\theta_1 x+\theta_2 x^2

再或者,用更大次数的表达式也可以。这样就能表示更复杂的曲线了,如下所示:

f_\theta(x)=\theta_0+\theta_1 x+\theta_2 x^2+\theta_3 x^3+\cdots+\theta_n x^n

在找出最合适的表达式之前,需要不断地去尝试。当然这里有个误区,并不是说函数次数越大,拟合得就越好,难免也会出现过拟合的问题(在深度学习中会接触到)。

3. 多项式回归

回到我们定义的二次函数中,我们增加了 \theta _2 这个参数,接下来得需要推导出 \theta _2 更新表达式,和上一节《机器学习 | 回归算法原理——最速下降法(梯度下降法)-CSDN博客》里面的原理一样,用目标函数对 \theta _2 进行偏微分便就能求出来。

u=E(\theta)v=f_\theta(x),再将 u\theta _2 偏微分,求出更新表达式。 uv 微分即 \frac{\partial u}{\partial v} 的部分应该和前一节里的求法是一样的,如下式。

\begin{aligned} \frac{\partial u}{\partial v} & =\frac{\partial}{\partial v}\left(\frac{1}{2} \sum_{i=1}^n\left(y^{(i)}-v\right)^2\right) \\ & =\frac{1}{2} \sum_{i=1}^n\left(\frac{\partial}{\partial v}\left(y^{(i)}-v\right)^2\right) \\ & =\frac{1}{2} \sum_{i=1}^n\left(\frac{\partial}{\partial v}\left(y^{(i)^2}-2 y^{(i)} v+v^2\right)\right) \\ & =\frac{1}{2} \sum_{i=1}^n\left(-2 y^{(i)}+2 v\right) \\ & =\sum_{i=1}^n\left(v-y^{(i)}\right) \end{aligned}

所以我们只要求 v 对 \theta _2 的微分即可,如下式。

\begin{aligned} \frac{\partial v}{\partial \theta_2} & =\frac{\partial}{\partial \theta_2}\left(\theta_0+\theta_1 x+\theta_2 x^2\right) \\ & =x^2 \end{aligned}

得出最终的参数更新表达式如下所示:

\begin{aligned} & \theta_0:=\theta_0-\eta \sum_{i=1}^n\left(f_\theta\left(x^{(i)}\right)-y^{(i)}\right) \\ & \theta_1:=\theta_1-\eta \sum_{i=1}^n\left(f_\theta\left(x^{(i)}\right)-y^{(i)}\right) x^{(i)} \\ & \theta_2:=\theta_2-\eta \sum_{i=1}^n\left(f_\theta\left(x^{(i)}\right)-y^{(i)}\right) x^{(i)^2} \end{aligned}

那么即使增加参数,比如有 \theta _3\theta _4 等,我们依然可以用同样的的方法求出它们的更新表达式。像这样增加函数中多项式的次数,然后再使用函数的分析方法(偏微分)被称为多项式回归

相关内容

热门资讯

透视玄学!wepoker底牌透... 透视玄学!wepoker底牌透视脚本http,德普之星辅助功能如何打开,普及教程(有挂详情)1、德普...
wpk提高胜率!德扑ai智能(... 1、wpk提高胜率!德扑ai智能(透视)一直有挂(详细辅助今日科普)2、进入游戏-大厅左侧-新手福利...
透视了解!wepoker透视脚... 1、透视了解!wepoker透视脚本免费,德普之星透视辅助插件,分享个大家(有挂方法);详细教程。2...
wpk辅助工具!淘宝买wepo... wpk辅助工具!淘宝买wepoker透视有用吗(透视)本来真的有挂(攻略教程);1、淘宝买wepok...
德州免费辅助神器app!aap... 德州免费辅助神器app!aapoker辅助工具存在(透视)原来有挂(详细辅助我来教大家);一、德州免...
透视好牌!hhpoker辅助器... 透视好牌!hhpoker辅助器,wepoker透视版下载,靠谱教程(有挂脚本);wepoker透视版...
透视科技!德普之星辅助器,德普... 透视科技!德普之星辅助器,德普之星辅助器,玩家攻略(有挂介绍)1、任何德州ai辅助神器的玩家都可以机...
aapoker辅助挂!wepo... aapoker辅助挂!wepoker有透视底牌吗(透视)总是真的是有挂(AI教程)亲,关键说明,we...
德州ai辅助有用!WePoKe... 德州ai辅助有用!WePoKe透视挂(透视)原先真的是有挂(详细辅助玩家必知教程)1、金币登录送、破...
透视代打!红龙poker作弊指... 透视代打!红龙poker作弊指令,德普之星辅助正版,攻略教程(有挂细节)1、进入游戏-大厅左侧-新手...