为什么不能直接用回归的方式来做分类的问题,因为在回归里面,可能同一类里面的样本点他们的feature差异很大,但是lable都是1,这就要求求出来的model兼顾所有的样本点,那么可能导致model性能较差。下图表现的非常清晰。
在做分类的时候,用到贝叶斯公式,可是公式中的P(x|C1)应该怎么算呢?因为面对一个新的x的时候训练数据里没有。这个时候我们把训练数据假设是一个高斯分布得到的,所以找出最优(最大可能性)的高斯分布,再去计算新的x产生的概率。有趣的是,这里用到的并不是真正意义上的“概率”,而是“概率密度”,我们可以认为两者是等价的,没有问题。
可以发现基于高斯假设和相同协方差假设的贝叶斯模型其实跟逻辑回归是同一个模型。
如果直接求逻辑回归的参数,可以发现跟线性回归本质上是一样的,梯度下降的公式都是完全一样的。但是为什么loss函数是用交叉熵而不是均方差公式呢,理论上也可以,但是那样做的话在离最优解比较远的地方也可能会梯度非常小,模型无法判断距离最优解的远近,所以一般很难取得较好的表现。
逻辑回归被称为discriminative model而贝叶斯被称为generative model,通常前者表现更好,因为后者的一些假设常常是不对的。如果数据量比较少,可能后者更好。
逻辑回归做不到异或,非要做的话可以做一个feature transformation,但是这并不容易做。把多个逻辑回归接在一起,就可以处理了,这样也就形成了深度神经网络。