神经网络:表述(Neural Networks: Representation)

1.非线性假设

无论是线性回归还是逻辑回归,当特征太多时,计算的负荷会非常大。
案例:
在这里插入图片描述
假设我们有非常多的特征,例如大于 100 个变量,我们希望用这 100 个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合,即便我们只采用两两特征的组合(𝑥1𝑥2 +𝑥1𝑥3 + 𝑥1𝑥4+. . . +𝑥2𝑥3 + 𝑥2𝑥4+. . . +𝑥99𝑥100),我们也会有接近 5000 个组合而成的特征。这对于一般的逻辑回归来说需要计算的特征太多了。
假使我们采用的都是 50x50 像素的小图片,并且我们将所有的像素视为特征,则会有
2500 个特征,如果我们要进一步将两两特征组合构成一个多项式模型,则会有约2500的平方/2个(接近 3 百万个)特征。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络。

非线性假设是指在模型中存在非线性关系的假设。在机器学习中,许多算法都是基于线性关系的假设,即输入特征和输出目标之间存在线性关系。然而,在实际问题中,这种线性关系可能并不存在,或者非线性关系可能更为复杂和重要。

非线性假设的引入是为了解决线性模型无法很好地拟合非线性数据的问题。非线性模型能够更好地拟合数据,提高模型的预测精度和稳定性。

在机器学习中,有许多非线性模型可供选择,例如决策树、支持向量机、神经网络等。这些模型能够处理各种复杂的非线性关系,并且具有不同的优缺点和适用场景。

在实际应用中,需要根据具体问题和数据特征选择合适的非线性模型。在选择模型时,需要考虑模型的复杂度、可解释性、泛化能力等因素。同时,也需要对数据进行适当的预处理和特征选择,以提高模型的训练效果和预测精度。

2.神经元和大脑

在这里插入图片描述
大脑的这一部分这一小片红色区域是你的听觉皮层,你现在正在理解我的话,这靠的是耳朵。耳朵接收到声音信号,并把声音信号传递给你的听觉皮层,正因如此,你才能明白我的话。
在吴恩达的课程中,机器学习中的神经网络可以被认为是受到人类大脑神经元网络的启发而设计的一种模型。神经网络是一种用于处理和学习数据的算法,其结构由多个人工神经元组成,这些神经元通过连接进行信息传递。

在机器学习中,神经网络的目标是通过学习输入数据和相应的输出之间的关系,来构建一个模型,从而能够进行预测和分类任务。神经网络通过多个层次的神经元组成,包括输入层、隐藏层和输出层。每个神经元接收来自上一层神经元的输入,并通过激活函数对输入进行处理,然后将结果传递给下一层神经元。通过调整神经元之间的连接权重,神经网络可以学习数据中的模式和特征。

与大脑相比,机器学习中的神经网络只是对大脑神经元网络的简化模型。尽管神经网络的设计灵感来自于大脑,但它并不完全模拟和复制大脑的功能和结构。然而,神经网络的训练和学习过程可以提供一种近似大脑学习的方式,因为它们可以通过调整连接权重来适应输入数据的模式和特征。

总的来说,神经网络是机器学习中一种常用且强大的模型,它使用多层次的人工神经元来学习数据的模式和特征。尽管受到大脑的启发,但神经网络只是对大脑的简化模型,并不能完全模拟和复制大脑的功能。

机器学习中的神经元和大脑与生物学中的神经元和大脑相似,但存在一些重要的区别。

在机器学习中,神经元通常被称为神经网络中的节点或单元,它们通过加权连接相互连接。每个神经元接收来自其他神经元的输入,并根据这些输入和相应的权重进行计算,产生输出信号。这个过程模拟了生物学中神经元的电化学信号传递过程。

与生物学中的大脑类似,机器学习中的神经网络也通过大量神经元的相互作用实现复杂的认知功能。然而,与实际的大脑不同,机器学习中的神经网络是静态的,即它们的结构和连接不会随时间改变。此外,机器学习中的神经网络通常比实际的大脑更简单,并且缺乏大脑的许多复杂结构和功能。

尽管存在这些差异,机器学习中的神经网络和生物学中的大脑在处理信息方面有许多相似之处。例如,两者都使用并行处理和分布式存储,通过学习不断优化其结构和功能。此外,两者都具有一定的容错性和自适应性,能够处理不完全或错误的信息,并从中学习和适应。

总之,机器学习中的神经元和大脑是模拟生物学中神经元和大脑的概念,它们在处理信息方面有许多相似之处。然而,由于机器学习和生物学的本质差异,两者在实现这些功能时的机制和结构存在显著差异。

3.模型表示1

每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。
在这里插入图片描述
神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输出。下图是一个以逻辑回归模型作为自身学习模型的神经元示例,在神经网络中,参数又可被成为权重(weight)。
在这里插入图片描述
其中𝑥1, 𝑥2, 𝑥3是输入单元(input units),我们将原始数据输入给它们。
𝑎1, 𝑎2, 𝑎3是中间单元,它们负责将数据进行处理,然后呈递到下一层。
最后是输出单元,它负责计算ℎ𝜃(𝑥)。
神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。下图为一个 3 层的神经网络,第一层成为输入层(Input Layer),最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增加一个偏差单位(bias unit):
在这里插入图片描述
在这里插入图片描述
上面进行的讨论中只是将特征矩阵中的一行(一个训练实例)喂给了神经网络,我们需要将整个训练集都喂给我们的神经网络算法来学习模型。
我们可以知道:每一个𝑎都是由上一层所有的𝑥和每一个𝑥所对应的决定的。
(我们把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION )
把𝑥, 𝜃, 𝑎 分别用矩阵表示,我们可以得到𝜃 ⋅ 𝑋 = 𝑎 :

在这里插入图片描述

4.模型表示2

前向传播算法相对于使用循环来编码,利用向量化的方法会使得计算更
为简便。以上面的神经网络为例,试着计算第二层的值:
在这里插入图片描述
神经网络的工作原理,把左半部分先遮住:
在这里插入图片描述
其实神经网络就像是逻辑回归(将结果限制在0到1之间,从而表示为概率),只不过我们把 逻辑回归(logistic regression) 中的输入向量
[𝑥1 ∼ 𝑥3
] 变成了中间层的[𝑎1
(2)
∼ 𝑎3
(2)
], 即:

把𝑎0, 𝑎1, 𝑎2, 𝑎3看成更为高级的特征值,也就是𝑥0, 𝑥1, 𝑥2, 𝑥3的进化体,并且它们是由 𝑥与决定的,因为是梯度下降的,所以𝑎是变化的,并且变得越来越厉害,所以这些更高级的特征值远比仅仅将 𝑥次方厉害,也能更好的预测新数据。这就是神经网络相比于逻辑回归和线性回归的优势。

5.特征和直观理解1

在神经网络中,原始特征只是输入层,
在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。
神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)。
举例说明:逻辑与(AND);下图中左半部分是神经网络的设计与 output 层表达式,右边上部分是 sigmod 函数,下半部分是真值表。
我们可以用这样的一个神经网络表示 AND 函数:
在这里插入图片描述
在这里插入图片描述

6.样本和直观理解 II

二元逻辑运算符(BINARY LOGICAL OPERATORS)当输入特征为布尔值(0 或 1)时,我们可以用一个单一的激活层可以作为二元逻辑运算符,为了表示不同的运算符,我们只需要选择不同的权重即可。
在这里插入图片描述
我们可以利用神经元来组合成更为复杂的神经网络以实现更复杂的运算。例如我们要实现 XNOR 功能(输入的两个值必须一样,均为 1 或均为 0),即:
在这里插入图片描述

7.多类分类

案例:
当有不止两种分类时(也就是𝑦 = 1,2,3 ….),比如以下这种情况,该怎么办?如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有 4 个值。例如,第一个值为 1 或 0 用于预测是否是行人,第二个值用于判断是否为汽车。
解决思路:
在这里插入图片描述

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

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

相关文章

Win10 如何用powershell写个WOL开机脚本

环境: Win10 专业版 问题描述: Win10 如何用powershell写个WOL开机脚本 解决方案: 1.脚本内容 $mac b1-10-18-52-11-12 $macBytes $mac -split - | ForEach-Object { [byte](0x $_) } $broadcastAddress [byte[]](1..6 | ForEach-O…

springboot导出数据到excel模板,使用hutool导出数据到指定excel,java写入数据到excel模板

最近遇到一个需求,需要从数据库查询数据,写入到对应的excel导入模板中。再把导出的数据进行修改,上传。 我们项目用的是easyExcel,一顿百度搜索,不得其法。 主要是要把数据填充到指定单元格中,跟平时用到的…

【Android】细数Linux和Android系统中的伪文件系统

文章目录 前言Linux伪文件系统cgroupfsLinux的cgroupsAndroid的cgroups debugfsfunctionfs(/dev/usb-ffs/adb)functionfs 的引入sysfs是什么 procfs(/proc)pstore(/sys/fs/pstore)selinuxfs(/sys/fs/selinux)sysfs(/sys)参考 前言 做了好些年Android开发,你了解过L…

Java Web(二)--HTML

基本介绍 官网文档地址: HTML 教程 HTML(HyperText Mark-up Language)即超文本标签语言;HTML 文本是由 HTML 标签组成的文本,可以包括文字、图形、动画、声音、表格、链接等;HTML 的结构包括头部(Head&…

学校“数据结构”课程Project—扩展功能(自主设计)

目录 一、设想功能描述 想法缘起 目标功能 二、问题抽象 三、算法设计和优化 1. 易想的朴素搜索 / dp 搜索想法 动态规划(dp)想法 2. 思考与优化 四、算法实现 五、结果示例 附:使用的地图API 一、设想功能描述 想法缘起 OSM 导出…

汽车网络架构与常用总线汇总

汽车CAN总线简述 CAN 是控制器局域网Controller Area Network 的缩写,1986年,由德国Bosch公司为汽车开发的网络技术,主要用于汽车的监测与控制,目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。…

TA百人计划学习笔记 3.1.1模板测试

资料 源视频 【技术美术百人计划】图形 3.1 深度与模板测试 传送门效果示例_哔哩哔哩_bilibili ppt 3100-模板测试与深度测试(1) 参考 Unity Shader: 理解Stencil buffer并将它用于一些实战案例(描边,多边形填充,反射区域限定,阴影…

c++学习笔记-STL案例-机房预约系统6-老师模块

前言 衔接上一篇“c学习笔记-STL案例-机房预约系统5-学生模块”,本文主要设计老师模块,从,老师登录和注销、查看所有预约、审核预约三个方面进行分析和实现。 目录 9 教师模块 9.1 教师登录和注销 9.1.1 构造函数 9.1.2 教师子菜单 ​编…

Linux7 安装 Oracle 19C RAC 详细图文教程

实战篇:Linux7 安装 Oracle 19C RAC 详细图文教程 本文是按照:https://www.modb.pro/db/154424的思路进行编写 一、安装前规划 安装RAC前,当然要先做好规划。具体包含以下几方面: 节点主机版本主机名实例名Grid/Oracle版本Publi…

鸿蒙原生开发-仿ChatGPT应用实战

运行环境 DAYU200:4.0.10.16 SDK:4.0.10.15 IDE:4.0.600 前言 在配置好环境之后,可以尝试这编写一个较为简单的应用程序练练手,这里选择使用一个免费的API接口网站 ALAPI来尝试编写一个可进行对话的GPT应用程序。 创建项目 …

SQL注入示例

例一、基础SQL注入:load_file读文件 CISP-PTE 认证考试 首先是有单引号和括号的,首要是要闭合,然后回显点是在-1的位置,读取文件上面的key的话使用的是load_file(/tmp/360/key) id-1)%09ununionion%09select%091,2,3,load_file…

【算法与数据结构】322、LeetCode零钱兑换

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题可以抽象成一个完全背包问题。 第一步, d p [ j ] dp[j] dp[j]的含义。 d p [ j ] dp…

Unity之Cinemachine教程

前言 Cinemachine是Unity引擎的一个高级相机系统,旨在简化和改善游戏中的相机管理。Cinemachine提供了一组强大而灵活的工具,可用于创建令人印象深刻的视觉效果,使开发人员能够更轻松地掌控游戏中的摄像机行为。 主要功能和特性包括&#x…

Springboot+vue的医院后台管理系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的医院后台管理系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的医院后台管理系统,采用M&#xff08…

LeetCode、875. 爱吃香蕉的珂珂【中等,最小速度二分】

文章目录 前言LeetCode、875. 爱吃香蕉的珂珂【中等,最小速度二分】题目及分类思路分析及代码实现代码优化 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Ja…

如何修改flutter的minSdkVersion版本?

在使用第三方插件的时候,插件对最低的 minSdkVersion版本是有要求的,你比如flutter 插件 webview_flutter 就会报一下错: minSdkVersion 16 cannot be smaller than version 19 declared in library 解决方法①: 这个时候我们需…

Python爬虫框架选择与使用:推荐几个常用的高效爬虫框架

目录 前言 一、Scrapy框架 1. 安装Scrapy 2. Scrapy示例代码 3. 运行Scrapy爬虫 二、Beautiful Soup库 1. 安装Beautiful Soup 2. Beautiful Soup示例代码 3. 运行Beautiful Soup代码 三、Requests库 1. 安装Requests库 2. Requests示例代码 3. 运行Requests代码 …

【蓝桥杯--图论】最小生成树prim、kruskal

今日语录&#xff1a;成功不是终点&#xff0c;失败不是致命&#xff0c;勇气才是取胜的关键。 文章目录 prim算法kruskal算法(稀疏图) prim算法 #include <cstring> #include <algorithm> #include <iostream>#define _CRT_SECURE_NO_WARNINGS using names…

8 种网络协议

什么是网络协议&#xff1f; 网络协议就是计算机之间沟通的语言&#xff0c;为了有效地交流&#xff0c;计算机之间需要一种共同的规则或协议&#xff0c;就像我们和老外沟通之前&#xff0c;要先商量好用哪种语言&#xff0c;要么大家都说中文&#xff0c;要么大家都说英语&a…

微信小程序实现长按 识别图片二维码

第一种方案&#xff08;只需要在image里面加一个属性就可以了&#xff09; show-menu-by-longpress“{{true}}” <image show-menu-by-longpress"{{true}}" src"{{sysset.dyqewm}}" />第二种方案 放大预览图片&#xff0c;长按识别二维码 wxml <…