机器学习笔记——人工神经网络
2014-04-27 12:07
211 查看
人工神经网络(Artificial Neural Networks,ANN)提供了一种普遍而实用的方法从样例中学习值为实数、离散值或向量的函数。
人工神经网络由一系列简单的单元相互密集连接构成,其中每一个单元有一定数量的实值输入(可能是其他单元的输出),并产生单一的实数值输出(可能成为其他单元的输入)。
适合神经网络学习的问题:
实例是很多“属性-值”对表示的
目标函数的输出可能是离散值、实数值或者由若干实数或离散属性组成的向量
训练数据可能包含错误
可容忍长时间的训练
可能需要快速求出目标函数值
人类能否理解学到的目标函数是不要重要的
感知器:
以一个实数值向量作为输入,计算这些输入的线性组合,然后如果结果大于某个阀值,就输出1,否则输出-1.更精确地,如果输入x1到xn,那么感知器计算的输出为:
其中每一个w i 是一个实数常量,或叫做权值(weight ),用来决定输入xi 对感知器输出的贡献率。
请注意,常量(w0) 是一个阈值,它是为了使感知器输出 1 ,输入的加权和w1x1+w2x2+...+wnxn必须超过的阈值。
(图片均搜于google)
为了简化表示,我们假想有一个附加的常量输入x0=1,那么我们就可以把上边的不等式写成上图中的output函数。
学习一个感知器意味着选择权w0,……,wn的值。
感知器的表征能力:
我们可以把感知器看作是n维实例空间(即点空间)中的超平面决策面。对于超平面一侧的实例,感知器输出1,对于另一侧的实例输出-1。这个超平决策面的方程是
。当然,某些正反样例集合不可能被任一超平面分割。那些可以被分割的成为线性可分(linearly
separable)样例集合。
感知器训练法则:
从随机的权值开始,然后反复地应用这个感知器到每个训练样例,只要它误分类样例就修改感知器的权值。重复这个过程,知道感知器能正确分类所有的训练样例。
每一步根据感知器训练法则(perceptron training rule)来修改权值,也就是修改与输入 xi 对应的权 wi 法则如下:
其中:
这里t是当前训练样例的目标输出,O是感知器的输出(1或-1),η是一个正的常数称为学习速率(learning rate)学习速率的作用是缓和每一步调整权的程度。它通常被设为一个小的数值(例如0.1),而且有时会使其随着权调整次数的增加而衰减。
对于权值的调整是一例一调,也就是输入一个样例,就计算每个Δwi, 来调整wi的值,一直训练到会收敛到一个能一个能正确分类所有训练样例的权向量,前提是训练样例线性可分,并且使用了充分小的η 。如果数据不是线性可分的,那么不能保证收敛。
梯度下降和delta法则:
如果训练样本不是线性可分的,那么delta法则会收敛到目标概念的最佳近似。delta法则的关键思想是使用梯度下降(gradient descent)来搜索可能的权向量的假设空间,以找到最佳拟合训练样例的权向量。这个法则为反向传播算法提供了基础,而反向传播算法能够学习多个单元的互联网络。
最好把delta训练法则理解为训练一个无阀值的感知器,也就是一个线性单元(linear unit),他的输出如下:
。
总而言之,训练线性单元的梯度下降算法如下:
选取一个初始的随机权向量
应用线性单元到所有的训练样例
根据下面的公式计算每个权值的Δwi
通过加上Δwi来更新每个权值,然后重复这个过程
人工神经网络由一系列简单的单元相互密集连接构成,其中每一个单元有一定数量的实值输入(可能是其他单元的输出),并产生单一的实数值输出(可能成为其他单元的输入)。
适合神经网络学习的问题:
实例是很多“属性-值”对表示的
目标函数的输出可能是离散值、实数值或者由若干实数或离散属性组成的向量
训练数据可能包含错误
可容忍长时间的训练
可能需要快速求出目标函数值
人类能否理解学到的目标函数是不要重要的
感知器:
以一个实数值向量作为输入,计算这些输入的线性组合,然后如果结果大于某个阀值,就输出1,否则输出-1.更精确地,如果输入x1到xn,那么感知器计算的输出为:
其中每一个w i 是一个实数常量,或叫做权值(weight ),用来决定输入xi 对感知器输出的贡献率。
请注意,常量(w0) 是一个阈值,它是为了使感知器输出 1 ,输入的加权和w1x1+w2x2+...+wnxn必须超过的阈值。
(图片均搜于google)
为了简化表示,我们假想有一个附加的常量输入x0=1,那么我们就可以把上边的不等式写成上图中的output函数。
学习一个感知器意味着选择权w0,……,wn的值。
感知器的表征能力:
我们可以把感知器看作是n维实例空间(即点空间)中的超平面决策面。对于超平面一侧的实例,感知器输出1,对于另一侧的实例输出-1。这个超平决策面的方程是
。当然,某些正反样例集合不可能被任一超平面分割。那些可以被分割的成为线性可分(linearly
separable)样例集合。
感知器训练法则:
从随机的权值开始,然后反复地应用这个感知器到每个训练样例,只要它误分类样例就修改感知器的权值。重复这个过程,知道感知器能正确分类所有的训练样例。
每一步根据感知器训练法则(perceptron training rule)来修改权值,也就是修改与输入 xi 对应的权 wi 法则如下:
其中:
这里t是当前训练样例的目标输出,O是感知器的输出(1或-1),η是一个正的常数称为学习速率(learning rate)学习速率的作用是缓和每一步调整权的程度。它通常被设为一个小的数值(例如0.1),而且有时会使其随着权调整次数的增加而衰减。
对于权值的调整是一例一调,也就是输入一个样例,就计算每个Δwi, 来调整wi的值,一直训练到会收敛到一个能一个能正确分类所有训练样例的权向量,前提是训练样例线性可分,并且使用了充分小的η 。如果数据不是线性可分的,那么不能保证收敛。
梯度下降和delta法则:
如果训练样本不是线性可分的,那么delta法则会收敛到目标概念的最佳近似。delta法则的关键思想是使用梯度下降(gradient descent)来搜索可能的权向量的假设空间,以找到最佳拟合训练样例的权向量。这个法则为反向传播算法提供了基础,而反向传播算法能够学习多个单元的互联网络。
最好把delta训练法则理解为训练一个无阀值的感知器,也就是一个线性单元(linear unit),他的输出如下:
。
总而言之,训练线性单元的梯度下降算法如下:
选取一个初始的随机权向量
应用线性单元到所有的训练样例
根据下面的公式计算每个权值的Δwi
通过加上Δwi来更新每个权值,然后重复这个过程
相关文章推荐
- 七月算法机器学习笔记10 人工神经网络
- 机器学习笔记之人工神经网络(ANN)
- (超全)Andrew Ng机器学习个人笔记
- 机器学习基石笔记2——感知机(Perceptron)
- 机器学习笔记4-神经网络(Neural Network)(上)
- 机器学习速成课程笔记2:深入了解机器学习 (Descending into ML)-线性回归
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- 【机器学习-斯坦福】学习笔记3 - 欠拟合与过拟合概念
- 机器学习实战--笔记3(决策树与随机森林)
- cs229 斯坦福机器学习笔记(一)-- 入门与LR模型
- 台大机器学习笔记——Adaboost
- 机器学习笔记--基本概念
- Coursera 机器学习 -- Gradient Descent 笔记【第一周】
- Python机器学习与实战笔记之逻辑斯蒂回归Logistic Regression, LR
- [机器学习笔记] 判别模型与生成模型
- 机器学习----笔记之k-近邻算法(2)
- 龙星计划机器学习笔记
- 机器学习笔记(6)---K-近邻算法(4)---使用K近邻算法检测异常操作之一
- 机器学习技法课程学习笔记3 -- Kernel Support Vector Machine
- 机器学习-算法原理与编程实践(郑捷.著)-阅读笔记