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

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

目录

一、多重回归概述

二、案例分析

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

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

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


一、多重回归概述

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

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


二、案例分析

1. 设置问题

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

2. 定义模型

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

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

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

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

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

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

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

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

3. 多重回归

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

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

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

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

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

相关推荐
水蓝烟雨18 小时前
2359. 找到离给定两个节点最近的节点
算法·leetcode
Matrix_1118 小时前
第3篇:色彩空间原理与转换——从RGB到HSI、HSV、LAB
图像处理·人工智能·机器学习
澈20718 小时前
哈希表:O(1)查找的终极指南
算法·哈希算法·散列表
幻奏岚音18 小时前
AI模型用户画像分析_new
人工智能·算法·计算机视觉·数据挖掘
阿Y加油吧18 小时前
二刷 LeetCode:爬楼梯与杨辉三角,Java 实现复盘
java·算法·leetcode
落羽的落羽18 小时前
【项目】C++从零实现JsonRpc框架——项目引入
linux·服务器·开发语言·c++·人工智能·算法·机器学习
凌波粒18 小时前
LeetCode--101. 对称二叉树(二叉树)
算法·leetcode·职场和发展
不知名的忻18 小时前
堆排序(Java)
java·数据结构·算法·排序算法
_深海凉_19 小时前
LeetCode热题100-二叉树的最大深度
算法·leetcode·职场和发展
智者知已应修善业19 小时前
【51单片机独立按键和定时器中断的疑惑验证】2023-11-2
c++·经验分享·笔记·算法·51单片机