【AI】神经网络

文章讨论了在特征过多时线性模型如逻辑回归的局限性,提出了非线性多项式模型的概念。当特征数量巨大,如图像识别中的像素点,传统的逻辑回归无法有效处理。此时,神经网络成为解决方案,其结构模仿大脑神经元的工作方式,能自学习并生成新的特征。文章还介绍了神经网络的前向传播算法,并探讨了神经网络如何通过多层结构处理多类分类问题。
摘要由CSDN通过智能技术生成

一、非线性假设

引言:无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,计算的负荷会非常大。

1、当我们使用 x1 , x2 的多次项式进行预测时,我们可以应用的很好。 之前我们已经看到过,使用非线性的多项式项,能够帮助我们建立更好的分类模型。

假设我们有非常多的特征,例如大于100个变量,我们希望用这100个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合,

即便我们只采用两两特征的组合 (x1x2+x1x3+x1x4+...+x2x3+x2x4+...+x99x100) ,我们也会有接近5000个组合而成的特征。这对于一般的逻辑回归来说需要计算的特征太多了。

2、假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),我们怎样才能这么做呢?

一种方法是我们利用很多汽车的图片和很多非汽车的图片,然后利用这些图片上一个个像素的值(饱和度或亮度)来作为特征。

 

问题:假使我们采用的都是50x50像素的小图片,并且我们将所有的像素视为特征,则会有 2500个特征,如果我们要进一步将两两特征组合构成一个多项式模型,

则会有约 2500二次方/2 个(接近3百万个)特征。普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络。

二、神经元和大脑

神经网络是一种很古老的算法,它最初产生的目的是制造能模拟大脑的机器,从某种意义上说如果我们想要建立学习系统,那为什么不去模仿我们所认识的最神奇的学习机器——人类的大脑呢?

大脑的这一部分这一小片红色区域是你的听觉皮层,你现在正在理解我的话,这靠的是耳朵。耳朵接收到声音信号,并把声音信号传递给你的听觉皮层,正因如此,你才能明白我的话。

三、模型表示

为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),

它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

这里是一条连接到输入神经,或者连接另一个神经元树突的神经,接下来这个神经元接收这条消息,做一些计算,它有可能会反过来将在轴突上的自己的消息传给其他神经元。

这就是所有人类思考的模型:我们的神经元把自己的收到的消息进行计算,并向其他神经元传递消息。这也是我们的感觉和肌肉运转的原理。

如果你想活动一块肌肉,就会触发一个神经元给你的肌肉发送脉冲,并引起你的肌肉收缩。如果一些感官:比如说眼睛想要给大脑传递一个消息,那么它就像这样发送电脉冲给大脑的。

神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元(也叫激活单元,activation unit)采纳一些特征作为输出,并且根据本身的模型提供一个输出。

下图是一个以逻辑回归模型作为自身学习模型的神经元示例,在神经网络中,参数又可被成为权重(weight)。

我们设计出了类似于神经元的神经网络 --》》

 

其中 x1 , x2 , x3 是输入单元(input units),我们将原始数据输入给它们。 a1 , a2 , a3 是中间单元,它们负责将数据进行处理,然后呈递到下一层。 最后是输出单元,它负责计算 hθ(x) 。

神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。下图为一个3层的神经网络,第一层成为输入层(Input Layer)

,最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增加一个偏差单位(bias unit):

 

上面进行的讨论中只是将特征矩阵中的一行(一个训练实例)喂给了神经网络,我们需要将整个训练集都喂给我们的神经网络算法来学习模型。

我们可以知道:每一个 a 都是由上一层所有的 x 和每一个 x 所对应的决定的。

(我们把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION ))

把 x , θ , a 分别用矩阵表示:

神经网络能够通过学习得出其自身的一系列特征。在普通的逻辑回归中,我们被限制为使用数据中的原始特征 x1,x2,...,xn ,我们虽然可以使用一些二项式项来组合这些特征,

但是我们仍然受到这些原始特征的限制。在神经网络中,原始特征只是输入层,在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,

而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。

神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR),OR与AND整体一样,区别只在于的取值不同。

二元逻辑运算符(BINARY LOGICAL OPERATORS)当输入特征为布尔值(0或1)时,我们可以用一个单一的激活层可以作为二元逻辑运算符,为了表示不同的运算符,我们只需要选择不同的权重即可。

然后将表示 AND 的神经元和表示 (NOTx1)AND(NOTx2) 的神经元以及表示 OR 的神经元进行组合:

我们就得到了一个能实现 XNOR 运算符功能的神经网络。

按这种方法我们可以逐渐构造出越来越复杂的函数,也能得到更加厉害的特征值。

这就是神经网络的厉害之处。

四、多类分类

当我们有不止两种分类时(也就是 y=1,2,3…. ),比如以下这种情况,该怎么办?如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有4个值。

例如,第一个值为1或0用于预测是否是行人,第二个值用于判断是否为汽车。

输入向量 x 有三个维度,两个中间层,输出层4个神经元分别用来表示4类,也就是每一个数据在输出层都会出现 [a b c d]T ,且 a,b,c,d 中仅有一个为1,表示当前类。下面是该神经网络的可

人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是计算机科学的一个分支,旨在了解智能的本质,并生产出一种能以人类智能相似的方式做出反应的智能机器。人工智能的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。 神经网络是一种在生物神经网络的启示下建立的数据处理模型,通常由大量的人工神经元相互连接进行计算。神经网络根据外界的信息改变自身的结构,主要通过调整神经元之间的权值对输入的数据进行建模,从而具备解决实际问题的能力。神经网络模拟了人类大脑的工作原理,通过模拟神经元之间的连接和信息传递,实现了类似人类的智能行为。 综上所述,人工智能神经网络是紧密相关的概念。人工智能是研究和开发能够模拟人类智能的系统和技术,而神经网络则是人工智能的一种具体实现方式,模拟了人类大脑的神经网络结构和工作原理。在人工智能的研究和应用中,神经网络被广泛应用于解决复杂的模式识别、分类和决策等问题,为人工智能系统提供了强大的计算和学习能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [神经网络人工智能](https://blog.csdn.net/qq_41860637/article/details/88781740)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值