机器学习之逻辑回归算法(三)

逻辑回归 Logistic regression

**目的:**经典的二分类算法

机器学习算法选择:先逻辑回归再用复杂的,能简单还是简单的

逻辑回顾的决策边界:可以是非线性的

Sigmoid 函数:

  • 公式:g(z)=11+ezg(z) = \frac{1}{1+e^{-z}}

  • 自变量取值为任意实数,值域为[0,1]

  • 解释:将任意的输入映射到[0,1]区间,我们在现行回归中可以得到一个预测值,再将该值映射到Sigmoid函数中,这样就完成了由值到概率的转换,也就是分类任务。

    机器学习之逻辑回归算法(三)

  • 目标函数

预测函数:hθ(x)=g(θTx)=11+eθTxh_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}, 其中,θTx=θ0+θ1x1+...+θnxn=i=1n=θTx\theta^Tx = \theta_0+\theta_1x_1+...+\theta_nx_n=\sum_{i=1}^n=\theta^Tx

  • 分类任务:

    P(y=1)=hθ(x),P(y=0)=1hθ(x)P(y=1) = h_\theta(x),P(y=0)=1-h_\theta(x)

    对上面两个式子进行整合:
    P(y)=(hθ(x))y(1hθ(x))1y P(y) = (h_\theta(x))^y(1-h_\theta(x))^{1-y}

  • 似然函数:
    L(θ)=i=1m(hθ(x))y(1hθ(x))1y L(\theta)=\prod_{i=1}^m(h_\theta(x))^y(1-h_\theta(x))^{1-y}

  • 对数似然:
    l(θ)=L(θ)=i=1m(yiloghθ(xi)+(1yi)log(1hθ(x))) l(\theta)=L(\theta)=\sum_{i=1}^m\Big(y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x)))
    此时应用梯度上升求最大值,引入J(θ)=1ml(θ)J(\theta)=-\frac{1}{m}l(\theta) 转换为梯度下降任务

    与上次一样,我们进行对上式进行求导:

机器学习之逻辑回归算法(三)

求完偏导之后,即我们可以得到参数更新的方向。

  • 参数更新:θj=θjα1mi=1m(hθ(xi)yi)xij\theta_j=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m\big(h_\theta(x_i)-y_i\big)x_i^j 其中α\alpha 为学习步长。

所有的努力都值得期许,每一份梦想都应该灌溉!