许多问题需要概率作为输出,逻辑回归是一种效率很高的概率计算机制。
虽然我在这里没有提及,但是各位对机器学习感兴趣的基本都会用到过mnist数据集。 在我们读取数据集的一般是这么写的
mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)
这里labels不再是一个值,而是独热码。
>>>print(mnist.train.labels)
array([[0., 0., 0., ..., 1., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 1., 0.]])
这时候我们就需要进行逻辑回归。
mnist = input_data.read_data_sets('MNIST_data/', one_hot=False)
则会返回固定值:
array([7, 3, 4, ..., 5, 6, 8], dtype=uint8)
大家可能发现了,逻辑回归与我们之前对经度和纬度进行的分箱有点类似,只不过这回变成判断数据落在哪个“箱”内而已。
文中给了我们一个例子,我们现在要创建一个逻辑回归模型来预测半夜狗叫的概率:
p(bark|night) <