机器学习 | 回归算法原理——最小二乘法

Hi,大家好,我是半亩花海。很早便想学习并总结一本很喜欢的机器学习图书------立石贤吾的**《白话机器学习的数学》,可谓通俗易懂,清晰形象。那就在此分享并作为学习笔记** 来记录我的学习过程吧!本章的回归算法原理基于**《基于广告费预测点击量》**项目,欢迎大家交流学习!

目录

一、最小二乘法概述

二、案例分析

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

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

[3. 最小二乘法](#3. 最小二乘法)


一、最小二乘法概述

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和)寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法同梯度下降类似,都是一种求解无约束最优化问题 的常用方法,并且也可以用于曲线拟合 ,来解决回归问题。


二、案例分析

下面根据《基于广告费预测点击量》这一项目展开最小二乘法的介绍和分析。

1. 设置问题

假设存在这样一个前提: 投入的广告费越多,广告的点击量就越高,进而带来访问数的增加。这样看这种假设类似于线性关系 ,但++实际上两者之间未必是简单的线性关系++。

根据广告费和实际点击量的对应关系数据,可以将两个变量用下面的图展示出来,如下图(图中的值是随便选的)。

我们看着这张图可以猜猜,如果花了200日元的广告费,广告的点击量会是多少呢?通过探索估计,大概在500次左右吧。

这就是机器学习。我们所做的事情正是从数据中进行学习,然后给出预测值。接下来我们就要使用机器学习,像我们刚才做的那样尝试进行++根据广告费预测点击量的任务++。

当然,实际要使用机器学习来解决的问题都会更复杂,很多问题无法像这样画出图来。现在我们为了加深理解才用了这样一个简单的例子,后面的例子会越来越难的。

2. 定义模型

那我们如何应用机器学习呢?就刚刚的例子,如下图所示,我们可以把图想象为函数。只要知道通过图中各点的函数的形式就能根据广告费得知点击量了。但是点击量经常变化,这叫作"点击量中含有噪声",所以函数并不能完美地通过所有的点。

这样看便是我们初中便学过的一次函数 ,考虑到后面的学习(为了防止当未知数增加时,表达式中大量出现 a、b、c、d...这样的符号),我们常常使用如下的**" + 数字下标"**的形式来表示未知数和推测值,进而定义一次函数的表达式。

比如,我们先任取两个数作为 ,假设 ,那么当广告费为 100 日元时,点击量的计算过程如下:

函数 y = 1 + 2x的部分点信息如下:

但实际上我们再看一下刚才的图会发现,如果广告费为 100 日元,那 么点击量应该大于 400。

这说明我们刚才确定的参数 完全不正确。 接下来我们就要使用机器学习来求出正确的 的值。

3. 最小二乘法

假设有 n 个训练数据, 那么它们的误差之和 可以用下面的表达式 表示。这个表达式称为目标函数 (其中, 的 E 是误差的英语单词 Error 的首字母)。(ps:计算误差一****般不用绝对值,而用平方。因为之后要对目标函数进行微分,比起绝对值,平方的微分更加简单。)

其中, 表达式为:

其次, 中的 i 不是 i 次幂 的意思,而是指第 i 个训练数据

再者,误差解释一下,如下图所示,图中的双向虚线箭头 表示训练数据的点和 图像的误差。

我们实际来计算一下表达式 的值吧。设 , 然后将刚才列举的 4 个训练数据代入表达式。求出来的误差有点大......

上述结果 112 176.5 这个值本身没有什么意义,我们要通过一些方法修改参数 ,如之后所学习的神经网络中的调参等方式,使得这个值变得越来越小 。这种做法称为最小二乘法

相关推荐
封步宇AIGC6 分钟前
量化交易系统开发-实时行情自动化交易-Okex K线数据
人工智能·python·机器学习·数据挖掘
封步宇AIGC8 分钟前
量化交易系统开发-实时行情自动化交易-Okex交易数据
人工智能·python·机器学习·数据挖掘
z千鑫10 分钟前
【人工智能】利用大语言模型(LLM)实现机器学习模型选择与实验的自动化
人工智能·gpt·机器学习·语言模型·自然语言处理·自动化·codemoss
波点兔13 分钟前
【部署glm4】属性找不到、参数错误问题解决(思路:修改模型包版本)
人工智能·python·机器学习·本地部署大模型·chatglm4
pianmian14 小时前
python数据结构基础(7)
数据结构·算法
Power20246666 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
好奇龙猫6 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
数据猎手小k6 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
sp_fyf_20247 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
香菜大丸7 小时前
链表的归并排序
数据结构·算法·链表