今天学习了逻辑回归概念,本打算跟着视频手敲一遍代码加深一下印象发现手里没有数据集。白天去测试刚拿到的键盘映射小软件去了。。。之后由于昨晚熬了夜从下午直接睡到晚上,今天浪费了不少时间,在这里反省。下面进入正题。
之前学习的都是线性回归思想,线性回归与逻辑回归的区别很简单:
逻辑回归:给出的是“是”和“否”的回答。
线性回归:预测一个连续值。
在tensorflow里使用逻辑回归同样需要激活函数,逻辑回归的激活函数就是Sigmoid函数,该函数图示如下:
小于0为否,大于0为正,此函数是一个概率分布函数,输出为概率值。
我们在训练模型的时候需要对损失进行一个计算,昨天的线性回归中使用的损失计算方法是均方误差,逻辑回归中则不一样。
逻辑回归损失函数:
通常使用平方差计算损失,但这种方法在面对一些问题时得出的结果会非常小,不利于训练,因此对于某些问题(如分类问题)最好使用交叉熵损失函数,它会输出一个更大的“损失”。
交叉熵:刻画实际输出概率与期望输出概率的距离,交叉熵值越小,两个概率分布越接近。
两种损失情况的对比:
在keras中,计算交叉熵的函数方法为:binary_crossentropy
以上是学习到的一些概念性知识,但由于缺少数据集没有进行实战,获取数据集的途径已经找到了,明天如果能拿到数据集的话会手写代码加以练习。缺失的内容会在明天的日报里一并补上,毕竟过了0点再发博客就不算日报了(笑)。