从0开始机器学习--Day7--逻辑回归的代价函数及简化

逻辑回归的代价函数(Cost function of logistic regression)

跟之前线性代数的代价函数不一样的是,我们将后面的平方差项定义出来,即Cost(h_{\theta}(x^{i}),y^{i})=\frac{1}{2}(h_{\theta}(x^{i})-y^{i})^{2},在实际应用中,我们发现如果像处理线性回归的问题一样用这个代价函数来处理分类问题的参数,由于假设函数sigmoid是非线性的,把它带入到Cost函数后再带入到代价函数的话,呈现的图像是非凸函数,是不断波动的,如下图:

凸函数与非凸函数图像对比

从图像中我们可以看到,非凸函数的图像中有很多局部最优解,如果用梯度下降来处理,我们并不能保证它能收敛到全局最小值。所以我们要做的是找到另一个代价函数,使其能够表现出凸函数的性质,从而能让算法在应用时能收敛到全局最小值。

让我们来重新定义一个新的代价函数:Cost(h_{\theta}(x),y)=\begin{cases} -log(h_{\theta}(x)) & if y=1\\ -log(1-h_{\theta}(x)) & if y=0 \end{cases},让我们来看y=1时的图像:

y=1时的代价函数图像

从图中我们可以观察到,当h_{\theta}(x)=1时,函数值为0;但要注意到当h_{\theta}(x)\rightarrow0时,函数值趋近于正无穷。以肿瘤病人的分类问题来理解,就是当假设函数输出为0,也就是说肿瘤病人的肿瘤为恶性肿瘤的概率为0,但此时y=1又说明肿瘤是恶性肿瘤的概率非常非常大,那么我们就用非常大的代价值来惩罚这个学习算法,使其尽可能减少这种情况的发生。

类似的,从y=0的图像中我们能观察到当h_{\theta}(x)\rightarrow1时,函数值趋近于正无穷,那么此时同样会用非常大的代价值来惩罚这个学习算法,使其尽可能减少这种情况的发生,如下:

y=0时的代价函数图像

简化代价函数与梯度下降(Simplified cost function and gradient descent)

尽管我们把分类问题的代价函数的表达式写了出来,但这个式子看起来比较复杂,还要分两种情况,那么我们可不可以把它写成一个式子呢?

我们可以写成这样:Cost(h_{\theta}(x),y)=-ylog(h_{\theta}(x))-(1-y)log(1-h_{\theta}(x)),由于y的值只可能是0或1,那么通过与1的相减我们就可以将其写成一个等式了,代入到之前的式子就是:J(\theta)=-\frac{1}{m}[\sum_{m}^{i=1}{ylog(h_{\theta}(x))+(1-y)log(1-h_{\theta}(x))}]

而我们做这么多工作,最核心的目标还是算出某个参数从而得到J(\theta )的最小值,那么如果我们用梯度下降算法来最小化它,将其带入到\theta_{j}:=\theta_{j}-\alpha\frac{\partial}{\partial\theta_{j}}J(\theta),我们会惊奇地发现当我们将其进行微分计算后,会得到 \theta_{j}:=\theta_{j}-\alpha\sum_{i=1}^{m}{(h_{\theta}(x^{i})-y^{i})},这跟线性回归时的式子是一样的,但两者之间假设函数的定义式子是不一样的,所以这看起来一样的式子在定义里实际上是完全不同的。

学习内容来自于b站吴恩达大佬课程:https://www.bilibili.com/video/BV1By4y1J7A5?spm_id_from=333.788.player.switch&vd_source=867b8ecbd62561f6cb9b4a83a368f691&p=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值