1. 什么是逻辑回归?
线性回归预测的是一个连续值,逻辑回归给出“是”与“否”的回答
2. 如何把连续分布的值映射成是与否的回答呢?
需要我们用到一个Sigmoid函数
x的取值范围为(-∞,+∞),y的取值范围为(0,1),sigmoid函数可以把任意的x值映射成从(0,1)的概率值,我们可以认为从(0,1)之间是一个概率值,例如0.5,就是概率为50%,如果是0.9,我们可以认为结果的概率为90%,可以回答是。
逻辑回归解决的是分类问题。
为什么我们使用sigmoid函数能够把它变成一个分类问题呢?
这涉及到机器学习的本质,现实的问题抽象化,抽象成人能够感知的简单地表示。
3. 逻辑回归损失函数
平方差所惩罚的是与损失为同一数量级的情形
对于分类问题,我们最好的使用交叉嫡损失函数会更有效
交叉嫡会输出一个更大的“损失”
交叉嫡刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉嫡的值越小,两个概率分布就越接近。
假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉嫡,则:
4 keras交叉熵
在keras里,我们使用 binary_crossentropy
来计算二元交叉熵
5 softmax分类
对数几率回归解决的是二分类的问题,
对于多个选项的问题,我们可以使用softmax函数它是对数几率回归在N个可能不同的值上的推广
神经网络的原始输出不是一个概率值,实质上只是输入的数值做了复杂的加权和与非线性处理之后的一个值而已,那么如何将这个输出变为概率分布?
这就是Softmax层的作用
- softmax要求每个样本必须属于某个类别,且所有可能的样本均被覆盖
- softmax个样本分量之和为1(例如预测一个人是来自哪里,有北京上海深圳三个选项,每个选项的可能性非别为30%,20%,50%,所有的可能性之和为100%,即为1)
- 当只有两个类别时,与对数几率回归完全相同
5.1 keras多分类问题函数
在keras里,对于多分类问题我们使用
categorical_crossentropy
和sparse_categorical_crossentropy
来计算softmax交叉嫡