UFLDL学习笔记2——Logistic Regression

本文深入探讨了Logistic Regression的工作原理及其在二分类问题中的应用。通过sigmoid函数将线性回归模型转换为概率预测模型,并详细介绍了损失函数(即交叉熵误差函数)的定义及其推导过程。此外,还涉及了梯度验证方法以及MATLAB中的向量化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logistic Regression

和前一节linear regression类似,只是logistic regression用于二分类问题,借助于sigmoid函数 σ(x)=11+ex 的良好性质,使得可以从概率的角度去考虑二分类问题。判别函数定义为 P(y=1|x)=hθ(x)=11+eθTx , P(y=0|x)=1hθ(x) .cost function定义为

J(θ)=i(y(i)log(hθ(x))+(1y(i))log(1hθ(x)))
.
又称为cross-entropy error function.这个可由似然函数 P(y|θ)=i=1mhθ(x(i))y(i)(1hθ(x(i)))1y(i) 取负的对数值得到。与linear regression相比,虽然判别函数和cost function在具体形式上不一样,但是导数在形式上是一样的。我的古董电脑执行不了 ex1b_logreg.m,提示out of memory。。。 这里也提到了这个问题,但按照他说的方法试了试还是不行,换了一台稍微给力点的电脑就可以执行了。

Vectorization

这节主要是让我们感受下MATLAB的vectorization features,上节已经搞过。

Debugging:Gradient Checking

这节主要是验证自己写的梯度计算函数是否正确,利用

g(θ)J(θ+EPSILON)J(θEPSILON)2EPSILON

看了下他们写的 grad_check.m,看别人码的代码也能学不少东西。这个函数参数列表里用了 MATLAB里面的 varargin:Variable length input argument list。大致就是可以实现参数个数的动态化,不必事先指定函数需要传进多少个参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值