sheng的学习笔记-神经网络

基础知识

基础知识-什么是分类问题

分类问题是根据已有数据,判断结果是正的还是负的(1或者0,比如:

根据肿瘤大小,判断肿瘤是良性的还是恶性的
根据客户交易行为,判断是否是恶意用户
根据邮件情况,判断是否垃圾邮件
下图:横坐标是肿瘤大小,纵坐标:是肿瘤的可能性,可能性大于 50% ,结果是 1 (恶性),小于 50% 结果是 0 (良性),下图中最右边的那个,体积很大,是恶性的可能性非常大

肿瘤有70%可能性是恶性,30%可能性是良性,两者加和为1

基础知识-逻辑回归算法(logsitic regression

逻辑回归算法是解决分类问题的一种,下面是逻辑回归模型,x是肿瘤大小(已知数据),theta是需要训练的参数,一个肿瘤根据两个数据可以知道h(是肿瘤的概率),下图z>0认为是恶性肿瘤

线性决策边界:线右边的是恶性,左边是良性

非线性决策边界:圈外面的是恶性,圈里面是良性

基础知识-多分类(multi-class classification

多分类:上述讲的是二分类,结果只有10,以此扩展为多分类,预测结果有很多可能。

比如预测天气可能是:晴天?阴天?雨天?雪天?分别预测每种情况的可能性,比如是晴天的可能性70%,阴天可能性60%。。。找可能性最大的那个,作为本次数据的结果

基础知识-什么是神经网络

神经网络模拟人类大脑,将大量的输入信息,经过多个节点(每个节点处理一部分)处理(输入层),将结果作为输入传给下个节点(隐藏层,每个隐藏层含多个节点,可以有多个隐藏层),隐藏层的输出传给最后一个节点,并得到结果

适用于数据量大,特征个数多,计算复杂的场景,在语音识别,图像识别等场景应用很广

基础知识-神经网络应用:识别手写数字,智能驾驶

识别手写数字:通过图片转化成数字输入,经过神经网络算法,输出结果数字

智能驾驶:通过观察人类的行驶学习转向,根据摄像头采集的画面画质(车上装传感器),转化成数据,预测出接下来应该是向左,向右,直向行驶(采用神经网络算法,多分类问题应用)

下图左上角第一个横线是驾驶员实际操作,第二个横线是系统预测的操作

计算方法

计算方法-总体方法

实现方法:正向传播计算结果,反向传播更新theta(这里的wb就是theta),直到损失函数最小

1 正向传播

2 计算导数推演

3 逻辑回归计算导数推演

计算实现

计算方法-代价函数( cost function  

肿瘤举例:有了很多肿瘤的数据,训练theta,让预测的结果跟实际结果最相近,当有一个新的肿瘤案例,根据theta就知道新的病例是恶性的可能性有多大,所以我们要做的是找到最佳的theta

过程是:随机初始化参数=>算出预测值=>算出差异(损失函数J=>更新参数=>算出预测值。。重复第二步,直到损失函数足够小

预测值与实际值的差距(叫做代价函数J)越小,代表预测的越准确

参数每次减去J的导数和学习速率乘积,更新自己

计算方法-导数

导数:变量x偏移一个小的单位,结果y变化的倍数,是斜率

直线的斜率是恒定值,曲线的斜率在不同的点不一样

计算方法-正向传播

计算方法-反向传播

反向传播可以让损失函数朝着最小值前进

计算方法-反向传播-梯度检测(选看)

当反向传播和其他算法(梯度下降等)一起工作时,可能会产生一些BUG,导致看起来都正常(比如代价函数在每次梯度都在减小),但其结果的误差很大,这时候需要用梯度检测,注意:在使用梯度检测验证反向传播是正确之后,应该关闭梯度检测,因为这个检测很耗费时间

计算方法-反向传播-随机初始化(选看)

如果初始化的theta都是0,对于x2产生的a1a2是一样的,在反向传播会导致theta1theta2一样,也就是说红色的两个线参数一样,绿色的2个线参数一样(蓝色也一样),虽然它们的值都不是0

参考

吴恩达深度学习和机器学习,关于神经网络部分

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

司铭宇老师:手机门店销售培训:手机销售的技巧和方法

手机门店销售培训:手机销售的技巧和方法 在当今这个信息化的时代,手机已经成为了我们生活中不可或缺的一部分。作为手机销售人员,如何在这个竞争激烈的市场中突出重围,实现销售目标,是每一位销售人员都需要思考的问题。…

Unity出AAB包资源加载过慢

1)Unity出AAB包资源加载过慢 2)Unity IL2CPP打包,libil2cpp.so库中没有Mono接口 3)如何在URP中正确打出Shader变体 4)XLua打包Lua文件粒度问题 这是第370篇UWA技术知识分享的推送,精选了UWA社区的热门话题&…

Dify学习笔记-知识库(六)

1、知识库 大多数语言模型采用较为陈旧的训练数据,并且对每次请求的上下文有长度限制。例如 GPT-3.5 是基于 2021 年的语料进行训练的,且有每次约 4K Token 的限制。这意味着开发者如果想让 AI 应用基于最新的、私有的上下文对话,必须使用类…

C语言实现快速排序算法(附带源代码)

快速排序 在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。 动态效果过程演示: 快速排序(Quick Sort)是一种常用的排序算法&…

Mac 也能玩文明6!下载安装详细教程

最近朋友给我分享了一个 Mac 玩文明6的方法,丝毫不卡顿,非常流畅,分享给大家 文明6是最新的文明系列游戏,和以往的文明游戏一样,玩家将从石器时代创建文明,然后迈向信息时代,最终通过军事、经济…

SQL 系列教程(二)

目录 SQL DELETE 语句 DELETE 语句 演示数据库 DELETE 实例 删除所有行 SQL TOP, LIMIT, ROWNUM 子句 TOP 子句 演示数据库 SQL TOP、LIMIT 和 ROWNUM 示例 SQL TOP PERCENT 实例 添加WHERE子句 SQL MIN() 和 MAX() 函数 MIN() 和 MAX() 函数 演示数据库 MIN() …

【服务器Midjourney】Midjourney网站0基础搭建

目录 🌺【前言】 🌺【准备】 🌺【宝塔搭建MJ】 🌼1. 给服务器添加端口 🌼2. 使用Xshell连接服务器 🌼3. 安装docker 🌼4. 安装Midjourney程序 🌼5. 绑定域名+申请SSL证书 🌼6. 更新网站

4D成像雷达「风再起」

编者按:4D成像雷达在过去几年已经得到汽车行业的认可,但后面的路怎么走,是否会一帆风顺,还受制于很多因素。 “去年第三季度,四家合作伙伴都进入了基于我们芯片组的4D雷达生产阶段,目前正处于与欧美和亚洲头…

太卷了!这个考试系统不愧是“卷王”!

大家好,我是 Java陈序员。 今天给大家推荐一款 Java 开源、功能强大、搭建简单的调查问卷系统和考试系统。 关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。 项目介绍 SurveyKing —— 也叫“…

简化java代码:mapstruct + 策略模式

目录 目的 准备 注意 相同类型-属性名不同 实体类 映射 使用 验证-查看实现类 测试 不同类型(策略模式) 实体类 映射 工具类 使用:对象拷贝 验证-查看实现类 测试 使用:集合拷贝 测试 策略模式说明 准备-依赖 目的 简化 BeanUtils.…

JAVA 学习 面试(四)垃圾回收篇

Java中的每个对象都经历了创建、使用和最终被回收的过程。从对象实例化开始,它可能被程序的多个部分引用,直到最后一个引用消失,对象成为垃圾,等待回收。 JVM垃圾查找算法 (1)引用计数法:已淘…

开始读 Oracle PL/SQL Programming 第6版

最近觉得PL/SQL越来越重要,因为这本书早就在待读列表中,因此决定系统的学一下。 2024年1月24日晚开始读。 在亚马逊上的评价还不错: 本书的第一作者是Steven Feuerstein,是Oracle资深的Developer Advocate。 本书的示例代码可…

JS进阶-内置构造函数(二)

小提示:这些内置函数在开发使用的频率非常的频繁,建议认真看一下,并背一下 目录 知识回顾: • Object 三个常用静态方法(静态方法就是只有构造函数Object可以调用的) Object.keys Object.values Obj…

《动手学深度学习(PyTorch版)》笔记3.4

Chapter3 Linear Neural Networks 3.4 Softmax Regression 3.4.1 Classification Problems 一般的分类问题并不与类别之间的自然顺序有关,统计学家发明了一种表示分类数据的简单方法:独热编码(one-hot encoding)。独热编码是一…

docker里安装conda,并source本地已有的虚拟环境包

有的环境比较难配,在镜像里配置的版本总是与本地不同,导致程序起不来,今天就用个最基础的镜像,去配置anaconda,然后直接导入虚拟环境。 本次使用镜像:nvcr.io/nvidia/cuda:12.2.0-runtime-ubuntu20.04&…

Spring Boot 中的自动配置(autoconfigure)

文中部分图片来源为 动力节点-王鹤老师的Spring Boot3.0 视频讲解中。 Spring Boot 中的自动配置(autoconfigure) 一、自动配置的原理二、关键注解和类1.EnableAutoConfiguration 注解2.Import 注解3.AutoConfigurationImportSelector 类4.AutoConfigura…

JeecgBoot 3.6.1实现Modal对话框,以为审核数据为例

JeecgBoot 3.6.1实现Modal对话框 vue使用的是3.0版本 文章目录 JeecgBoot 3.6.1实现Modal对话框前言一、列表页面关键代码示例二、textAuditModal.vue代码示例三、test.api.ts总结 前言 在工作中,有一个需求,要求,在数据列表页,…

念念不忘智能编程,必有回响CodeArts Snap

开发者的碎碎念 之前在【我与ModelArts的故事】的文章里,分享过我学习新技术的经历,主要有: 自主学习,比如自学Python;借助华为云的产品边用边学。 在围着"编程学习"这座城池,外围来来回回转了…

AI部署开发指南:用vs2019编译OnnxRuntime-v1.16.2

前言 要详细了解一个系统的部署,对其源码进行调试可能是最好的办法。 Pytorch的部署几经改版,最大的特点依然是不稳定,或者使用libtorch这种稳定但优化力度不够的部署方案。 而稳定且通用的方案,目前仍然是export to onnx的办法…

HCIP:不同VLAN下实现网络互相通信

配置pc1 配置pc2 配置pc3 将sw1划分到vlan3 将sw3划分到vlan3 在sw1上进行缺省 将sw1上(g0/0/1)的untagged改成 1 3 则在pc1上ping pc2可通 在sw1上进行缺省 在sw3上(e0/0/1)打标记 则在pc1上ping pc3可通(实现互通&am…