链接文章:机器学习基础须知、神经网络建模实践,其他博文

人工神经网络ANN

0、感知机:包括输入节点、输出节点两部分,输入节点和输出节点用一个表示权重的值连接。感知机的输出值是计算输入节点的加权和,减去一个偏置项,然后使用一个激活函数将计算结果转化为一个信号值输出。(值的计算表达式上等同于线性SVM和多元线性回归,直观上很好理解。)

用数学的形式表达为 y=sign(wj*xj +…+w2*x2+w1*x1 -t),其中sign函数代表一个激活函数,可以是符号函数、双曲正切函数、信号函数、逻辑函数等。用向量的形式表达为:y=sign(w.x),其中权重向量w=(wj,..,w2,w1,-t), 输入向量x=(xj,..,x2,x1,1)。它是线性的,决策边界是一个线性超平面。

训练感知机的过程就是调整权重向量w使输出结果值匹配原结果值的过程。训练过程最主要的步骤就是权重更新公式。利用前一步得到的权重值加上真实值和预测值的误差项的一个比例,但是需要有一个学习率作为系数来控制每次调整的步长。学习率介于0-1之间,越接近0 ,说明新的权重受迭代前权重的影响较大,越接近1,说明新的权重受本次迭代计算的影响较大。可以使用自使用的学习率,在前期迭代中数值大些,后期迭代中慢慢变小。类似但作用不同于优化算法中模拟退火算法中的温度的变化。

感知机学习算法可以找到一个线性可分数据集的最优解,如果数据集不是线性可分的,没有一个超平面能将数据集分开,那么一个感知机是做不到的。但是可以用多层感知机或非线性SVM解决。

1、多层人工神经网络:在输入层和输出层之间有多层隐藏节点,隐藏层节点和输出节点可以使用不同类型的激活函数。

前馈神经网络中,一层节点只与下一层的节点连接。感知机是单层前馈神经网络。在递归神经网络中,节点可以和同层或者前一层的节点连接。

ANN模型的权重学习就是找到一个算法使得在足够的训练样本下,权重向量能收敛到一个正确解。即ANN学习算法的目标是寻找权重向量w,使得误差平方和E(w)最小。

不同于单层感知机的权重更新公式,神经网络ANN模型使用梯度下降法更新权重。反向传播算法用来解决隐藏层的梯度下降问题。本质上等同于复合函数求导问题。

反向传播算法包括两部分,forward阶段和backward阶段。向前的阶段,根据当前迭代的权重值从前向后逐层计算每层神经网络节点的值。向后的阶段,根据下一层节点的计算值与预期值,利用上述的梯度下降法来反向逐层更新权重值。这里求第k层的梯度就是复合函数求导的过程了。

2、设计一个ANN模型需要思考清楚以下几点:(1)确定有多少输入节点,为数值型、二元性、分类性等不同类型的输入变量设计输入节点表达和个数。(2)确定有多少输出节点,一个二分类问题设计一个输出节点就足够了,对于有k个分类的问题,可能需要设计k个输出节点。(3)选择好网络拓扑结构,有多少隐藏层和隐藏节点,是前馈的还是递归的神经网络结构。(4)训练之前需要给权重一个初始值,可以使用随机指定的方式。(5)训练集中对于缺失值的情况要删除或者用插值法替换成可能值。

3、ANN模型的特点:(1)具有至少一层隐藏层的多层神经网络是普适近似的,即可以近似任何目标函数。(2)ANN模型可以节点冗余特征问题,在权重值学习过程中,冗余特征的权重会变得很小。(3)模型对于训练集中存在的噪声非常敏感。可以使用验证集来确定泛化误差。(4)使用梯度下降法更新权重可能使得解陷入一个局部最小解。可以在权重更新公式中增加一个动量项来避免这个问题。(5)训练一个ANN模型需要挺长的时间,尤其是隐藏层比较多的时候。但是一旦模型训练好,用来做分类是很快的。

人工神经网络ANN建模基础须知相关推荐

  1. DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介、应用、经典案例之详细攻略

    DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介.应用.经典案例之详细攻略 相关文章 DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类 ...

  2. ann matlab,人工神经网络ann及其matlab仿真.ppt

    人工神经网络ann及其matlab仿真 人工神经网络 的研究方法及应用刘 长 安2004. 12. 31 引 言 利用机器模仿人类的智能是长期以来人们认识自然.改造自然和认识自身的理想. 研究ANN目 ...

  3. 人工神经网络 ANN

    卷积神经网络CNN图解 本文参考人工神经网络ANN 神经网络是一门重要的机器学习技术.它是深度学习的基础. 神经网络是一种模拟人脑的神经网络以期望能够实现人工智能的机器学习技术.人脑中的神经网络是一个 ...

  4. 人工神经网络ANN的算法总结

    用笔记,记录自己的点滴进步:用行动,驱赶心中的彷徨 --杰 人工神经网络ANN的算法总结 前言 卷积神经网络 相关名词解释 卷积层 激励层 池化层 全连接层 补充 参考资料与原文 前言 人工神经网络( ...

  5. 福利 | 从生物学到神经元:人工神经网络 ( ANN ) 简介

    文末有数据派THU福利哦 [ 导读 ] 我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发.这么说来看看大脑的组成,并期望因此而得到启发来构建智能 ...

  6. 深度学习(一)多层感知器MLP/人工神经网络ANN

    目录 一.定义和公式 1. 多层感知器 Multi Layer Perceptron MLP 2. MLP实现非线性分类 3. Keras介绍 二. 代码实战 1. 建立MLP模型实现二分类 1.1  ...

  7. 实现人工神经网络ANN对医疗数据分类

    2.3 使用ANN对医疗数据分类 IBM在2015年5月宣布推出Watson Health服务,收集健康数据交给Watson超级计算机进行分析.目前IBM Waston Health最主要的应用便是在 ...

  8. R语言应用实战系列(六)-基于R的人工神经网络ANN算法和KNN算法(k-Nearest Neighbour)

    一.神经网络 人工神经网络算法(ANN),是一种模仿生物神经网络的结构和功能的数学模型和计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下,人工神经网络能在外在信息的基础上改变内部结构,是 ...

  9. 机器学习:支持向量机SVM和人工神经网络ANN的比较

    在统计学习理论中发展起来的支持向量机(Support Vector Machines, SVM)方法是一种新的通用学习方法,表现出理论和实践上的优势.SVM在非线性分类.函数逼近.模式识别等应用中有非 ...

最新文章

  1. 09、redis哨兵的多个核心底层原理的深入解析(包含slave选举算法)
  2. 【ZooKeeper Notes 9】ZooKeepr日志清理
  3. 《Ceph源码分析》——第1章,第一节Ceph的发展历程
  4. lede更改软件源_Linux的上传和下载——Ubuntu中软件的安装和ftp服务器的搭建
  5. SpringBoot2.1.9 分布式锁ShedLock
  6. pycharm显示全部数据_PyCharm第一次安装及使用教程
  7. FPGA、DSP、ARM能力值对比
  8. servlet以及HTML中路径问题
  9. matlab的grid on,Matlab基本函数-grid、box函数 | 学步园
  10. 那些烦人的VC++库、win10中的VC++库(全部)
  11. 留学背景提升是投机取巧走“捷径”?还是脚踏实地,仰望星空?
  12. 蓝牙电子产品加拿大IC认证周期
  13. 光速入门MyBatis-Plus
  14. 用C语言编写一个“简单”的程序答题系统
  15. redis的主从同步及高可用集群
  16. 旅行商问题(TSP)
  17. 华为、百度这些大公司都青睐哪些编程语言呢?
  18. 升级windows11的方法
  19. 【CYH-02】noip2018数论模拟赛:赛后题解
  20. HUST软测1504班第2周作业成绩:WordCount

热门文章

  1. 阿尔卡特交换机配置_阿尔卡特交换机常用命令
  2. iPhone 快捷指令 切换4G、5G
  3. [github 源码收集] == tflearn examples
  4. html5文字图片垂直居中代码,css实现文字图片垂直居中效果
  5. 16 - 统计文章阅读量
  6. 南开大学计算机考研难不难,南开大学考研难吗?一般要什么水平才可以进入?...
  7. libjpeg安装和使用
  8. bosun 除法使用注意事项
  9. c语言编程基础------0.0c语言介绍
  10. emmet插件的导入与实用