逻辑回归可以解决分类问题,属于监督学习。
一、sigmoid函数
,其值范围为(0, 1),函数图形如下图所示:
sigmoid函数有以下的性质:
二、二分类
,可以把理解成某种对象,是对象的特征。
,在给定时,函数可以将映射到(0,1)之间,如果将视为正类,视为负类,则可以将sigmoid函数用于解决分类问题。
函数中,有一个参数,如果已知这个参数,那么该函数可以用于分类。但如果只有数据集,并已经数据集的分类标签,那么怎样得到参数呢?这就是训练问题了。
三、逻辑回归训练
和样本对应的分类标签,怎样从样本集中训练得到参数呢?
定义:
极大似然函数:,将其取对数后得到:
极大对数似然函数:
条件概率:
怎么理解上面的极大似然呢?考虑到分类的目的,最理想的结果是:分类器将样本集分成两类,一类包含全部的正类,一类包含全部的负类。但由于样本集存在噪声,这种理想结果是不可能达到的,在这种情况下,分类器的最优结果是:将更多的真实的正类样本标记为正类,将更多的真实的负类样本标记为负类。
所以在优化的过程中,采用梯度上升法,对进行优化,让到达极大值。
写成整体得:,代入对数似然函数得:
,关于的梯度:
的更新可写为:
为学习率。
,训练伪代码如下:
{
}
即迭代训练样本集中的每一个样本,对其进行一次二分类,将分类的误差更新到上,当迭代完成时,达到最优。
后,便可以将其运用于分类了。