Standford机器学习 神经网络(Neural Network)的表示

Programming Artificial Neural Networks Step by Step with Python 立即下载

        上一讲讲了如何用逻辑回归来解决分类问题,如果在两个类多维线性不可分的情况下,可以通过添加多项式项把向量投影到高维空间使得它线性可分。但这也存在一个问题,就是当选取的特征很多的时候,featurevector可能高达几千维,这就是维数爆炸的问题。

        比如,如果有一个n个feature的向量,如果用二次项去拟合,那么产生的多项式会有x1^2,x1x2,x1x3…;x2^2, x2x3, x2x4…;总共会有n^2项,如果要拟合成更高次数的多项式,那么它的项数会呈指数增长。

        在上面这种非线性分类的情况下,神经网络(Neural Network)就有它的用武之地了。神经网络是一种模拟人脑中神经细胞工作的方法。生物学中,神经网络由许许多多的神经元构成,每个神经元结构如下图:

                    

        神经元的工作原理大致是这样,通过树突接受其他神经元传递过来的信息,然后对信息进行某些加工后,神经元会通过轴突把加工后的信息传递到轴突终端然后再传递给其他神经元。至于它是怎么传递的,不是我们的研究范围。大量的神经元就组成了一个结构复杂的神经网络,每个神经元可以接受多个输入,也可以输出给多个神经元。

 

        现在来模拟一个神经元,可以表示成下图的样子,x1,x2,x3可以看成是树突来接收信息的输入,然后经过圆圈的处理后,把结果从轴突输出给下一个神经元。

 

 

          在逻辑回归中,可以把这个处理过程看成是一个神经元,X是输入,theta是这个神经元模型里的参数,输出就可以得到h(theta),由于x0一定是1的,为表示方便,可以先把它忽略掉,但是在计算的时候还是要考虑进去。然后就组成了这样一个神经网络。

 

        上面是一个多层的神经网络,第一层叫做输入层(input layer),最后只有一个圆圈的是输出层(outputlayer),输入层和输出层之外的全部层叫做隐层(hiddenlayer)。

        每个神经元中,有两个参数,ai(j)表示第j层的第i个激活,theta(j)表示的是第j层到第j+1层映射时控制函数映射的权重矩阵。

 

        上面那个神经网络,每一层的映射可以表示成下面的函数,因此theta肯定是一个(Sj+1)*((Sj)+1)的矩阵,每一行对应于下一层中的每个神经元,每一列对应于输入的feature数。

把这个表示成矩阵的形式就是a(i+1) = g(theta(i)*x(i)).根据这个公式,一层层下去,最后会得到一个输出,就是我们建的模型需要得到的值。

        举个例子,逻辑操作中的异或操作x1XORx2,输入是0,1或者1,0输出是1,输入时0,0或者1,1输出则是0,把它画到坐标系下可以看出是线性不可分的。接下去介绍的是如何用神经网络给它们分类,先看下面三个模型,htheta(x)就是逻辑回归中介绍的S型曲线,h(x)=1/(1+exp(-theta*x)),图1中,x1=0,x2=1时h(x)=1/(1+exp(10))=0;x1=1,x2=0时,h(x)=0;x1=1,x2=1时,h(x)=1/(1+exp(-10))=1,验证了输出时x1和x2的与运算。下面两个也一样,可以自己验证下。

 

由这三个模型作为隐层,可以建立XOR的神经网络模型,即

 

        这个模型中,隐藏分别作与和Nand操作,把这两个输出进行或运算,刚好得出异或运算,妙哉!

 

下面介绍一种多分类方法,one-VS-all

 

        在这个分类问题中,涉及到的类别多于两类,分类的思想就是,把问题先转化成两类问题,首先,把1类看成一类,2类和3类归成一类,就可以把1类分出来了,得到一个模型是

 

        类似的,把2类看成一类余下两类归成一类,把3类看成一类,余下两类归成一类,可以得出另外两个模型。

 

        预测的时候只要计算下三个模型H1,H2,H3每个的概率,取值最大的类别即是预测得到的类别。

 

        多类分类问题中,需要建立上面这样的一个神经网络,对于每一个输入,得到的输出有n个值,n是类别的个数,可以表示成n维的向量,这里举例是4类的情况,即

 

        至于该分类神经网络如何建立以及如何训练,在下周的机器学习课上会讲到。

 

       

神经气体和生长神经气体网络:用于聚类和拓扑学习的神经气体和生长神经气体的 MATLAB 实现-matlab开发 有关更多信息,请参见以下链接: http://yarpiz.com/77/ypml111-neural-gas-network 立即下载

相关推荐

Neural Network Design Demonstrations_nndesign_2014b

Neural Network Design提供的Matlab上的Demo, 神经网络

A Hierarchical Deep Convolutional Neural Network for Fast Artistic Style Transfer论文理解

A Hierarchical Deep Convolutional Neural Network for Fast Artistic Style Transfer论文理解 现有的网络有两个主要问题: 1.用于训练前向网络的style图片的分辨率都是固定的,这样会导致不同的分辨率出来的艺术效果差别比较大,容易匹配错误尺寸的风格图。 2.当前的网络捕获不到小的

1346

SRv6第二弹:SRv6基本概念

在SRv6网络编程中,不同的转发行为由不同的Function来标识,例如在RFC中定义了公认的End、End.X、End.DX4、End.DX6等。例如:R3使用报文的IPv6目的地址FC03::3查找Local SID表,命中到End SID,随后R3将报文SL减1,同时将SL=1的SID做为报文目标IPv6地址,并查路由表转发出去。SID支持静态配置或者动态分配,end-op、end、end.x、end-dt4、end-dt6、end-dx2推荐静态配置 ,便于网络运维,其他的SID可以动态分配。

wbyyy的博客 4249

分类神经网络把所有的input只能分成一类的原因/神经网络不能收敛/神经网络loss很大不下降

之前出现过两次这种情况,也就是出现这类情况,对于所有的输入,网络都只能判断成某一类,比如对于所有的输入,输出都是“猫”。还是总结下,当然如果有幸被大佬们看到的话,希望大佬们能给予补充。 做了一点实验,但是不是非常的全面,也没有考虑到每一种情况,而且对于参数的选择也比较随意。所以这个博客的结论是根据作者所采用的网络,一开始设置的超参得出的结论,仅供参考。 一、网络结构 本次实验采用的数据集是c...

ss2lyf的博客 1万+

手把手教你用OpenCore在Dell Optiplex 3060上安装黑苹果(含ALC255声卡修复)

本文提供了一份详尽的指南,教你如何在Dell Optiplex 3060微型台式机上安装黑苹果系统。文章重点解决了使用OpenCore引导时的核心配置,特别是针对Intel UHD 630核显的驱动优化和Realtek ALC255声卡的修复方案,旨在帮助用户打造一个稳定可用的macOS工作站。

weixin_29275257的博客 789

【零基础】手把手教你使用Docker部署Springboot项目(详细版)

还不会使用Docker部署Springboot项目的小伙伴,不妨进来看看呗,希望文中内容对你有所帮助!

fengprogrammer的博客 2万+

神经气体网络(NGN)和不断增长的神经气体网络(GNGN)研究(Matlab代码实现)

有许多种类的神经网络已经应用于特征提取、聚类和分类。流行的方法包括用梯度下降训练的多层感知器(MLP)、标准的反向传播前馈神经网络、自动联想神经网络(AANN)和Kohonen的自组织映射(SOM)。大多数神经网络的关键在于构建隐藏层。AANN需要一个以上的隐藏层来表示非线性可分离问题。AANN提取的特征数量等于单个标准隐藏层中的节点数量。通常,该层保持较小以确保有效编码。MLP可以被视为在其隐藏层中实现特征空间的非线性投影。它们的构造必须使输入节点的数量与原始特征的数量(数据的维度)相匹配,而输出节点的数

weixin_46039719的博客 1208

【项目案例】前后端分离项目 【Web图书管理系统 】SpringBoot + Vue + Element UI + Mysql

Web图书管理系统

激流丶的博客 5397

初识神经网络

y=y=x1XNORX2代表当x1,x2全为0或1的时候y=1,否则y=0。2、对上图进行简化,其实我们的训练集中包含许多图片,有人、汽车、摩托车、卡车等。x(i)代表一张图片,y(i)则代表一个四维向量。通过上述例子,我们可以体会到,通过输入层的数据,经过隐藏层,一层一层地进行加工,最终得到输出。2、在神经网络中,激活函数是指待非线性函数g(z),例如我们在简单逻辑回归中的g(z)一样。3、我们之前的学习中,我们通常称θ为参数,但是在有写文献中,会称它为权重,两者含义相同。...

qq_45249251的博客 520

PX4自定义uORB消息与MAVLink消息映射实战:从飞控到QGC地面站完整流程解析

本文详细解析PX4飞控中自定义uORB消息与MAVLink消息映射的完整流程,涵盖从飞控内部消息定义、MAVLink消息创建到QGC地面站接收显示的全链路实践。重点介绍如何使用mavlink inspector工具进行调试,解决版本兼容性和多实例消息处理等常见问题,为无人机开发者提供可靠的实时数据监控方案。

ll5678的博客 1067

使用3sigma原则去除数据表中的极端值

本文使用3sigma解决数据表中出现的极端值问题,其中包括基本原理、使用原则(检验方法)、代码展示这3个部分

qq_51397866的博客 4380

解析大模型的参数世界:权重、偏差及不可解释性

我们今天讨论了模型参数的本质、作用及其重要性。模型参数,无论是权重还是偏差,都是定义神经网络行为的核心因素,它们如同是模型的神经系统,通过调节和学习,使得模型能够捕捉复杂的数据模式,从而执行如分类、预测等任务。然而,正如本文所述,尽管参数的数量和复杂度为模型提供了学习深层模式的能力,它们也带来了不可解释性和计算负担。每一个进步,特别是接二连三的大模型技术的突破,无论是参数的增加还是模型结构的优化,都让我们离“理解”模型的真正工作原理更远一步。

python1234567_的博客 2656

【工具插件类教学】Unity翻书效果插件Book-Page Curl Pro教程

特征: • 从左到右和从右到左翻页 • 与画布缩放器 配合使用 • 可配置的自动翻转脚本 • 支持向页面 添加 UI 元素 • 支持透明页面 • 适用于“世界空间”画布

纯技术流日常开发商业开发记录总结等 3674

Standford NG机器学习 神经网络(Neural Network)的表示

上一讲讲了如何用逻辑回归来解决分类问题,如果在两个类多维线性不可分的情况下,可以通过添加多项式项把向量投影到高维空间使得它线性可分。但这也存在一个问题,就是当选取的特征很多的时候,featurevector可能高达几千维,这就是维数爆炸的问题。         比如,如果有一个n个feature的向量,如果用二次项去拟合,那么产生的多项式会有x1^2,x1x2,x1x3…;x2^2, x2x

追梦船的专栏 1552

Python赋能,洞见先机:构建基于异步爬虫与流处理的实时舆情监控系统

我们将从核心概念入手,逐步搭建一个集。.option("es.resource", "public-opinion-%s" % time.strftime("%Y-%m-%d")) \ # 按日期分索引。| 数据采集层 |----->| 消息队列层 |----->| 流处理与分析层 |----->| 存储与可视化层 |:使用Spark Streaming的状态操作或Flink的CEP库,检测更复杂的模式,如“某关键词的负面舆情在1小时内激增500%”。

2201_76125261的博客 434

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Standford机器学习 神经网络的学习(Neural Network Learning)

上一讲讲了神经网络的表示,神经网络中,从前一层映射到后一层的需要有个一个权重矩阵Theta和激活函数,映射后可以得到该层神经元的activation。如何来学习Theta是本讲要解决的内容。 首先,对于一个分类问题,如果是两类问题,输出层只需要有一个神经元,输出1为正类,输出0为负类。而对于多类的问题,需要有多个神经元。定义一个神经网络,如下:   它的输出是一个向量,如图,假设

Jackie_Zhu的专栏 3095

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【ng公开课笔记05】神经网络

一、非线性假设 当特征数量太多时,如果再用多项式进行预测,项数会非常多(\(n^2/2\)) 所以普通的线性回归和逻辑回归将不能很好的解决这类复杂的问题,因此模拟人的大脑,构建了神经网络 二、模型表示 神经元模型: hθ(x)=g(θTx)=11+e−θTx,我们称这是一个以S型函数作为激励函数的人工神经元 每个神经元都是一个学习模型,它采纳一些特征作为输入,并产生一个输出,θ在神...

aishi5755的博客 213

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

复杂非线性函数的神经网络算法

x1 XOR x2 表示当这两个值恰好其中一个等于1时这个式子成真为1x1 XNOR x2 表示当这两个值恰好其中一个等于1时这个式子成真的相反,为0,要都不成真 AND是逻辑与的意思+1为偏置单元,为x0逻辑或的参数西塔的取值 逻辑非的神经网络参数西塔取值 逻辑异或的神经网络算法,只有输入相同时才输出1,否则输出0。 用一个四维向量输出结果来完成图像识别功能 x代表图片,y代表输出的是0或者1,x和y维数相同...

woahxy的博客 417

NG 神经网络 构建网络基础

import numpy as np import pandas as pd # 两层神经网络 # sigmoid 函数 输出0-1 分界为0.5 print('-----------------------------两层神经网络-----------------------------------') def nonlin(x,deriv=False): if(deriv==

Qton_优快云的博客 938

Ng机器学习笔记 神经网络

神经网络非线性假设模型的表示前向传播算法( FORWARD PROPAGATION )向量化特征和直观理解单层神经元的计算表示逻辑运算逻辑与(AND)OR函数二元逻辑运算符多类分类代价函数 非线性假设 之前学的缺点:特征太多时,计算的负荷大。 普通的逻辑回归模型,不能有效地处理很多特征。 模型的表示 前向传播算法( FORWARD PROPAGATION ) 类似于神经元的神经网络: x1x_1x1​, x2x_2x2​, x3x_3x3​:输入单元(input units),原始数据输入。 a1a_1

DoloresFinch的博客 387

《深度学习Ng》课程学习笔记01week3——浅层神经网络

3.1 神经网络概览3.2 神经网络表示3.3 计算神经网络的输出 对应的正向传播公式:3.4 多个例子中的向量化3.5 向量化实现的解释3.6 激活函数更多可以参阅《神经网络-激活函数对比》3.7 为什么需要非线性激活函数?如果没有非线性激活函数,那么神经网络其实就是只是单个神经元的线性组合: 3.8 激活函数的导数sigmoidTanhReLU3.9 神经网络的梯度下降法更多可见 : htt

1814

NG 神经网络 多分类

import numpy as np import pandas as pd def nonlin(x,deriv=False): if(deriv==True): return x*(1-x) return 1/(1+np.exp(-x)) A = pd.read_table('DATA/ANN_mix.txt',header=None,usecols

Qton_优快云的博客 605

Andrew Ng机器学习入门学习笔记(四)之神经网络(二)

本文主要记录了神经网络的代价函数,神经网络中梯度下降的用法,反向传播,梯度检验,随机初始化等理论,并附上课程作业中相关部分的matlab代码及注释。有关神经网络的概念,模型,以及利用前向传播预测分类的计算可参看Andrew Ng机器学习入门学习笔记(四)之神经网络(一) http://blog.youkuaiyun.com/scut_arucee/article/details/50144225 一.神经网

SCUT_Arucee的博客 3940

Andrew Ng机器学习入门学习笔记(四)之神经网络(一)

一.神经网络的优势对于复杂的非线性分类问题,当特征变量个数nn很大时,用逻辑回归时S型函数g(θTx)中的θTxS型函数g(\theta^Tx)中的\theta^Tx如果用二次多项式表示,则二次项数目很多,约为n2n^2,计算复杂度达到o(n2)o(n^2);如果用三次多项式表示,则三次项数目更多,复杂度达o(n3)o(n^3)。而神经网络能很好的解决上面那种复杂的非线性分类问题。二.神经网络的模型

SCUT_Arucee的博客 3335
上一篇: Standford机器学习 逻辑回归(Logistic Regission)以及过拟合问题解决(Regularization)
下一篇: BP神经网络学习及matlab实现
Jackie_Zhu
博客等级 码龄18年 343粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值