6. 神经网络

news2024/11/24 20:14:14

6.1 非线性假设

假设有一个监督学习分类问题,训练集如图

 如果利用logistic回归来解决这个问题,我们可以构造一个包含很多非线性项的logistic回归函数。

但在这个训练集只给出了两个特征,如果一旦特征变多了,多项式就会变得很多。就会出现过拟合、计算量大的问题。

以识别一张图片是否为汽车为例子:

 对于识别图像中的一个门把手,对于我们人来说一下子就能看出来,但是对于计算机则是要通过一个像素亮点矩阵来告诉我们这些数值代表一个汽车门把手。

具体说来,用机器学习算法构造一个汽车识别器时,我们要做的就是提供一个带标签的样本集,其中一些样本是各类汽车,另一部分样本不是车,将这个样本集输入给学习算法来训练出一个分类器。然后我们进行测试,输入一幅新的图片,让分类器判定这是什么东西,理想情况下是能识别出是什么。

 假设我们用的图片像素为50 * 50,有2500个像素点,因此特征向量N为2500。这还是在使用灰色图像的情况下,如果是RGB彩色图像,则有7500个像素点。

在简单的非线性假设上,使用logistic回归是没有问题的 ,但是在复杂的非线性假设上就不太适用了。而这个时候,神经网络在学习复杂的非线性假设上被证明是一种好得多的算法。

6.2 神经元与大脑

神经网络的起源:人们想设计出模仿大脑的算法,它的理念就是如果我们想要建立学习系统,那为什么不去模仿我们所认识的、最神奇的学习机器——人类的大脑呢?

讲述了一些大脑学会“看”“听”的例子

6.3 模型展示

在运用神经网络时,我们该如何表示我们的假设或模型?

神经网络模仿了大脑中的神经元或者神经网络,为了解释如何表示假设模型

 简而言之:神经元是一个计算单元,它从输入通道接受一定数目的信息并做一些计算,然后将结果通过它的轴突(Axon)传送到其他节点或者大脑中的其他神经元。

现在我们将神经元模拟成一个逻辑单元

 一般就会写出三个参数,有时候会额外添加一个参数:x_{0},有时也被称作偏置单元或者偏置神经元。但因为x_{0}总是等于1,有时候会表达出来有时候不会,取决于具体例子。

 关于神经网络的术语

  • 有时我们会说上述的逻辑单元是一个带有sigmoid或者logistic激活函数的人工神经元。其中激活函数是指非线性函数g(z) = \frac{1}{1+e^{-z}}的另一个术语。
  • 我们之前所使用的\theta参数集合都是默认说是模型的参数,但在有一些文献里面也被称为权重,但两者其实是一样的东西。
  • 在网络中的第一层也被称作为输入层,最后一层则被称作输出层,中间层第二层被称为隐藏层(在下图所示的例子中)

上面途中所表示的只是单个神经元,但其实神经网络就是一组神经元连接在一起的集合。具体来说,下图是我们的输入单元是x_{1},x_{2},x_{3}(可以额外加x_{0}),紧接着是三个神经元a_{1}^{(2)},a_{2}^{(2)},a_{3}^{(2)}(也可以额外加a_{0}^{(2)}),最后的一个节点进行计算并输出。

为了更好的解释这个神经网络的具体步骤,还需要记一些记号:

  • a_{i}^{(j)}:表示第j层第i个神经元或单元的激活项(激活项是指由一个具体的神经元计算并输出的值)
  • \Theta^{(j)}:神经网络被这些矩阵参数化也就是\theta^{(j)},权重矩阵。它控制从某一层,比如说从第一层到第二层或者第二层到第三层的映射的参数矩阵。

下面是计算的过程

如果一个网络在第j层有s_j个单元,在j+1层有s_j+1个单元,那么矩阵\Theta^{(j)}即控制第j层到第j+1层的映射的矩阵,它的维度是s_{j+1}*(s_{j}+1),就比如上图的\Theta^{(j)}就是3X4的矩阵。

神经网络的向量化:

 在这里的输入层的x可以更换成a^{(1)},在上图中的计算过程被称作前向传播,这样叫的原因是:我们从输入单元的激活项开始,然后进行前向传播给隐藏层,计算隐藏层的激活项,继续前向传播并计算输出层的激活项。这个依次计算激活项,从输入层到隐藏层再到输出层的过程叫前向传播。

如果把输入层遮住,只看隐藏层和输出层,会发现很像逻辑回归。表面上是类似的,但实际上是不同的,因为输入的特征变化了,逻辑回归的输入特征是x而神经网络的输入变成了处理后的a。

6.4 神经网络计算的例子

 XOR(异或):相同为0,相异为1;XNOR:相同为1,相异为0。

先从AND开始理解:假设有2个二进制的输入x_{1},x_{2}\in {0,1}y = x_{1} AND x_{2}

 可以看到右下角的真值表,会发现是逻辑与的结果

再来看看逻辑或

结合上面的,现在来推演XNOR

 6.5 多元分类

 6.6 代价函数

重点会放在神经网络在分类问题中的应用。

 代价函数:

logistic regression(逻辑回归):

J(\theta) = -\frac{1}{m}\left [ \sum_{i=1}^{m}y^{(i)}\log h_{\theta}(x^{(i)}) + (1-y^{(i)}) \log (1-h_{\theta}(x^{(i)})) \right ] + \frac{\lambda }{2m}\sum_{j=1}^{n}\theta_{j}^{2}

大括号后面那一项是额外的正则项,因为我们并没有把偏差项\theta_{0}正则化,所以j从1到n。

Neural network(神经网络):

h_{\Theta}(x)\in \mathbb{R}^{K}(h_{\Theta}(x))_{i}=i^{th}

J(\Theta) = -\frac{1}{m}\left [ \sum_{i=1}^{m}\sum_{k=1}^{K}y_{k}^{(i)}\log( h_{\Theta}(x^{(i)}))_{k} + (1-y_{k}^{(i)}) \log (1-(h_{\Theta}(x^{(i)}))_{k}) \right ] + \frac{\lambda }{2m}\sum_{l=1}^{L-1}\sum_{i=1}^{s_{l}}\sum_{j=1}^{s_{l+1}}(\Theta_{ji}^{(l)})^{2}

其中:l代表层数、i代表当前层的输入参数个数、j代表当前的单元数;L表示第几个层,s_{l}表示当前的输出层的,s_{l}+1表示输出的个数(即几个y)。

 6.7 反向传播算法

利用梯度下降或者其他什么高级优化算法,我们需要做的就是写一段代码,获得输入参数\Theta,然后计算J(\Theta),和偏导项。

 当我们只有一个训练样本的情况时,也就是一个实数对(x, y),我们来看看计算的顺序是什么。首先我们应用前向传播方法来计算在给定输入时,假设函数是否会真的输出结果。具体地说,这里的a^{(1)}就是第一层的激活值,然后我们来计算z^(2),紧接着a^{(2)} = g(z^{(2)}),g是一个sigmoid激活函数,一直重复上述步骤,具体过程如下图。

 而反向传播算法从直观上说就是对每个结点,我们计算这样一项\delta _{j}^{(l)},就用这种方式代表了第l层第j个结点的误差。a_{j}^{(l)}则表示第l层第j个单元的激活值。这个\delta项从某种意义上就捕捉到了我们在这个神经结点的激活值的误差,所以我们可能希望这个结点的激活值稍微不一样。具体地讲,我们用下图有四层的神经网络结构作为例子。

计算过程如下:对于每一个输入单元,我们将计算\delta项,所以第四层的第j个单元的\delta = 第j单元的激活值 - 训练样本第j个元素的真实值0。所以a_{j}^{(4)}项可以写成(h_{\Theta}(x))_{j}。所以\delta这一项就是假设的输出值和训练集y值之间的差。

 第一层是输入的值,不用考虑误差项。

总结一般情况的反向传播算法:

 其中 那个三角形的符号就是\delta的大写。

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

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

相关文章

1951-2023最新中国基础地理信息,包括水系、行政区、DEM高程、气象站经纬位置、土地利用,这些数据获取方法介绍

水系: 流域内所有河流、湖泊等各种水体组成的水网系统,称作水系。其中,水流最终流入海洋的称作外流水系,如太平洋水系、北冰洋水系;水流最终流入内陆湖泊或消失于荒漠之中的,称作内流水系。 [1] 流域面积的…

File 类和 InputStream, OutputStream 的用法

目录 1.文件系统操作 File 类 2.文件内容操作 InputStream 1.创建InputStream类对象 2.读文件 OutputStream 1.创建OutputStream类对象 2.写文件 上篇博客我们详情介绍了文件系统的相关知识。在文件系统操作中,由于文件是在硬盘上的,直接写代…

分布式系统入门概述

前言 随着互联网、物联网、人工智能等技术的广泛应用,计算机系统正在逐渐从单机转向网络化和分布式的趋势。那么,什么是分布式系统呢? 分布式概要 简而言之,分布式系统是由多个节点组成的,这些节点运行在不同的计算机上…

企业IDC服务器迁移上云视频教程来了(Windows和Linux)

上云是趋势,越来越多企业的IDC服务器选择迁移上云,迁移上云的方式有很多,阿里云提供服务器迁移中心SMC来帮助用户迁移上云。使用SMC服务器迁移中心,将您的源服务器方便快捷地迁移至阿里云,支持的迁移源类型包括IDC服务…

2 ElasticaSearch安装

2 ElasticaSearch安装 2.1 安装 安装配置: 1、新版本要求至少jdk1.8以上。 2、支持tar、zip、rpm等多种安装方式。 在windows下开发建议使用ZIP安装方式。 3、支持docker方式安装 详细参见:https://www.elastic.co/guide/en/elasticsearch/refere…

Unity大面积草地渲染——3、使用GPUInstancing渲染大面积的草

大家好,我是阿赵。 这里开始讲大面积草地渲染的第三个部分,使用GPU Instancing来渲染大面积的草。 一、在不使用GPU Instancing时的渲染情况 为了能看性能明显一点,我写了个工具,在10乘10的范围内生成了一万棵草。 由于我的电…

【Python】本地版 Whisper 自动转录器(附源码网址)

目 录 一、实时自动语音转录器简介 二、开源Whisper实时转录器 三、pyinstaller 打包发布exe应用程序四、修改版源代码 一、实时自动语音转录器简介 实时自动语音转录器是一种能够自动将语音信号转换为文字的应用程序。…

【机器学习】机器学习相关概念简述

一、什么是机器学习 机器学习指的是,在没有明确设置的情况下,使得计算机拥有自我学习能力的领域。 二、监督学习和无监督学习 2.1 监督学习 监督学习是指,我们给予算法一个数据集,其中的数据包含了若干个标签。一个例子就是给…

pdf怎么转换成jpg图片

pdf怎么转换成jpg图片?PDF格式可以在电脑和手机上使用,而且其内容不会被篡改。同时,PDF的通用兼容性较强,而且PDF文件操作简单,易于创作。PDF文件格式应用较为广泛。在我们创建PDF文件时,无论在何处查看数据…

OpenGL超级宝典第七章学习笔记:顶点处理与绘图命令

前言 本篇在讲什么 OpenGL蓝宝书第七章学习笔记 本篇适合什么 适合初学OpenGL的小白 本篇需要什么 对C语法有简单认知 对OpenGL有简单认知 最好是有OpenGL超级宝典蓝宝书 依赖Visual Studio编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理论&…

Playground AI:免费绘画图像创作工具

【产品介绍】 Playground AI是一个免费的在线 AI绘画 图像创作工具。你可以用它来创作艺术作品、社交媒体帖子、演示文稿、海报、视频、logo 等等。 Playground AI 的核心技术是基于深度学习的图像生成模型,它可以根据你的输入文字或图片,自动合成出高质…

数组的应用

数组的应用 一、数组的定义二、切片替换删除数值元素 二、数组追加元素三、数组与函数相结合 一、数组的定义 相当于一串数据的集合,以空格相间隔的字符串列表,两边用括号括起来 echo ${shuzu[]}中的代表着显示所有的下标内容,当然&#…

【C++初阶】类和对象(三)

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C初阶 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C初阶】…

无线蓝牙耳机佩戴舒适的有哪几款?佩戴舒适的蓝牙耳机推荐

自从真无线蓝牙耳机产品推出以来,它已经逐渐成为了当代年轻人外出必带的随身数码产品。虽然市面上不缺好产品,但大家对于蓝牙耳机的佩戴舒适度害死更加重要的,下面就来分享几款佩戴舒适的蓝牙耳机吧。 一、南卡小音舱Lite2蓝牙耳机 参考价格…

Android studio单独导入官方例程camera-calibration

1.官方例程camera-calibration 2.将官方例程camera-calibration copy到AndroidStudioProjects项目目录下 3修改AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android“http://schemas.android.com/apk/res/andr…

2007年计算机真题

2007年计算机真题 数学基础部分 一、用逻辑符号表达下列语句&#xff08;每小题 2 分&#xff0c;共 4 分&#xff09; 1&#xff0e;分别用两种量词形式写出&#xff1a;在北京居住的人未必都是北京人。 答: 全域: 所有人 P ( x ) \mathrm{P}(\mathrm{x}) P(x) 表示 x \…

「企业应用架构」应用架构概述

在信息系统中&#xff0c;应用架构或应用架构是构成企业架构&#xff08;EA&#xff09;支柱的几个架构域之一 应用架构描述了业务中使用的应用程序的行为&#xff0c;重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据&#xff0c;而不是它们的内…

问题杂谈(三十)项目中引入Geotools

步骤 在pom.xml中确定好需要引入的模块&#xff0c;根据自己的需要修改 <!--geotool工具包--><dependency><groupId>org.geotools</groupId><artifactId>gt-epsg-hsql</artifactId><version>27.1</version></dependency&g…

这个学期,110多所高校把AI和大模型带进校园

2023 年春季学期&#xff0c;飞桨校园 AI Day 已登陆全国 114 所高校&#xff0c;为同学们提供了丰富的 AI 学习交流机会。 截至目前&#xff0c;超过 400 所高校的同学线上参与 AI 知识竞赛 PK &#xff0c;累计 2 万余名同学参与春季 AI Day 活动&#xff0c;更有 65 所高校举…

Express框架的路由配置

Express 是一个流行的基于 Node.js 的 Web 开发框架&#xff0c;它可以帮助我们快速搭建一个 Web 应用程序。在 Express 中&#xff0c;路由是一个非常重要的概念。路由指的是根据客户端请求的不同路径和 HTTP 方法来执行不同的处理逻辑。在本篇博客中&#xff0c;我们将介绍如…