【深度学习笔记】二分类问题与 Logistic 回归

news2024/11/18 21:47:41

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记,视频由网易云课堂与 deeplearning.ai 联合出品,主讲人是吴恩达 Andrew Ng 教授。刚兴趣的网友可以观看网易云课堂的视频进行深入学习,视频的链接如下:

https://mooc.study.163.com/course/2001281002

也欢迎对神经网络与深度学习感兴趣的网友一起交流 ~

目录

1 二分类问题

2 Logistic 回归

2.1 Logistic 回归模型

2.2 Logistic 回归损失函数

2.3 Logistic 回归代价函数


1 二分类问题

        假如你有一张图片(以高维向量的形式)作为输入 x,你希望计算机识别它。如果是猫,输出 1;如果不是,则输出 0。这里的输出 y 只能取 0 1,所以这个问题属于二分类问题。

2 Logistic 回归

2.1 Logistic 回归模型

        Logistic 回归是一个用于二分类问题的算法。在 Logistic 回归模型中,输出 \hat y 的含义是在给定 x 的条件下,输出 y = 1 的概率,即

\hat y = p( y=1 | x)

模型输出值 \hat y 等于 sigmoid 函数作用在 \omega ^{T} x + b 上。

2.2 Logistic 回归损失函数

        当你实现 Logistic 回归模型时,你要做的工作是让神经网络学习参数 \omega b,这需要定义损失函数。

        损失函数(Loss function)也叫错误函数(Error function),用于衡量模型了预测值 \hat y 和实际值 y 的差别。

        先来看 p(y \, |x) 应满足的要求:

        (i)如果 y = 1,那么 p( y = 1 | x) = \hat y

        (ii)如果 y = 0,那么 p( y = 0 | x) = 1 - \hat y.

函数

p(y \, |x) = \hat y ^ {y} (1-\hat y)^{(1-y)} 

可以满足上述要求,两边取对数得

log \, p(y \, |x) = y \, log \, \hat y + (1-y) \, log(1-\hat y)

        定义 Logistic 模型的损失函数为

L(\hat y , y) = - [y \, log \, \hat y + (1-y) \, log(1-\hat y)]

当我们训练神经网络时,最小化损失函数 L(\hat y, y),等价于最大化 log \, p(y \, |x).

        如果 y = 1,根据(i)可知,最大化 log \, p(y \, |x) 等价于最大化 \hat y,又因为 0 \leq \hat y \leq 1,所以最大化 \hat y 其实是希望 \hat y 尽可能地接近 1.

        如果 y = 0,根据(ii)可知,最大化 log \, p(y \, |x) 等价于最小化 \hat y,同理因为 0 \leq \hat y \leq 1,所以最小化 \hat y 其实是希望 \hat y 尽可能地接近 0.

2.3 Logistic 回归代价函数

        损失函数计算了模型在单个训练样本上的错误程度,代价函数(Cost function)则计算模型在整个训练集上的错误程度。

        对于 m 个训练样本,假设所有训练样本独立同分布,则 m 个样本的联合概率为

P = \prod_{i=1}^{m} p(y^{(i)} \, | x^{(i)})

 两边取对数,得

log \, P = log \, \prod_{i=1}^{m} p(y^{(i)} \, | x^{(i)})

\qquad = \sum_{i=1}^{m} log \, p(y^{(i)} \, | x^{(i)})

= - \sum_{i=1}^{m} L(\hat y^{(i)} \, | y^{(i)})

定义 Logistic 模型的代价函数为

J(\omega,b) = \frac{1}{m} \sum_{i=1}^{m} L(\hat y ^{(i)} \, | y^{(i)})

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python等待一秒:介绍和用法全解析

Python等待一秒:介绍和用法全解析 什么是Python等待一秒? 在编写Python脚本时,我们通常要让程序暂停一段时间,这可以通过让程序等待一定的时间来实现。等待时间可以是任意长度的时间,最常见的时间单位是秒。Python中…

chatgpt赋能python:三种常见的Python程序错误及解决方案

三种常见的Python程序错误及解决方案 Python是一种高级编程语言,具有易读、易学、易维护等特点,被广泛应用于Web开发、数据分析、人工智能等领域。但是,即使是有10年Python编程经验的工程师也难免会犯错误。这篇文章将介绍Python程序中的三种…

Unity3D:添加设备

Unity3D:添加设备 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 添加设备 若要将新设备添加到设备模拟器,请创建设备定义和设备覆盖。 设备定义是 Unity 项目中扩展名的文本文件。它包含描述设备属性的 …

数据结构第六章 图 6.4 图的应用 错题整理

4.A A. 不是简单路径的话,有环,去环路径会更短 B. 适合的 弗洛伊德算法才不适合 C. 本来就是 D 2X2矩阵拓展到3X3矩阵 再扩大 若是子集 即加入新顶点后,最短路径都没有变,错 5.B 本题用弗洛伊德更合适 但这道题只需全部代入求最…

chatgpt赋能python:Python简单计算器代码

Python简单计算器代码 Python是一种高级的编程语言,被广泛用于开发各种类型的应用程序,包括计算器应用程序。在本文中,我们将介绍Python简单计算器代码的实现和用法。 Python简单计算器代码介绍 一个简单的计算器能够实现基本的算术运算&a…

回溯注意点:回溯时间复杂度的计算与剪枝操作

文章目录 回溯的时间复杂度计算示例1:77.组合示例2:216.组合总和Ⅲ示例3:17.电话号码字母组合关于剪枝对时间复杂度的影响 回溯的剪枝操作必要性及适用场景示例1:组合剪枝剪枝优化点: 示例2:组合剪枝剪枝优…

STL容器(持续更新中)

一、string类 1. 构造函数 常用的构造函数如下。 构造函数原型含义string()默认构造函数。创建一个默认string对象,长度为0string(const string &s)拷贝构造函数。用一个string对象初始化另一个string对象string(const char *s)用字符串常量构建string对象st…

Linux系统编程(vfork和fork)

文章目录 前言一、vfork讲解二、vfork使用三、exit和_exit1.exit和_exit对比2.在vfork中的使用 四、vfork和fork区别总结 前言 本篇文章讲解vfork和fork创建进程的区别。 一、vfork讲解 vfork 是一个在类Unix操作系统中的系统调用,它创建一个新进程,且…

欠拟合、过拟合、正则化、学习曲线

1.欠拟合、过拟合、正则化、学习曲线 1.1 欠拟合、过拟合 欠拟合:模型相对于要解决的问题来说太简单了,模型并没有拟合训练数据的状态 过拟合:模型相对于要解决的问题来说太复杂了,模型只能拟合训练数据的状态 下图来自&#x…

第41步 深度学习图像识别:Efficientnet建模(Tensorflow)

一、写在前面 (1)Efficientnet EfficientNet是Google在2019年提出的一种新的卷积神经网络架构,主要目标是提高模型的效率,即在保持或提高模型性能的同时,尽可能地降低模型的复杂性和计算需求。 EfficientNet的关键思…

【MySQL】表的内外连接

目录 一、内连接(表1 inner join 表2 on) 1、显示SMITH的名字和部门名称 二、外连接 1、左外连接(表名1 left join 表名2 on) 1.1查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出…

2022(一等奖)D775北部湾红树林生理结构参数对水位变化的响应特征研究

作品介绍 1 应用背景 红树林作为全球生产力最高的生态系统之一,是生长在热带、亚热带海湾的一种特殊的木本植物群落。它由于其独特的海陆过渡特性,在维持滨海生态稳定、促进海陆能量循环中起着重要作用。同时,红树林可以吸附温室气体&#x…

第十二章 EfficientNetv2网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

Python爬取数据并进行数据CRUD的Web可视化项目

项目内容简介 爬取网站https://book.douban.com/top250上面的Top250数据,然后将数据保存到Mysql数据库中,最后这些数据记录以Web的方式进行展示,并实现对这些数据记录的CRUD(增删改查)! 项目实现简介 对豆瓣网站的爬虫的实现。 见项目中的爬取豆瓣Top250脚本(beautifulSoup).…

Linux下MySQL的安装与使用

文章目录 安装前说明Linux系统及工具的准备查看是否安装过MySQLMySQL的卸载 MySQL的Linux版安装下载MySQL指定版本CentOS7下检查MySQL依赖CentOS7下MySQL安装过程 查看MySQL版本服务的初始化启动MySQL,查看状态查看MySQL服务是否自启动 MySQL登录设置远程登录 安装前…

【计算机组成原理】输入输出系统

目录 一、外部设备概述 二、输入输出接口 三、主机与外设交换信息的方式 四、中断系统 五、中断请求 六、中断响应 七、中断服务 一、外部设备概述 外部设备在计算机系统中的作用: 人机对话的重要设备(交互)完成数据媒体变换的设别&…

chatgpt赋能python:Python等待一秒-程序员必知的等待操作

Python等待一秒 - 程序员必知的等待操作 时间是宝贵的资源,你可能会需要让你的Python程序等待一段时间才能继续执行。在这篇文章中,我们将学习如何使用Python等待一秒,包括为什么需要等待,以及在Python中如何等待。 为什么需要等…

前端web入门-CSS-day07

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 定位 相对定位 绝对定位 定位居中 固定定位 堆叠层级 z-index 定位-总结 高级技巧 CSS 精灵 字…

QT(一) 安装 QT(二)GUI程序设计基础

第一章 : Qt 安装 下载地址安装 打开 cmd 运行镜像 : qt-unified-windows-x64-4.6.0-online.exe --mirror https://mirrors.aliyun.com/qt Hello 因为是qmake 所以是.proCtrl R 直接运行 第二章 GUI程序设计基础 main文件 *.ui : 有UI设计器自动生成…

操作系统02-OS结构

目录 一、概述 二、内容 三、总结 一、概述 操作系统以服务的形式向程序和用户提供执行程序的基本服务,包括用户界面、程序执行、IO操作、文件系统操作、通讯、错误监测等。 二、内容 2.1 OS服务和接口 1 操作系统服务 2 操作系统程序接口:系统调…