《吴恩达机器学习》8 神经网络学习

前言

人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。在深度学习中神经网络算法是基本核心。

一、非线性假设

在我们前面学习的模型中,都有这样一个缺点,即:当特征太多时,计算的负荷会非常大。例如大于 100 个变量,我们希望用这 100 个特征来构建一个非线性的多项式模型,结果将是数量非常惊人的特征组合,即便我们只采用两两特征的组合(x1x2+x1x3 + x1x4+. . . +x2x3 + x2x4+. . . +x99x100),我们也会有接近 5000 个组合而成的特征。这对于一般的逻辑回归来说需要计算的特征太多了。
在这里插入图片描述
普通的逻辑回归模型,不能有效地处理这么多的特征,这时候我们需要神经网络

二、神经元和大脑

1、神经元

为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。
在这里插入图片描述

2、模型展示

通过上面神经元的例子,我们可以通过这种方式来构建我们的多项式方程求解多变量的问题。其中x1, x2, x3是输入单元(input units),我们将原始数据输入给它们。a1, a2, a3是中间单元,它们负责将数据进行处理,然后呈递到下一层。最后是输出单元,它负责计算ℎθ(x)。
在这里插入图片描述
神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。下图为一个 3 层的神经网络,第一层成为输入层(Input Layer),最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增加一个偏差单位(bias unit):
在这里插入图片描述

3、例子与直观理解

神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)。举例说明:逻辑与(AND);下图中左半部分是神经网络的设计与 output 层表达式,右边上部分是 sigmod 函数,下半部分是真值表。
我们可以用这样的一个神经网络表示 AND 函数:
其中θ0 = −30, θ1 = 20, θ2 = 20 我们的输出函数ℎθ(x)即为: ℎθ(x) = g(−30 + 20x1 + 20x2)
在这里插入图片描述
同样我们也可以构建一个逻辑或(OR)函数
在这里插入图片描述
我们基于上面的算法,来构建一个两层的神经网络模型来实现一个XNOR 功能(输入的两个值必须一样,均为 1 或均为 0)
在这里插入图片描述

三、基于神经网络的逻辑算法代码

通过XNOR 功能功能介绍,我们来用python实现以下这个神经网络的算法
@TODO

总结

以上就是《吴恩达机器学习》系列视频 神经网络学习 的内容笔记,以便后续学习和查阅。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值