写点什么

白话机器学习(2):产品经理都在用的线性回归模型

用户头像
杜吉普
关注
发布于: 2 小时前
白话机器学习(2):产品经理都在用的线性回归模型

本文适合人群:对机器学习 Machine Learning 与数据感兴趣的学习者

文章同步公众号:持续学习的杜吉普


本文白话什么:

一种预测模型:线性回归模型 Linear regression model


本文提纲:

  • 白话解释模型

  • 图形化解释模型及模型建立过程

  • 模型建立依据:最小二乘法

  • 评价模型表现:R 方,RMSE

  • 该模型商业应用场景


注:全文无编程,只含有少量计算,文章内容全部尽量通俗易懂化,请尽情享用。


白话解释:

什么是线形回归模型?


我们以二维数据来举例子,(二维变量是指每一个 record(个体记录)都被两个变量所描述)线性回归模型(Linear regression model)就是找到一条直线能够很好的去拟合(fitting)数据的特征(pattern),就像是上一张图片。数据就是红点点,模型就是那条直线。



图形化解释:


用一个例子来解释,如下图。我们的 record 就是小老鼠,现在我们假设我有一箱子的小老鼠,我们分别测量小老鼠的尺寸 size 以及小老鼠的重量 weight,并把他们分别投射(project)到坐标系上。那么每一个红点就代表着一个小老鼠,我们要找的就是一条能够很好拟合(Fitting)这些红点的直线,用直线来描述体重与尺寸之间的关系。



最小二乘法 Least Squares Method


如何拟合 fitting 这条直线?一定是有一个规则的,那就是用最小二乘法 Least Squares 去找到这条直线。


夺命连环问:

Q: 最小二乘法的原理是什么?

A: 其实就是找到一根 sum of squared residuals 最小的直线。


Q: Residual 是什么?

A: 就是数据点与直线的距离,也就是下图中的虚线,中文翻译应该叫残差。


Q: 如何计算 sum of squared residuals(SSR)?

A:将下图这些虚线的长度求一个平方和,也就是∑(R1^2 + R2^2 +……Rn^2)


无限的旋转这根直线,并计算 SSR,直到找到一根 SSR 最小的线。通过不停的尝试旋转,总能选到满意的。

 


我们来把上述思维转化成下面这张图片,我们可以看到,横坐标 x-axis 是不同的直线,y-axis 是 SSR,通过不停的尝试,我们是能够发现 SSR 的变化规律的,只需要找到最小 SSR 的直线即可,那么这条直线就是我们通过最小二乘法找到的最合适的回归线 regression line。


 

这条直线确定之后,我们自然而然就可以算出这条直线的方程式,也就是这条直线所展示不同变量之间的关系 relationship 了:就如下图所示,这条方程式就是小老鼠体重 weight 与尺寸的关系。这条线的作用也很明确,就是通过小老鼠的体重可以预测小老鼠的尺寸。

 


那么我们最终所得到的这条线下所包含的数学含义(也就是这个方程)也就是我们最终在这组数据下训练出的 linear regression model。

 

如何评价我们的模型表现?


我们如何向别人说明这个模型好不好,好的程度是多少?这需要一个衡量标准,那就是大名鼎鼎的 R 方。R Square。R 方越大,说明模型越好。

 

凭什么 R 方越大,模型越好?


其实按理说,我们是完全完全没必要纠结于此,R 方的数值大小反映了回归贡献的相对程度,所以贡献程度越多自然就会越好。他的计算方式是这个样子的:(计算部分可以选择直接跳过)



VAR(Mean)又如何计算呢?是下面这么计算的。



黑线代表着所有数据 Y(也就是 weight)的平均值 mean。所以 mean 就是平均值的大小。Data 就是 Y 本身的大小。N 就是数据的个数。

 

那么 Var(fit)又如何计算呢?如下图所见



其实就是每个数据点的 Y 真实值与预测值 Y-predict/Yhat 差的平方和除以数据的总数 n 得到的。最终将 Var(fit)与 Var(mean)一起放入最开始的式子中,R2 就得到了。

 

!!!警示:当自变量 X 增加后,R2 必然增加,所以当自变量数量不同时,不可用 R2 来对模型的表现进行对比。就好 120 公斤级的选手无论如何表现也要比 60 公斤级的选手表现要好。

 

RMSE:一种公平的模型评价标准


看完了警告那么问题来了,在选手公斤级不同的情况下,我们一般如何来做模型筛选,如何评价对比模型呢?这时,需要引入一个统一的尺度标准:准确率。

 

描述准确率的方法有很多,这里介绍一个在 Kaggle 比赛中评价预测模型的常用指标 RMSE 均方根误差 (Root-mean-square deviation)。如何计算,其实非常简单,就是下图:将预测值减去真实值,求平方除以 n,最后加起来求和。通过 RMSE 可以用来评判模型的准确度。



通过这个公式,我们也能很轻松算出来小老鼠例子中我们 linear regression model 中的 RMSE,我们可以将其与你训练出的其他模型的 RMSE 相比,来对比模型质量。可视化的计算方式如下图所示。



当然,评价模型的过程里面会有很多的细节问题,如何避免过拟合?如何做到 bias variance balance?模型评价问题我们会在讲完所有模型之后进行讲解。

 

那么聪明的小朋友就要问了,这个方法只能用在二维数据吗?当然不是,多变量数据依然是遵循最小二乘法原则来找到最合适的 linear regression model 的,只不过二维数据找到的一根线,三维数据就是一个面,至于四个变量的数据,就很难进行可视化了,但是依然可以利用这个方法找到自变量 X 们与因变量 Y 的关系式。

 

就像下图这样,如果我们引入第三个变量:Tail Length 尾巴长度,那么我们最终获得的就是在三维坐标系中的一个最佳平面,这个平面就是表现数据关系的载体。无论变量数多少,是否能可视化,我们最终目的是找到 X 与 Y 的关系。


 

模型商业应用场景

 

说了这么半天,linear regression model 的原理和评价方式我们都已经了解了。那么他有什么用呢?linear regression model 是最简单的预测模型,他被广泛的运用的产品运营中。通过产品的数据埋点(可以理解成在产品中安装用户数据采集器采集用户行为数据)获取用户行为数据,将数据行为数据与目标数据 Target value 进行建模,找到用户行为与目标数据的关系。通过这个关系来识别能够提升 Target value 表现的行为,并着重关注。


真绕!来个例子!



分析牙膏销售量与其他因素的关系,为定制牙膏市场策略提供数量依据。牙膏销量为 Y,明星代言费用为 X1,公司的广告投放费为 X2。通过模型建立,我们得到:



由此得到销售量与价格差与广告费之间的关系为 Y=4.4075+1.5883X1+0.5635X2

所以说明了什么?


就目前的市场数据来看,明星代言的费用似乎更能够影响市场销售表现。因为如果相同投入 100 万,投在明星代言上请更大牌的明星能够给公司带来的销量会提升 158 万支牙膏,而如果投入 100 万加大广告的投放数量(明星代言保持原样),那么带来的销量提高仅为 56 万支。所以通过数据我们会把公司的市场战略倾向于明星代言上,而非广告投放上。

 

这就是一个非常简单的 linear regression model 的商业应用,当然这只是一个非常粗制滥造的案例,但是很能够说明他的作用。在互联网公司,很多产品经理都会用这种方法来识别产品中应该提升的 features。


本文参考信息来源:

SateQuest:www.youtube.com/watch?v=nk2CQITm_eo

CSDN:blog.csdn.net/qq_16365849/article/details/50642970


---------------------


白话 ML 就到这里,下期预告:更高端的回归模型:Lasso regression 和 ridge regression


PS:有任何疑问欢迎留言,本文完全个人浅薄理解,如有不足欢迎评论区指正。


我是杜吉普,致力于 数据+数据技术+商业场景=商业价值

欢迎关注公众号持续学习的杜吉普,与我共同成长

发布于: 2 小时前阅读数: 3
用户头像

杜吉普

关注

数据智能场景落地与持续价值探索 2021.04.06 加入

知名技术咨询公司Data&AI业务线分析师、Kaggle Top5%、exIBM

评论

发布
暂无评论
白话机器学习(2):产品经理都在用的线性回归模型