Logistic 回归——python实现_附详细代码

umpy是利用pyhon进行科学化编程计算中的一个主要的模块。下面我们就来先构建深度学习中的一些基本的函数吧!

1.sigmoid 函数,np.exp()

练习:利用math.exp() 写一个sigmoid函数,使得函数返回值为一个实数x。
提示:sigmoid函数就是我们常常所说的logistic函数。它是一个非线性的函数,不仅在机器学习(Logistic Regression)而且在深度学习中我们也能常常见到。
(Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。广义Logistic曲线可以模仿一些情况人口增长(P)的S形曲线。起初阶段大致是指数增长;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。
来源于百度百科
下面是simoid函数的图示:
在这里插入图片描述

利用python来引用一个属于某个模块的函数时,我们应该利用模块名.函数名()的形式。我们通过下面math.exp()例子来说明。

import math
def basic_sigmod():
    s=1/(1+math.exp(-x))
    return s
    

事实上,由于在深度学习中输入函数中的常常是数字,因此很少用“math”模块。在深度学习中我们用的更多的是矩阵和向量。这就是为什么numpy模块更有用的原因。
下面我们来利用numpy去实现sigmod函数。

import numpy as np
def sigmod(x):
    s=1/(1+np.exp(-x))
    return s

下面声明一个数组进行调用

 x=np.array([1,2,3])
 sigmoid(x)

输出结果如图所示:
在这里插入图片描述

2.计算sigmoid函数的梯度

练习:编写一个函数来实现计算sigmoid函数的梯度,要求参数为x。函数的公式如下图所示:
在这里插入图片描述

要想实现该函数需要以下两步:
(1)令S为参数x的sigmoid函数。你会发现咱们上一步所编写的sigmoid()函数是有用的。
(2)计算s(1-s)
下面给出实现代码:

import numpy as np
def sigmod(x):
    s=1/(1+np.exp(-x))
    ds=s(1-s)
    return ds

:文章来源为自己学习吴恩达深度学习视频所写笔记,如有转载,请标明出处。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛毛真nice

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值