当前位置: 代码迷 >> 综合 >> Logistic 回归——python实现_附详细代码
  详细解决方案

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

热度:114   发布时间:2023-11-18 16:30:41.0

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

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