8.1对逻辑回归进行组合
8.1.1顾客选购苹果预测

针对一个苹果,我们收集了以下特征,利用这些特征,我们希望预测用户购买并品尝这个苹果后是否满意。
特征 | 含义 |
---|---|
甜度 | 苹果的甜度 |
酸度 | 苹果的酸度 |
水分 | 苹果中的水分含量占比 |
果径 | 苹果的直径 |
果高 | 苹果的高度 |
果斑 | 苹果表面是否有果斑 |
产地 | 苹果产地 |
重量 | 苹果的重量 |
包装 | 包装类别:散装,箱装,精包装 |
售价 | 这个苹果的价格 |
另外,通过对大量顾客的跟踪访问,得到了测试样本的标签数据。
标签 | 含义 |
---|---|
是否满意 | 用户购买并品尝这个苹果后,是否满意。0不满意,1满意 |
根据之前我们学过的知识,我们可以直接利用特征,通过逻辑回归模型来建模预测用户是否对一个苹果满意。但是有经验的销售人员告诉我们,顾客对苹果的满意是取决于以下三个因素:
- 外观
- 口感
- 实惠
于是,我们又额外再采集受访用户对一个苹果在上边三个因素上的评价。并构造三个逻辑回归模型来判断一个苹果在这三个因素上是否优秀。
外观 决定外观的因素有:果径,果高,果斑,包装。利用这四个特征训练一个逻辑回归模型,输出为sigmoid的输出,取值范围为0-1,代表外观是否美观。
口感 决定口感的因素有:甜度,酸度,水分,产地。利用这四个特征训练一个逻辑回归模型。
实惠 决定是否实惠的因素有:产地,重量,包装,售价。利用这四个特征训练一个逻辑回归模型。
最终,我们根据外观,口感,实惠的三个逻辑回归的输出值,再构建一个逻辑回归模型,判断用户是否对这个苹果满意。最终的系统由以下4个逻辑回归模型构成。

8.1.2问题与改进
上边的顾客是否满意一个苹果的模型里,我们通过先验知识,抽象出来3个更高级的特征,那就是外观,口感和实惠。对于这3个高级特征,我们首先把它们作为要预测的目标,收集用户对这三个特性的评价label。然后选择原始feature,对这三个高级特征进行建模预测。最后利用这三个高级特征来预测我们的最终目标,是否满意。
这样做有三个问题:
- 需要先验知识来构造高级特征,并且对于高级特征需要人工筛选原始特征,这严重依赖于个人经验。
- 需要额外采集高级特征的Label进行训练,增加了数据采集的工作量。
- 必须先训练前三个抽象高级特征的模型,然后才能训练最后一个判断用户是否满意的模型。
对于上边的问题,我们可以做出如下的改进:
- 不人为抽象高级特征,让模型在训练过程中自己抽象高级特征。
- 将所有的原始特征接入到每个提取高级特征的逻辑回归模型,让模型学习使用哪些特征,模型可以通过训练将不重要的特征权重调整为0。
- 训练时,给模型只提供原始的特征,和最终顾客是否满意的label。虽然整个系统由多个逻辑回归构成,但训练时当做一个完整的模型。

8.1.3神经网络
经过上边的改进,我们就构造出了一个神经网络。它可以看做是由多个逻辑回归模型经过组合构成的。像上图中,我们只是设计了模型的架构,让模型在学习过程中,抽象出3个高级特征,具体这3个高级特征是什么?根据什么原始特征抽象?都是让模型自己去学习。然后根据抽象出的3个高级特征最后预测出顾客是否满意。我们提供的只有原始特征和最终顾客是否满意的label值,中间模型如何抽取高级特征对我们来说是黑盒。