逻辑回归 Logistic regression
**目的:**经典的二分类算法
机器学习算法选择:先逻辑回归再用复杂的,能简单还是简单的
逻辑回顾的决策边界:可以是非线性的
Sigmoid 函数:
-
公式:g(z)=11+e−zg(z) = \frac{1}{1+e^{-z}}g(z)=1+e−z1
-
自变量取值为任意实数,值域为[0,1]
-
解释:将任意的输入映射到[0,1]区间,我们在现行回归中可以得到一个预测值,再将该值映射到Sigmoid函数中,这样就完成了由值到概率的转换,也就是分类任务。
-
目标函数
预测函数:hθ(x)=g(θTx)=11+e−θTxh_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}hθ(x)=g(θTx)=1+e−θTx1, 其中,θTx=θ0+θ1x1+...+θnxn=∑i=1n=θTx\theta^Tx = \theta_0+\theta_1x_1+...+\theta_nx_n=\sum_{i=1}^n=\theta^TxθTx=θ0+θ1x1+...+θnxn=∑i=1n=θTx
-
分类任务:
P(y=1)=hθ(x),P(y=0)=1−hθ(x)P(y=1) = h_\theta(x),P(y=0)=1-h_\theta(x)P(y=1)=hθ(x),P(y=0)=1−hθ(x)
对上面两个式子进行整合:
P(y)=(hθ(x))y(1−hθ(x))1−y P(y) = (h_\theta(x))^y(1-h_\theta(x))^{1-y} P(y)=(hθ(x))y(1−hθ(x))1−y -
似然函数:
L(θ)=∏i=1m(hθ(x))y(1−hθ(x))1−y L(\theta)=\prod_{i=1}^m(h_\theta(x))^y(1-h_\theta(x))^{1-y} L(θ)=i=1∏m(hθ(x))y(1−hθ(x))1−y -
对数似然:
l(θ)=L(θ)=∑i=1m(yiloghθ(xi)+(1−yi)log(1−hθ(x))) l(\theta)=L(\theta)=\sum_{i=1}^m\Big(y_ilogh_\theta(x_i)+(1-y_i)log(1-h_\theta(x))) l(θ)=L(θ)=i=1∑m(yiloghθ(xi)+(1−yi)log(1−hθ(x)))
此时应用梯度上升求最大值,引入J(θ)=−1ml(θ)J(\theta)=-\frac{1}{m}l(\theta)J(θ)=−m1l(θ) 转换为梯度下降任务与上次一样,我们进行对上式进行求导:
求完偏导之后,即我们可以得到参数更新的方向。
- 参数更新:θj=θj−α1m∑i=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θj=θj−αm1∑i=1m(hθ(xi)−yi)xij 其中α\alphaα 为学习步长。
所有的努力都值得期许,每一份梦想都应该灌溉!