logistic regression 用来解决分类问题。其核心思想是寻找一个非线性函数sigmoid的最佳拟合参数,求解过程可以由最优化算法来完成。算法的输出是0到1之间的值,这个值是真实的概率吗?带着这个问题,我们来一探究竟。
logistic regression 可以概述为这样的过程:
1.寻找合适的hypothesis函数,即我们要找的分类函数,一般表示为h函数,它用来预测输入数据的判断结果。这一过程非常关键,需要对数据有初步了解或分析,猜测假设函数的“大概”形式,比如是线性函数还是非线性函数。
2.构造经验损失函数,该函数表示预测的输出h与训练数据的类别标签y之间的偏差,可以是二者之间的差(h-y)或其它形式。综合考虑所有训练数据的“损失”,将偏差求和或者求平均,记为J(θ)函数,表示所有训练数据预测值与实际类别的偏差。
3.找到J(θ)函数的最小值。显然,J(θ)函数的值越小表示h函数的预测值越准确。logistic regression中常用梯度下降法找其最小值。
1.构造hypothesis函数
由于h(x)函数的最终输出必须是两个值(分别代表两个类别),首先利用Sigmoid函数,将h(x)函数值的范围规范到两个对称区间内,Sigmoid函数形式为: