龙空技术网

二分类(Binary Classification)

羊驼也爱写代码 260

前言:

目前姐妹们对“二级分类建模是什么意思”大概比较重视,小伙伴们都需要剖析一些“二级分类建模是什么意思”的相关知识。那么小编也在网上收集了一些关于“二级分类建模是什么意思””的相关内容,希望大家能喜欢,姐妹们一起来学习一下吧!

1.介绍

我们已经了解了神经网络如何解决回归的问题。现在我们将把神经网络应用到另一个常见的机器学习问题:分类。主要区别在于我们使用的损失函数以及我们希望最后一层产生什么样的输出。

2.二分类

二分类是一个常见的机器学习问题。你可能想预测客户是否有可能购买,信用卡交易是否欺诈,深空信号是否显示有新行星的迹象,或者医学测试是否有疾病的证据。这些都是二分类问题。

在原始数据中,类可能由字符串表示,如“Yes”和“No”,或“Dog”和“Cat”。在使用这些数据之前,我们将分配一个类标签:一个类将是0,另一个类是1。分配的数字标签将以神经网络可以使用的形式放置数据。

3.准确性和交叉熵(Accuracy and Cross-Entropy)

准确性是衡量分类问题成功率的众多指标之一。准确性是正确预测与总预测的比率:准确性=number_correct/total。一个总是正确预测的模型的准确度分数为1.0。当各个分类在数据集中发生的频率几乎相等时,准确性是一个合理的度量。

准确性(以及大多数其他分类指标)的问题是,它不能用作损失函数。SGD需要一个平稳变化的损失函数,但准确度,作为计数的比率,在“跳跃”中发生变化。因此,我们必须选择一个替代物作为损失函数。这就是交叉熵函数。

损失函数定义了训练网络的目标。通过回归,我们的目标是尽量减少预期结果与预测结果之间的距离。我们选择了MAE来测量这个距离。

对于分类,我们想要的是概率之间的距离,这就是交叉熵所提供的。交叉熵是一种度量从一个概率分布到另一个概率分布距离的度量方法。

我们希望我们的网络以1.0的概率预测正确的分类。预测概率离1.0越远,交叉熵损失越大。而且使用交叉熵来进行分类损失,其他指标(如准确性)也会随之提高。

3.用Sigmoid函数求概率

交叉熵和准确性函数都要求概率作为输入,是0到1的数字。为了将稠密层产生的实值输出转化为概率,我们附加了一种新的激活函数,即Sigmoid函数

为了得到最终的预测,我们定义了一个阈值概率。通常为0.5,因此低于0.5表示标签为0的类别,高于0.5表示标签为1的类别。0.5阈值是Keras默认使用的精度度量。

4.例子

Ionosphere dataset包含从聚焦于地球大气层电离层的雷达信号中获得的特征。其任务是确定信号是否显示存在某种物体,或者仅仅是空气。

我们将定义我们的模型,就像我们为回归任务所做的一样,只有一个例外。在最后一层包括一个“sigmoid”激活,这样模型将产生概率。

在模型的编译方法中加入交叉熵损失和精度度量。Adam优化器对于分类也很有效,所以我们将继续使用它。

这个特定问题中的模型可能需要相当多的时间来完成训练,因此为了方便起见,我们将包含一个早停。

我们将一如既往地查看学习曲线,并检查验证集的损失和准确性的最佳值。

标签: #二级分类建模是什么意思