咖哥让同学们思考一下自己的生活中有没有可以应用机器学习算法来解决的问题。小冰回家之后突然想起自己和朋友开的网店,这个店的基本情况是这样的:正式运营一年多,流量、订单数和销售额都显著增长。经过一段时间的观察,小冰发现网店商品的销量和广告推广的力度息息相关。她在微信公众号推广,也通过微博推广,还在一些其他网站上面投放广告。当然,投入推广的资金越多,则商品总销售额越多。
小冰问咖哥:“能不能通过机器学习算法,根据过去记录下来的广告投放金额和商品销售额,来预测在未来的某个节点,一个特定的广告投放金额对应能实现的商品销售额?”
咖哥说:“真是巧了,本课要讲的线性回归算法正适合对连续的数值进行预测。”咖哥说着,在白板上画起了图说:“你们看这个例子,假设你去年没有孩子,今年有一个孩子,根据这两个数据样本,通过线性回归预测,5年之后你就有5个孩子,10年之后就10个孩子……”
线性回归适合对连续的数值进行预测
小冰说:“咖哥,你这个模型不可靠吧。”
咖哥说:“哈哈,开个玩笑,这么少的数据量当然无法准确建模了。不过,线性回归是机器学习中一个非常基础,也十分重要的内容,本课要讲的内容不少,大家要集中精力、心无旁骛,才能跟上我讲解的思路。”
从本课开始,我们会完整地讲解一个算法,并应用于机器学习实战。课程内容将完全按照第1课中所介绍的机器学习实战架构来规划,具体如下图所示。
机器学习的实战架构
(1)明确定义所要解决的问题—网店销售额的预测。
(2)在数据的收集和预处理环节,分5个小节完成数据的预处理工作,分别如下。
■收集数据—需要小冰提供网店的相关记录。
■将收集到的数据可视化,显示出来看一看。
■做特征工程,使数据更容易被机器处理。
■拆分数据集为训练集和测试集。
■做特征缩放,把数据值压缩到比较小的区间。
(3)选择机器学习模型的环节,其中有3个主要内容。
■确定机器学习的算法—这里也就是线性回归算法。
■确定线性回归算法的假设函数。
■确定线性回归算法的损失函数。
(4)通过梯度下降训练机器,确定模型内部参数的过程。
(5)进行超参数调试和性能优化。
为了简化模型,上面的5个机器学习环节,将先用于实现单变量(仅有一个特征)的线性回归,在本课最后,还会扩展到多元线性回归。此处,先看看本课重点。
咖哥说:“小冰,下面就由你来定义一下你要解决的具体问题吧。”