人工神经网络(Artificial Neural Networks)顾名思义,是模仿人大脑神经元结构的模型。上图是一个有隐含层的人工神经网络模型。X = (x1,x2,..,xm)是ANN的输入,也就是一条记录的在m个属性上的值。每个属性对应一个输入节点。

对于输入层来说,输入层的输出Oi就是输入层的输入xi。

对于隐含层的其中一个节点j来说,节点j的输入为ΣOiwij (i的取值为所有与节点j相连的输入层节点)。可以发现,节点与节点之间的连接是有一个权重的,这个权重将会影响最后的分类结果。而我们对ANN的训练过程,实际上也就是调整权重的过程。

而隐含层的输出,引入一个激励函数,此时,将激励函数设为

上图中激励函数中的自变量x,在ANN中就是这个节点的输入,也就是ΣOiwij

对于输出层来说,输入值就是隐含层的输出值。而输出层的输出值,与隐含层的计算方法类似。通常,取相同的激励函数。

前向算法:用来对一条数据进行分类。通过以上的计算方法,可以得出一个输出,将这个输出与阈值相比较,就能能出分类结果。

后向算法:用来训练模型,调整权重。

E表示ANN预测的分类与真实分类的误差。我们的目标是将E变的越小越好。

给定一个标注好的数据集,可以定义这样一个误差函数:

计算E的梯度

上式为下降的“步子”

Batch neural network training

思想:对于每一天记录,都算出其O,再计算E,求出梯度,调整w。

Online training

思想:根据每一天单挑记录,修改权重。

优点:更快的收敛率和减少陷入局部最优解的可能。

算法过程

[数据挖掘课程笔记]人工神经网络(ANN)的更多相关文章

  1. 机器学习笔记之人工神经网络(ANN)

    人工神经网络(ANN)提供了一种普遍而且实际的方法从样例中学习值为实数.离散值或向量函数.人工神经网络由一系列简单的单元相互连接构成,其中每个单元有一定数量的实值输入,并产生单一的实值输出. 上面是一 ...

  2. 【机器学习】人工神经网络ANN

    神经网络是从生物领域自然的鬼斧神工中学习智慧的一种应用.人工神经网络(ANN)的发展经历的了几次高潮低谷,如今,随着数据爆发.硬件计算能力暴增.深度学习算法的优化,我们迎来了又一次的ANN雄起时代,以 ...

  3. 人工神经网络--ANN

    神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方 ...

  4. Andrew Ng机器学习课程笔记--week4(神经网络)

    Neural Networks: Representation 一. 内容概要 Neural Network Model Representation 1 Model Representation 2 ...

  5. ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)

    1 二分类( Binary Classification ) 逻辑回归是一个二分类算法.下面是一个二分类的例子,输入一张图片,判断是不是猫. 输入x是64*64*3的像素矩阵,n或者nx代表特征x的数 ...

  6. [数据挖掘课程笔记]无监督学习——聚类(clustering)

    什么是聚类(clustering) 个人理解:聚类就是将大量无标签的记录,根据它们的特点把它们分成簇,最后结果应当是相同簇之间相似性要尽可能大,不同簇之间相似性要尽可能小. 聚类方法的分类如下图所示: ...

  7. [数据挖掘课程笔记]关联规则挖掘 - Apriori算法

    两种度量: 支持度(support)  support(A→B) = count(AUB)/N (N是数据库中记录的条数) 自信度(confidence)confidence(A→B) = count ...

  8. [数据挖掘课程笔记]基于规则的分类-顺序覆盖算法(sequential covering algorithm)

    Rule_set = {}; //学习的规则集初试为空 for 每个类c do repeat Rule = Learn_One_Rule(D,Att-vals,c) 从D中删除被Rule覆盖的元组; ...

  9. [数据挖掘课程笔记]Naïve Bayesian Classifier

    朴素贝叶斯模型 1) X:一条未被标记的数据 2) H:一个假设,如H=X属于Ci类 根据贝叶斯公式 把X表示为(x1,x2,....xn) x1,x2,....xn表示X在各个特征上的值. 假设有c ...

随机推荐

  1. jenkins按版本发布maven项目

    1.先为java这个项目创建三个版本 vim pom.xml vim src/main/java/com/ghz/testweb/App.java git add . git commit -m &q ...

  2. android 扩大view的响应区域

    1.Android提供TouchDelegate帮助实现扩大一个很小的view的点击区域 例如:https://developer.android.com/training/gestures/view ...

  3. luogu P1879 [USACO06NOV]玉米田Corn Fields

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  4. 深入理解Thread构造函数

    上一篇快速认识线程 本文参考汪文君著:Java高并发编程详解. 1.线程的命名 在构造现成的时候可以为线程起一个名字.但是我们如果不给线程起名字,那线程会有一个怎样的命名呢? 这里我们看一下Threa ...

  5. 将压缩包文件(rar/zip)伪装成图片(jpg/gif/png/ico)

    1.在Windows上使用copy命令,缺点是只能是jpg文件,gif不支持,命令如下: copy in1.jpg+in2.rar out.jpg 2.网上说使用UEdit方式可以制作gif,但是测试 ...

  6. 【spring boot】在Spring mvc中controller中可以拿到对象信息,但是返回给前台却是什么也没有,解决方案

    如图所示: 最后: 问题解决: 这个原因是因为,User类并未给字段提供get/set方法,所以给前台传递过去的值是空的. 解决方案: 为User类添lombok的注解@Data,为实体类提供get/ ...

  7. Android自己定义组件系列【6】——进阶实践(3)

    上一篇<Android自己定义组件系列[5]--进阶实践(2)>继续对任老师的<可下拉的PinnedHeaderExpandableListView的实现>进行了分析,这一篇计 ...

  8. yii框架:CDbConnection failed to open the DB connection: could not find driver的解决的方法

    这个问题是由于php中缺少pdo mysql造成的. 解决方法是为php加入此扩展.前往你最早的php安装文件,进入ext/pdo_mysql/文件夹下,然后./configure --with-ph ...

  9. Objective-C基础笔记(6)Block

    Block(代码段)封装了一段代码,能够在不论什么时候运行. Block能够作为函数參数或者函数返回值,而其本身又能够带输入參数或返回值.它和传统的函数指针非常相似,可是有差别:block是inlin ...

  10. loarocks install loadcaffe 失败

    loarocks install loadcaffe 失败 1.Error: Your user does not have write permissions in /home/zhangliang ...