吴恩达机器学习-C1W3L2-逻辑回归之S型函数

可选实验:逻辑回归

在这个不评分的实验中,你会

  • 探索sigmoid函数(也称为logistic函数)
  • 探索逻辑回归;哪个用到了s型函数
import numpy as np
%matplotlib widget
import matplotlib.pyplot as plt
from plt_one_addpt_onclick import plt_one_addpt_onclick
from lab_utils_common import draw_vthresh
plt.style.use('./deeplearning.mplstyle')

Sigmoid或Logistic函数

正如讲座视频中所讨论的,对于分类任务,我们可以从使用线性回归模型 f w , b ( x ( i ) ) = w ⋅ x ( i ) + b f_{\mathbf{w},b}(\mathbf{x}^{(i)}) = \mathbf{w} \cdot \mathbf{x}^{(i)} + b fwb(x(i))=wx(i)+b开始,来预测给定 x x x y y y
-然而,我们希望我们的分类模型的预测在0和1之间,因为我们的输出变量 y y y是0或1。
-这可以通过使用“sigmoid函数”来完成,该函数将所有输入值映射到0到1之间的值。
我们来实现s型函数,自己看看。
在这里插入图片描述

Sigmoid函数的公式

s型函数的公式如下
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1
在逻辑回归的情况下,z (sigmoid函数的输入)是线性回归模型的输出。

  • 单个示例时,“ z z z”为标量。
  • 在多个示例的情况下, z z z可能是由 m m m值组成的向量,每个示例一个。
  • sigmoid函数的实现应该涵盖这两种可能的输入格式。让我们在Python中实现它。

NumPy有一个名为exp()的函数,它提供了一种方便的方法来计算输入数组 z 中所有元素的指数( e z e^{z} ez)。
它还可以使用单个数字作为输入,如下所示。

# Input is an array. 
input_array = np.array([1,2,3])
exp_array = np.exp(input_array)print("Input to exp:", input_array)
print("Output of exp:", exp_array)# Input is a single number
input_val = 1  
exp_val = np.exp(input_val)print("Input to exp:", input_val)
print("Output of exp:", exp_val)

sigmoid函数是用python实现的,如下面的单元格所示。

def sigmoid(z):"""Compute the sigmoid of zArgs:z (ndarray): A scalar, numpy array of any size.Returns:g (ndarray): sigmoid(z), with the same shape as z"""g = 1/(1+np.exp(-z))return g

让我们看看对于不同的z值这个函数的输出是什么

# Generate an array of evenly spaced values between -10 and 10
z_tmp = np.arange(-10,11)# Use the function implemented above to get the sigmoid values
y = sigmoid(z_tmp)# Code for pretty printing the two arrays next to each other
np.set_printoptions(precision=3) 
print("Input (z), Output (sigmoid(z))")
print(np.c_[z_tmp, y])

左列的值为z,右列的值为s型(z)。如您所见,sigmoid的输入值范围从-10到10,输出值范围从0到1。
现在,让我们尝试使用matplotlib库绘制这个函数。

# Plot z vs sigmoid(z)
fig,ax = plt.subplots(1,1,figsize=(5,3))
ax.plot(z_tmp,y,c='b')
ax.set_title('Sigmoid function')
ax.set_ylabel('sigmoid(z)')
ax.set_xlabel('z')
# 在 z=0 处绘制垂直阈值线
draw_vthresh(ax,0)
plt.show()

如你所见,当z趋于负值时,s型函数趋于0,当z趋于正值时,s型函数趋于1。

逻辑回归

逻辑回归模型将s型曲线应用于我们熟悉的线性回归模型,如下图所示:
f w , b ( x ( i ) ) = g ( w ⋅ x ( i ) + b ) (2) f_{\mathbf{w},b}(\mathbf{x}^{(i)}) = g(\mathbf{w} \cdot \mathbf{x}^{(i)} + b ) \tag{2} fw,b(x(i))=g(wx(i)+b)(2)
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+ez1

在这里插入图片描述
让我们将逻辑回归应用到肿瘤分类的分类数据示例中。
首先,加载示例和参数的初始值。

x_train = np.array([0., 1, 2, 3, 4, 5])
y_train = np.array([0,  0, 0, 1, 1, 1])w_in = np.zeros((1))
b_in = 0

尝试以下步骤:

  • 点击“运行逻辑回归”以找到给定训练数据的最佳逻辑回归模型
    • 注意所得模型与数据拟合得很好。
    • 注意,橙色线是’ z z z’或 w ⋅ x ( i ) + b \mathbf{w} \cdot \mathbf{x}^{(i)} + b wx(i)+b。它与线性回归模型中的直线不匹配。
      通过应用“阈值”进一步改进这些结果。
  • 勾选“切换0.5阈值”上的框,以显示如果应用阈值的预测。
    • 这些预测看起来不错。预测与数据相符
    • 现在,在大肿瘤大小范围内(接近10)添加进一步的数据点,并重新运行线性回归。
    • 与线性回归模型不同,该模型持续做出正确的预测
plt.close('all') 
addpt = plt_one_addpt_onclick( x_train,y_train, w_in, b_in, logistic=True)

恭喜

你已经探索了s型函数在逻辑回归中的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/392865.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 插件之http(介绍、使用、二次封装)

背景 在我们日常开发过程中,经常会使用到网络请求,而在Flutter插件中,最常用的请求插件一共两个,分别是: 1、dio 2、http 其中dio我已经做过详细介绍了(post、get等请求、文件上传、请求重试等),这里就不做过多阐述,下面附上文章链接,如有需要可前往查看。 http…

如何申请一年期IP地址SSL证书

在数字化的时代,网络安全越来越重要,SSL证书已经成为网站的标配,它承担着保护网站安全的重大作用。一般申请SSL证书都是用域名来申请的,不过当没有域名或者域名无法使用时,就需要使用IP地址来申请SSL证书了&#xff0c…

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor搭配cmake实现C程序的编译、运行和调试 Cursor是一个开源的AI编程编辑器,开源地址https://github.com/getcursor/cursor ,它其实是一个集成了Chat-GPT的VS Code。 关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好&…

等保测评中的访问控制与用户认证:构建安全的访问管理机制

在当今数字化时代,信息安全已成为企业和组织不可忽视的关键议题。等保测评,作为我国信息安全等级保护制度的重要组成部分,对访问控制与用户认证提出了严格要求,旨在构建安全的访问管理机制,保护信息资产不受未授权访问…

怎么写进修总结汇报ppt?有这3个AI软件做PPT再也没烦恼!

在当今瞬息万变的职场环境中,持续学习和自我提升已不再是一种选择,而是生存和发展的必需。作为一种系统化的学习方式,进修为职场人士提供了宝贵的机会来更新知识储备、提升专业技能,并拓展职业视野。当然,进修的价值不…

Dreamweaver (DW)2021 下载 安装

将 Dreamweaver 2021 压缩包解压到本地: 点击蓝色字体下载压缩包 提取码 ixsu 鼠标右键 点击 Set-up 选择 以管理员身份运行: 点击 更改位置 可以自定义选择安装路径 也可以选择默认位置 点击 继续: 等待安装 正常等待5分钟左右&#xff1…

12月长沙学术会议:EI检索,机器人、自动化与智能控制方向

在春意盎然、生机勃勃的四月,全球科技界的目光聚焦于中国长沙,这里即将迎来一场科技与智慧碰撞的盛宴——第四届机器人、自动化与智能控制国际会议(ICRAIC 2024)。本次盛会由历史悠久、文化底蕴深厚的湖南第一师范学院荣耀主办&am…

电话营销机器人革新电销行业

第一,减少企业各方面的支出 企业需要各方面的支出。例如,招聘成本和管理成本、员工薪资和社保都是非常大的支出。但AI智能电销机器人,只要购买费用和电话费的一小部分,就没有更多的费用。经计算,该机器人的成本仅相当于…

vector 简单模拟实现

目录 一. vector成员变量 二. vector的构造函数和析构函数 三. vector的成员函数 1. 容量操作函数 扩容操作 (1). finish更新问题 (2). 扩容深浅拷贝问题 resize与尾插、尾删与判空 insert与erase与clear 2. 函数重载 (1). 赋值运算符重载 (2). [ ]重载进行访问 四. …

c++ - unordered_set与unordered_map模拟实现

文章目录 前言一、unordered_set模拟实现二、unordered_map模拟实现 前言 1、unordered_set与unordered_map的介绍与接口使用可参考:unordered_set 、 unordered_map。 2、unordered_set和 unordered_map 的底层实现都是基于哈希表的。哈希表是一种通过哈希函数组织…

LoRa无线通讯,让光伏机器人实现无“线”管理

光伏清洁机器人,作为光伏电站运维的新兴关键设备,已跃升为继组件、支架、光伏逆变器之后的第四大核心组件,正逐步成为光伏电站的标准配置。鉴于光伏电站普遍坐落于偏远无人区或地形复杂之地,光伏清洁机器人必须具备远程操控能力、…

深入源码P3C-PMD:rule (4)

系列文章目录 文章目录 系列文章目录rule 的应用类别 rule rule 自定义XML rule 定义Tree 漫游错误报告生命周期 designer rule相关的代码在每个子 module 的 rule 文件夹。而且也以一些 ruleset 为范围分了文件夹,如下图所示: 对每个 rule 来说&#xf…

PHP教育培训小程序系统源码

🚀【学习新纪元】解锁教育培训小程序的无限可能✨ 📚 引言:教育培训新风尚,小程序来引领! Hey小伙伴们,是不是还在为找不到合适的学习资源而烦恼?或是厌倦了传统教育模式的单调?今…

盘点12款企业常用源代码加密软件,源代码防泄密很重要!

在当今的商业环境中,源代码作为企业的核心资产之一,其安全性不容忽视。源代码的泄露可能导致企业丧失竞争优势、面临法律诉讼甚至经济损失。因此,选择合适的源代码加密软件成为企业保护知识产权和核心技术的关键步骤。 1. 安秉源代码加密软件…

【JVM】Java内存区域图文详解

1.JVM运行时区域总览 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 JVM运行时区域也成为Java内存区域。 在讨论Java内存模型时,通常将其分为线程共享区域和线程私有区域: 2.线程私有区域 2.1.程序计数器 程序计…

详解贪心算法

贪心算法(Greedy Algorithm) 概述: 贪心算法是一种在求解最优化问题时采取的一种常用算法策略。贪心算法的基本思想是,每次选择当前情况下的局部最优解,并相信这个局部最优解能够导致全局最优解。贪心算法通过迭代的方式一步步地…

SpringBoot3里的文件上传

需求分析: 在用户更换头像或者添加文章时,都需要携带一个图片的URL访问地址。当用户访问文件上传接口将图片的数据上传成功后,服务器会返回一个地址。我们后台需要提供一个文件上传的接口,用来接收前端提交的文件的数据并且返回文…

七夕情人节礼物有哪些走心礼物推荐,盘点惊喜爆棚的四大礼物分享

随着浪漫的七夕情人节的临近,恋人们开始寻找那些能够传达他们挚爱与深情的独特礼物,一份有心的礼物不仅能够成为情感的使者,还能在这一天为爱情增添更多甜蜜与回忆,在这个充满传说与浪漫的节日里,我们精心挑选了一系列…

查询表信息时有一个数据为null相关解决

查询的时候varchar类型的username一直查不到为null,这个问题干了我好久 当时我以为是连接mysql数据库的时候没有在url后面添加添加指定字符的编码、解码格式的参数约束.然后经过分析发现 我创建的这个Account对象 直接上结果,问题出在了setUsername()方法上 错误…

Scrapy入门篇

免责声明 本文的爬虫知识仅用于合法和合理的数据收集,使用者需遵守相关法律法规及目标网站的爬取规则,尊重数据隐私,合理设置访问频率,不得用于非法目的或侵犯他人权益。因使用网络爬虫产生的任何法律纠纷或损失,由使用…