逻辑回归
主要思想:根据现有数据对分类边界线建立回归公式
优点:计算代价不高,易于理解和实现
缺点:容易欠拟合,分类精度可能不高
适用数据类型:数值型和标称型数据
Regression问题的常规步骤为:
- 寻找h函数(即hypothesis);
- 构造J函数(损失函数);
- 想办法使得J函数最小并求得回归参数( θ )
Logistic函数(Sigmoid函数):
对于线性边界形式:
构造预测函数为:
函数 $h_\theta(x)$ 的值有特殊意义,它表示取1的概率,因此对于x分类边界为类别1和类别0的概率为:
cost函数和J函数如下,基于最大似然估计推得:
推导过程如下:
将概率公式合起来写:
取似然函数为:
对数取似然函数为:
最大似然估计就是求使 $l(\theta)$ 取最大值时的 θ ,其实这里可以使用梯度上升法求解,求得的 θ 就是要求的最佳参数。但是,在Andrew Ng的课程中将 $J(\theta)$ 取为下式,即:
因为乘了一个负的系数 $-\frac{1}{m}$ ,所以取 $J(\theta)$ 最小值时的θ为要求的最佳参数。
梯度下降法求的最小值
开始之前插一句,sigmoid函数有个很重要的特性:
θ更新过程:
其中:
所以 θ 更新过程可以写为:
向量化
在使用向量化之后公式 $J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)})))$ 可以写为:
公式 $\frac{\delta}{\delta_{\theta_j}}J(\theta)=\frac{1}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$ 可以写为:
其中 $h=g(\theta^Tx)$ ,由于 $(h-y)$ 维度是 $m\times1$ , $X$ 也是 $m\times1$ ,所以需对 $X$ 转置
所以θ的更新过程可写为: