机器学习(七)- logistic regression

logistic regression

对于逻辑回归,就是运用已知的数据集(training set)去拟合一组 θ \theta θ,等同于在空间中拟合出一条曲线,不过这条曲线不同于线性回归,这条曲线是用于空间划分,对于二分类,就是用曲线将平面划分成两个区域,那么对于这两个不同的区域 θ T x \theta^Tx θTx对应于大于等于0和小于0,随后再代入 g ( z ) g(z) g(z)即sigmoid函数的时候,就对应于大于等于0.5和小于0.5,这个时候联系概率就将对应区域等同于 y = 1 y=1 y=1 y = 0 y=0 y=0,当然和线性回归一样,是建立在我们已经完成特征选取和模型假设之后,我们所用模型为:
h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^T x}} hθ(x)=g(θTx)=1+eθTx1
具体步骤其实就是迭代下面两个方程:
第一个是参数更新方程
θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j := \theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θjαm1i=1m(hθ(x(i))y(i))xj(i)
第二个是代价函数
J ( θ ) = − 1 m ( ∑ i = 1 m y ( i ) log ⁡ h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ) J(\theta) = -\frac{1}{m}(\sum_{i=1}^my^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))) J(θ)=m1(i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i))))
化成矩阵形式就是:
θ : = θ − α 1 m X T ( g ( X θ ) − y ) J ( θ ) = − 1 m ( y T log ⁡ g ( X θ ) + ( 1 − y T ) log ⁡ ( 1 − g ( X θ ) ) ) \begin{aligned} \theta :&= \theta-\alpha\frac{1}{m}X^T(g(X\theta)-y)\\ J(\theta) & = -\frac{1}{m}(y^T\log g(X\theta)+(1-y^T)\log (1-g(X\theta))) \end{aligned} θ:J(θ)=θαm1XT(g(Xθ)y)=m1(yTlogg(Xθ)+(1yT)log(1g(Xθ)))

matlab 代码实现:

J = - 1/m * (y' * log(sigmoid(X * theta)) + ...
    (1-y') * log(1 - sigmoid(X * theta)));
grad = theta - alpha * 1/m * (X' * (sigmoid(X * theta) - y));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值