机器学习第一道菜(一):线性回归的理论模型

机器学习第一道菜(一):线性回归的理论模型

前面讲了机器学习的"四大绝技",今天,开始研究第一绝技"回归",这篇文章就从最简单的线性回归开始讲起。

一、问题:千金买笑

1.1 散点图

以追女孩为例,假设送的礼物越贵,妹子对我们抱以微笑的时候就越多。也就是说,二者成线性关系:妹子的微笑次数是礼物金额的一次函数。

假设某君实际统计了一系列礼物金额与微笑次数的数据,并画出散点图:

现在交给你个任务,请回答:送6000元礼物能有多少次微笑回馈。

这个问题很简单,一眼就能看个差不离,大概四五十次的样子。

1.2 机器学习能搞啥

那能不能根据已有数据,找出一条最佳直线来表示礼物金额和微笑次数的函数关系呢?如果找到了这条线,不就可以预测出要花多少钱就能让妹子对我们笑一万次了吗?

这就是机器学习要做的事情:分析数据找规律。

只不过呢,机器学习可能会有点意见,认为解这道题有点大材小用。

咱们这样简化处理纯为方便理解,现实生活中可能有1000个影响因素,还拿妹子的微笑来说,真是你花钱就能买到的吗?可能你扶个老妹妹过马路,被妹子看到都会大方地给你个微笑。

二、模型的建立

2.1 线性回归

不管是简单版还是复杂版,类似这样的问题都属于机器学习的回归任务。回归就是要找到一条函数曲线,去近似模拟真实世界的规律。有关回归更详细的介绍参见:【深度解析】机器学习的"四大绝技"

这些已有的离散点越多,机器学习吃得越饱,模拟得也就越精确。找到了这条曲线,就可以用来预测未来下一个点会打在什么地方,或者某个条件下点会打在什么地方。

不过咱们要找的线不是什么复杂的曲线,而是一条直线,像这样的回归问题叫"线性回归"。

因为两点确定一条直线,显然,对于上面的散点图来说,不可能找到一条完美的直线,通过所有点。这很好理解,妹子的微笑不可能完全由一根直线决定,因此这些点是有噪声的。

我们要找的应该是类似下图的一条直线:

这个过程在数学中叫"拟合"。

2.2 回归模型

一次函数的表达式为y=kx+b,其中k是斜率、b是截距。

只要确定了斜率和截距,一次函数的图像形状也就确定了,因此我们要做的就求出k和b。

NO,NO,NO。

这里我们要来个画风突变。

在机器学习的世界里,我们要用统计学的风格来表达函数关系,将表达式写成下面的形式:
y = θ 0 + θ 1 x y=\theta_0 + \theta_1x y=θ0+θ1x
θ \theta θ读作"西塔(theta)",就是接下来我们要求的未知数(或者叫参数)。

为什么要搞个"西塔"出来,还要带下标呢?有两个原因:

(1)命名习惯。在统计学领域,常使用θ来表示未知数和推测值。

(2)队伍多了不好带。如果函数有很多项,那就会大量出现a、b、c、d...这样的符号,显得很混乱,就像一支军队个个都穿得花里胡哨的。此外,如果有1000项,集齐全世界的符号都不够用了,而用数字做下标就不存在问题了。所以,为了整齐划一、多带队伍,就得统一军装,并下发编号。

现在机器学习的理论模型就算搭建好了,接下来要做的就是不断地给机器喂x、y,让它求出 θ \theta θ的过程。

怎么计算呢?

计算机也不知道给多大的值合适,那就先随便给个随机值,比如设 θ 0 = 1 \theta_0=1 θ0=1、 θ 1 = 2 \theta_1=2 θ1=2,则表达式变为:
y = 1 + 2 x y=1 + 2x y=1+2x

然后开始喂数据,假设把x=2000代入表达式,则:
y = 1 + 2 x = 1 + 2 × 2000 = 4001 y=1 + 2x =1 + 2\times2000 =4001 y=1+2x=1+2×2000=4001

这差得也太远了吧,从图上看y的实际值也就应该20左右的样子。

计算值与实际值差别大,就说明刚才假设 θ 0 = 1 \theta_0=1 θ0=1、 θ 1 = 2 \theta_1=2 θ1=2是不正确的,这就需要调整 θ 0 \theta_0 θ0 、 θ 1 \theta_1 θ1的值,使计算值与实际值的差最小。

只使这一组数据的差值最小显然不行,应该使所有数据的差都尽量的小。

怎么办呢?聪明的你肯定能想到,那就对所有数据的差求和,只要这个和最小就可以了。

这就需要用到"最小二乘法",咱们以后再说。

:有关机器学习的其他文章
数据分析vs机器学习
离程序库越近,离真理越远
TensorFlow的简明介绍:机器学习界的谷大拿
机器学习与人工智能的关系
机器学习的爆发秘密
【深度解析】机器学习的"四大绝技"

相关推荐
ZTLJQ5 分钟前
基于机器学习的三国时期诸葛亮北伐失败因素量化分析
人工智能·算法·机器学习
赵钰老师37 分钟前
【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
人工智能·python·深度学习·机器学习·数据分析
nuise_1 小时前
李宏毅机器学习笔记06 | 鱼和熊掌可以兼得的机器学习 - 内容接宝可梦
人工智能·笔记·机器学习
databook2 小时前
线性模型与多分类问题:简单高效的力量
python·机器学习·scikit-learn
就决定是你啦!8 小时前
机器学习 第一章 绪论
人工智能·深度学习·机器学习
liruiqiang0511 小时前
循环神经网络 - 简单循环网络
人工智能·rnn·深度学习·神经网络·机器学习
智能汽车人13 小时前
自动驾驶---学术论文的常客:nuScenes数据集的使用
人工智能·机器学习·自动驾驶
小白的高手之路13 小时前
torch.nn.Conv2d介绍——Pytorch中的二维卷积层
人工智能·pytorch·python·深度学习·神经网络·机器学习·cnn
liruiqiang0514 小时前
循环神经网络 - 通用近似定理 & 图灵完备
人工智能·rnn·深度学习·神经网络·机器学习
Panesle14 小时前
广告推荐算法:COSMO算法与A9算法的对比
人工智能·算法·机器学习·推荐算法·广告推荐