TensorFlow之回归模型-1

时间:2022-12-20 16:59:48

1 基本概念

回归模型

一个回归模型会生成一个数值类型的预测结果,而一个分类模型会生成一个分类类型的预测结果,例如,如下列举一些回归模型:

  • 一个模型预测一个商品房的价格走向,例如,某个时间点的总体市场价

  • 一个模型预测一棵树的生命生长周期

  • 一个模型预测一个城市在未来几小时内的总体降雨量

回归模型分为两种常用的类型,包括线性回归模型以及逻辑回归模型,其简要描述如下所示:

  • 线性回归,在二维坐标中发现最好的直线,该直线以最小的误差描述这些坐标的分布,则位于直线中的值是用于预测的值

  • 非线性回归,生成一个在区间0与1之间的可能性的值,该值用于映射某一个类别的预测值

并不是每个输出数值的预测结果的模型都是回归模型,在一些模型中,输出数值的预测结果的模型只是一个分类模型,该分类模型的类别名称恰好是数值,例如,邮政编码的预测是分类模型而不是回归模型。

线性

从数学的角度看,线性是指二元关系或者多元关系中的元素之间是以相加或者相乘的方式发生关系,在二维坐标中显示的图形是直线。

线性模型

线性模型为每个特征赋予一个权重用于预测,线性模型也包含一个偏差,相对而言,在深度模型中对特征关系的预测是属于非线性模型。

线性模型比非线性模型更加容易训练以及更加容易相互协作,但是,非线性模型能在复杂的特征关系中进行机器学习。

线性回归以及逻辑回归是两种线性模型。

一个线性模型的代数公式如下所示:

TensorFlow之回归模型-1

如上所示,该线性模型的参数说明如下所示:

  • y`是可预测值

  • b是偏差值

  • x1是第一个特征值,x2是第二个特征值,依次类推

  • w1是第一个特征值x1的权重,w2是第二个特征值x2的权重,依次类推

例如,一个具备三个特征的线性模型学习如下所示的权重与偏差:

TensorFlow之回归模型-1

构建该三个特征的线性模型用于预测如下所示:

TensorFlow之回归模型-1

假设存在如下所示的三个特征值的数据样本:

TensorFlow之回归模型-1

使用以上构建的模型以及特征数据样本输入到线性模型中作预测,如下所示:

TensorFlow之回归模型-1

如上所示,该线性模型的预测值y`等于16。

线性模型并不限于只使用一个线性公式进行预测,例如,逻辑回归模型中使用多个线性模型,每个线性模型只作为其中的一个组件进行预测,最终的输出是0到1范围的值。

非线性模型

非线性模型中多个变量之间的关系不能只通过相加或者相乘的方式表示,线性模型在二维坐标中使用直线表示,而非线性模型在二维坐标中不能使用直线表示,如下所示,假设,x坐标表示特征,y坐标表示标签,则左边的图形是线性模型,右边的图形是非线性模型:

TensorFlow之回归模型-1

线性回归

用于机器学习的模型,其具备的特性描述如下所示:

  • 线性模型

  • 预测一个浮点类型的值

逻辑回归

用于机器学习的模型,预测一个可能性,其具备的特性描述如下所示:

  • 标签是分类的,逻辑回归通常是指二元逻辑回归,也就是,为只有两种可能值的标签计算预测其可能性,而多元逻辑回归是指多项式的逻辑回归,为多于两种可能值的标签计算预测其可能性,多元逻辑回归模型在机器学习中很少被使用

  • 其使用的损失函数是Log Loss

  • 逻辑回归模型是线性架构而不是深度神经网络架构,但是,逻辑回归模型也是作为深度神经网络中的一个组件,用于预测分类标签的可能性

例如,逻辑回归模型用于预测一个电子邮件是垃圾邮件或者是非垃圾邮件的可能性(分两个类目),在模型推理的过程中,其预测的可能性是0.72,则该模型的评估是:

  • 72%的可能性是垃圾邮件

  • 28%的可能性是非垃圾邮件

逻辑回归模型使用如下两个步骤的架构:

模型使用线性函数对输入的特征值生成一个合法的预测作为输出值

模型使用激活函数sigmoid对第一个步骤输出的预测值生成一个收敛于0到1之间的值

综上所述,回归模型预测一个数值,则该预测的数值在二元分类模型中的描述如下所示:

  • 如果模型预测的值大于分类模型设置的分类临界值(临界值可调整),该预测值是属于正面类别

  • 如果模型预测的值小于分类模型设置的分类临界值,该预测值是属于负面类别

Log Loss(损失函数)

用于逻辑回归模型中评估与控制模型预测的准确度,损失值小,则准确度高,其计算公式如下所示:

TensorFlow之回归模型-1

  • 二元组(x,y)是数据样本,其中,x是特征,y是标签

  • 每个y值是在0到1之间

  • 每个y’是预测值,其范围在0到1之间

分类临界值

范围在0到1之间的数值,在二元分类中用于将逻辑回归模型的输出转换成正面分类或者负面分类,该分类临界值是由用户手动设置指定,而不是由机器学习训练自动设置指定。其描述如下所示:

  • 逻辑回归预测值大于分类临界值,属于正面分类

  • 逻辑回归预测值小于分类临界值,属于负面分类

例如,分类临界值设置指定是0.8,如果回归模型对某个特征的预测值是0.9,则该特征属于正面分类。

在机器学习的过程中,随着模型与数据集的演进,工程师或者用户可以改变分类临界值,因而,随着临界值的变化,预测值是正面分类的可能变化成负面分类。

例如,一个二元分类的预测模型中,第一年的分类临界值是0.93,其预测值是0.96,则该预测值是正面分类,第二年的分类临界值由工程师或者用户调整为0.97,则预测值是0.96的是负面分类。

2 效率预测

回归问题是预测一个持续的值,主要是用于解决不确定性的问题,例如,一个商品在未来可能的价格或者一件事情在未来发生的可能性。而分类问题是预测多个分类中的所属分类,主要是用于解决确定性的问题,例如,一幅画中包括多种成熟度不同的水果,预测图中那种水果是成熟的(分为成熟或者不成熟两种类别)。

(未完待续)