【机器学习实录】——神经网络

神经网络

1.基本概念
(1)神经网络的定义:

神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,他的组织能够模拟生物神经系统对真实世界物体所作出的交互反应

  • 什么是简单单元?

神经网络中最基本的成分是神经元(neuron)模型

提到神经元,我们似乎应该回想起一些之前的生物认知:

在生物意义上,神经元就是由细胞体和突起(分为树突和轴突)构成的用于接受刺激,产生兴奋并传递兴奋的细胞。

  • M-P神经元模型

理解:某一个神经元接受n个神经元的输入,并经过权重的转换,计算加权和,与阈值进行比较,这里为啥出来一个权重呢?

目的是区分不同神经元对于当前神经元的影响程度。

这里看到数学模型 y,事实上还是线性回归。

这里只是给出了两个示例激活函数(activation function)/响应函数/挤压函数。

  1. 理想激活函数是跃迁函数,0表示抑制神经元,1表示激活神经元,但是它具有不连续,不光滑等不好的性质

  2. 所以常用Sigmoid函数,这里注意,它并不是一个特定的固定的函数,而是代表一类"S型"函数,只要函数图形为S型,都可以称之为Sigmoid函数

  3. 对于我们上面图片中给出的示例Sigmoid函数,它具有一个很好的性质:

f(x)=\frac{1}{1+e^{-x}}
f'(x)=f(x)*(1-f(x))

我们观察这个性质,f(x)实际上是表示一个正or负,那么1-f(x),表示与原来f(x)相反的结果

所以对f(x)求导,表示的就是对于正负几率的乘积

实际上,激活函数可以自己任意的设置。

(2)什么是网络
多层前馈网络的定义

多层网络:包含隐层的网络

前馈网络:神经元之间不存在同层链接也不存在跨层链接

我们看最底层,是我们的输入神经元,一个样本的不同维放到了输入层的不同节点上

最上层,是我们的输出神经元,通常我们认为,有几个类的输出就使用几个神经元

那么中间的一层,叫做隐层神经元 or 隐含层

可以看到左侧a图是单隐层神经网络

右侧是双隐层

多层前馈网络的能力——万有逼近能力

仅需一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数

换言之,任何一个连续函数逼近的问题,我们都可以通过一个单隐层神经网络解决。

怎么理解上面说的话呢?

我们输入一个x,输出就是f(x),且我们要求在X空间中的任意一点都有值,这个空间是一个连续的空间,那就是一个连续函数。

这又涉及到一个问题:

对于底层,我们输入层的神经元个数是根据我们的输入维度确定的

对于上层,我们输出层的神经元个数是根据我们的输出类确定的

那么对于我们的隐层,神经元数是怎么确定的呢?? ——朴实无华的做法------试错法

误区:

并不是只有神经网络才具有万有逼近能力,

万有逼近能力是能够作为机器学习模型的前提,比如最简单的傅里叶变换也有这样的能力

为什么现在学到这里才开始提出这个能力?

因为很多人在怀疑,神经网络究竟有没有这样的能力

比如我们之前学的决策树(信息熵最小化),支持向量机(一定能找到一个那样的超平面)

(2)感知机与多层网络
  • 组成:感知机由两层神经元组成,能够轻松实现逻辑与、或、非运算。

  • 类型:分类模型,假设我们给定一个样本,可以通过感知机模型判断是正样本还是负样本

  • 从几何角度:

这里我们首先回忆一下,特征空间:

比如说,此时样本的特征是二维的,如果数据集线性可分,我们可以找到一个超平面(对于一维空间,超平面就是一个点,对于二维空间,超平面就是一条线,对于三维空间,超平面就是一个面 ),使得数据集被分为正负,这里提到线性可分 ,比如下面的图中,是可以被分开的。

但是在这个数据集中,数据并不线性可分,因此也就找不到对应的超平面

回到我们说的几何意义上的感知机模型:

给定一个线性可分的数据集T,感知机的学习目标是求得能对数据集T中的正负样本完全正确划分的超平面,就是超平面方程。(!!!这里注意,一定是线性可分数据集,才可以求得超平面 )

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值