参与:Jane W、邵明、微胖 本文是日本东京 TensorFlow 聚会联合组织者 Hin Khor 所写的 TensorFlow 系列介绍文章的Part 3 和 Part4,自称给出了关于 TensorFlow 的 gentlest 的介绍。,作者谈到单一特征问题的线性回归问题以及训练(training)的含义,atv直播,这两部分将讲解 TensorFlow(TF)进行多个特征的线性回归和逻辑回归。 矩阵和多特征线性回归 快速回顾 之前文章的前提是:给定特征——任何房屋面积(sqm),我们需要预测结果,也就是对应房价($)。为了做到这一点,我们: 我们找到一条「最拟合」所有数据点的直线(线性回归)。「最拟合」是当线性回归线确保实际数据点(灰色点)和预测值(内插在直线上的灰色点)之间的差异最小,即最小化多个蓝线之和。 使用这条直线,我们可以预测任何房屋的价格。 使用单一特征线性回归进行预测 多特征线性回归概述 实际上,任何预测都依赖于多个特征,于是我们从单特征的线性回归进阶到 带有两个特征的线性回归;之所以选择两个特征,是为了让可视化和理解简明些,但这个思想可以推广到带有任何数量特征的线性回归。 我们引进一个新的特征——房间数量。当收集数据点时,现在我们需要在现有特征「房屋面积」之上收集新特征「房间数」的值,以及相应的结果「房屋价格」。 我们的图表变成了 3 维的。
结果「房屋价格」以及 2 个特征(「房间数」,「房屋面积」)的数据点空间 然后,我们的目标变成:给定「房间数」和「房屋面积」,预测「房屋价格」(见下图)。
由于缺少数据点,有时无法对给定的 2 个特征进行预测 在单一特征的情形中,当没有数据点时,我们需要使用线性回归来创建一条直线,以帮助我们预测结果房屋价格。在 2 个特征的情形中,我们也可以使用线性回归,但是需要创建一个平面(而不是直线),以帮助我们预测(见下图)。
使用线性回归在 2 个特征空间中的创建一个平面来做预测 多特征线性回归模型 回忆单一特征的线性回归(见下图左边),线性回归模型结果为 y,权重为 W,房屋大面积为 x,偏差为 b。 对于 2 个特征的回归(参见下图右侧),我们引入另一个权重 W2,另一个自变量 x2 来代表房间数的特征值。
单特征 vs. 2 个特征的线性回归方程 如之前讨论的那样,当我们执行线性回归时,梯度下降算法能帮助学习系数 W、W2 和 b 的值。 Tensorflow 的多特征线性回归 1.快速回顾 单特征线性回归的 TF 代码由 3 部分组成(见下图): 构建模型(蓝色部分) 基于模型构建成本函数(红色部分) 使用梯度下降(绿色部分)最小化成本函数 用于单特征线性回归的 Tensorflow 代码 2.Tensorflow 的 2 个特征的线性回归 TF 代码中 2 个特征的线性回归方程(如上所述)的变化(相比单特征)用红色显示。
注意,增加新特征的这种方式效率低;随着特征数量的增长,所需的变量系数和自变量的数量会增加。实际的模型有更多的特征,这恶化了这个问题。那么,如何能有效地表示特征呢? 解决方法:矩阵 首先,让我们将表征两个特征的模型推广到表征 n 个特征的模型:
复杂的 n 特征公式可以用矩阵简化,矩阵被内置于 TF 中,这是因为: (责任编辑:本港台直播) |