机器学习 | 回归算法原理——多项式回归

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

目录

一、多项式回归概述

二、案例分析

[1. 设置问题](#1. 设置问题)

[2. 定义模型](#2. 定义模型)

[3. 多项式回归](#3. 多项式回归)


一、多项式回归概述

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


二、案例分析

1. 设置问题

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

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

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

2. 定义模型

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

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

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

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

3. 多项式回归

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

,再将 偏微分,求出更新表达式。 微分即 的部分应该和前一节里的求法是一样的,如下式。

所以我们只要求 的微分即可,如下式。

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

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

相关推荐
xier_ran9 分钟前
关键词解释:DAG 系统(Directed Acyclic Graph,有向无环图)
python·算法
CAU界编程小白19 分钟前
数据结构系列之十大排序算法
数据结构·c++·算法·排序算法
好学且牛逼的马42 分钟前
【Hot100 | 6 LeetCode 15. 三数之和】
算法
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——二分查找
算法·leetcode·面试·职场和发展·c/c++
lkbhua莱克瓦241 小时前
Java基础——常用算法4
java·数据结构·笔记·算法·github·排序算法·快速排序
云雾J视界1 小时前
AI驱动半导体良率提升:基于机器学习的晶圆缺陷分类系统搭建
人工智能·python·机器学习·智能制造·数据驱动·晶圆缺陷分类
m0_748248021 小时前
揭开 C++ vector 底层面纱:从三指针模型到手写完整实现
开发语言·c++·算法
七夜zippoe1 小时前
Ascend C流与任务管理实战:构建高效的异步计算管道
服务器·网络·算法
Greedy Alg2 小时前
LeetCode 208. 实现 Trie (前缀树)
算法
Kt&Rs2 小时前
11.5 LeetCode 题目汇总与解题思路
数据结构·算法·leetcode