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

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

目录

一、多重回归概述

二、案例分析

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

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

[3. 多重回归](#3. 多重回归)


一、多重回归概述

多重线性回归模型即描述一个因变量 如何随多个自变量 的改变而改变。假定对 例观察对象逐一测定了因变量 个自变量 的数值,多重线性回归模型的一般形式为:

式中, 为常数项,又称截距。 称为偏回归系数,或简称回归系数。 则是去除 个自变量对 的影响后的随机误差,即残差。


二、案例分析

1. 设置问题

之前我们是根据广告费来预测点击量的,但实际中要解决的很多问题是变量超过2个 的复杂问题。对于上一节的"多项式回归"问题,里面确实会涉及不同次数的项,但是使用的因变量依然只有广告费一项。比如,决定点击量的除了广告费之外,还有++广告的展示位置++ 和++广告版面的大小++等多个要素。

2. 定义模型

为了让问题尽可能地简单,这次我们只考虑广告版面的大小 ,设 广告费为 、广告栏的宽为 、广告栏的高为 ,那么 可以表示如下:

接下来,思路和之前相同,分别求目标函数对 , · · · , 偏微分 ,然后更新参数 即可。但在实际去求偏微分之前,我们可以先试着简化表达式的写法。

刚才我们说有 共 3 个变量,下面我们把它推广到有 个变量的情况。这时候 会变成什么样子呢?

不过每次都像这样写 会比较麻烦,所以我们还可以把参数 和变量 看作向量

为了确保参数 和变量 的维度相同,我们可以在变量 的向量一开始加上1,如此会显得更自然。

的下标是从 0 开始的,为了与其相配合,设 ,让 的第一个元素为 会更加整齐。

转置后计算它与 相乘的结果,即计算 (运用线性代数 的知识将二者相应的元素相乘,然后全部加起来),结果如下,最终发现和上述的 的表达式结果一致。

换句话说,之前用多项式表示的 ,可以像下面 这样用向量来表示。虽然我们说的是向量,但实际在编程时只需用普通的一维数组就可以了。

3. 多重回归

接下来我们就使用 来求参数更新表达式吧,方法与之前一样:

的部分是一样的。为了一般化,我们可以考虑对第 个元素 偏微分的表达式,如下所示。

微分的部分是一样的,详情移步上一节《机器学习 | 回归算法原理------最速下降法(梯度下降法)-CSDN博客》,即对 这一部分的微分,所以接下来只需要求 的微分即可。

那么第 个参数的更新表达式如下:

我们之前还给每个 都写了更新表达式,现在它们可以汇总为一个表达式,像这样++包含了多个变量++ 的回归称为多重回归。如此看来,可以基于一般化的思路来思考问题正是数学的优点。

相关推荐
AI小云1 小时前
【机器学习与实战】回归分析与预测:线性回归-03-损失函数与梯度下降
机器学习
Fanxt_Ja1 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下1 小时前
最终的信号类
开发语言·c++·算法
茉莉玫瑰花茶1 小时前
算法 --- 字符串
算法
博笙困了1 小时前
AcWing学习——差分
c++·算法
NAGNIP1 小时前
认识 Unsloth 框架:大模型高效微调的利器
算法
NAGNIP1 小时前
大模型微调框架之LLaMA Factory
算法
echoarts1 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Python技术极客1 小时前
一款超好用的 Python 交互式可视化工具,强烈推荐~
算法
徐小夕1 小时前
花了一天时间,开源了一套精美且支持复杂操作的表格编辑器tablejs
前端·算法·github