一、逻辑回归(Logistic Regression)
在线性回归中,我们预测的是一个连续变化的值,而在某些时候,我们需要预测/判断一些离散值例如0或1来解决分类问题。逻辑回归就是一个用来完成上述分类问题的简单算法。
在线性回归中,我们试着用h(x)去估计y。这很明显对于估计离散值不是很合适。于是我们试着换一种方式来表达:
我们使用sigmoid函数:
来将连续值转换为离散值。
因此,我们可以将cost function写为:
并且使用梯度下降方法来优化:
下面是一些数学推导,从概率学的角度给出cost function的解释。
首先是对于线性回归:
我们都知道,线性回归可以表示为以下形式:
其中,y是输入x所对应的结果,而是当前输入对应的误差项,也可以称为对于未建模效应的捕获。
在此,我们可以假设这个误差项是服从均值为0,方差为的高斯分布的。那么有一个问题:为什么是高斯分布?由中心极限定理可知,在多个随机变量的作用下,事件的概率是趋向于高斯分布的。由此,我们可以得出:
于是有:
所以可以说,也就是在这样的条件下,也服从这样的一个高斯分布。
此时假设是独立同分布的,则有似然函数:
对其取log,则有:
要得到最大似然函数,只要将第二项最大化,也就是最小化下式:
由于方差是一个大于零的常量,所以就可以得到:
也就是线性回归的cost function。
对于逻辑回归:
假定得到的是一个零到一之间的值,可以将其视为一个概率值:
要想求得最大似然函数,就是求对应负值的最小,则使用梯度下降的cost function为: