神经网络与机器学习之开篇

来源:互联网 发布:java加密算法有哪些 编辑:程序博客网 时间:2024/05/16 08:22

从数学转到计算机机器学习领域,已经快大半年了,到目前为止虽然看了一些关于数据挖掘与机器学习的东西,但每次看完都忘得只剩枝节,好几次看完一本书过段时间回过头来什么也没留下。我一直在反思,是因为我实际根本没有理解我所看的东西吗,为什么学完之后忘得这么快?可是自认为数学功底还马马虎虎,对数据挖掘机器学习这类还不是很抽象的东西理解起来也不是很吃力,那是什么原因呢。。。思来想去是否因为我只是一直在看,很少与人探讨、动手实践,也很少做一些笔记什么的。虽然以前有做笔记的习惯,但自从学了计算机,天天对着电脑屏幕,已经习惯了看电子档的东西,也因此丢掉了以前拿个本子记笔记的习惯。因此,我希望通过写一些博客来总结自己所看的东西,加深理解,以此和大家多多交流,改变可能进入的学习方式恶性循环。
最近正好在看《神经网络与机器学习(第三版)》,因此希望从现在开始通过写博客总结书上的内容,供自己理解,大家交流。要看完整本书并总结下来估计不是一件短期就能完成的事,希望自己能坚持下来。本人纯理科出身,文字功底不好,还望能一起交流的大神菜鸟们见谅。废话不多说了,首先供上电子版下载地址http://www.jb51.net/books/234000.html,然后开始我的学习之旅吧!

导 言:
为了便于以后的学习,我还是稳扎稳打一步一步从基本概念和基本理论开始吧。(不喜欢的求勿喷。。。)
一、从人脑神经网络到人工神经网络
人 脑:高度复杂的、非线性的和并行的计算机器(信息处理系统)。
人工神经网络:由简单处理单元构成的大规模并行分布式处理器,天然的具有存储经验知识和使之可用的特性(即一种自适应机器)。
两方面与大脑相似:1、神经网络是通过学习过程从外界环境中获取知识的;
2、互连神经元的连接强度,即突触权值,用于用于存取获取的知识。
注:用于完成学习过程的程序称为学习算法,其功能是以有序的方式改变网络的突触权值以获得想要的设计目标。(对突触权值的修改是神经网络设计的传统方法)

二、神经网络的优点
神经网络的计算能力体现在两点:
第一、神经网络的大规模并行分布式结构;
第二、神经网络的学习能力以及由此而来的泛化能力。
神经网络的性质和优点:
1、非线性:人工神经元可以是线性或者非线性的。
2、输入输出映射:监督学习,使用带标号的训练样例对神经网络的突触权值进行修改。
3、自适应性:神经网络具有调整自身突触权值以适应外界环境变化的固有能力。(自适应性不一定总能导致鲁棒性)
4、证据响应:神经网络需要提供选择特定模式的信息和关于决策的置信度的信息。
5、上下文信息:网络中神经元受其他所有神经元全局活动的影响,故神经网络能处理上下文信息。
6、容错性:网络信息存储的分布特性,在网络总体影响严重恶化前神经元的损坏是分散的,故其性能缓慢恶化而不是灾难性失败。
7、VLSI实现:神经网络的大规模并行性使其适合超大规模集成技术(VLSI)来实现。
8、分析和设计的一致性:神经网络作为信息处理器具有通用性。
9、神经生物类比:神经网络设计由与人脑的类比引发。
这里写图片描述
三、神经元模型
1、神经元模型的三种基本要素:
- 突触或连接链集
- 加法器(线性组合器)
- 激活函数

单个神经元结构图(http://img.blog.csdn.net/20160411205005969)
这里写图片描述
其等价形式(http://img.blog.csdn.net/20160411205040774)
2、激活函数的类型
两种基本的激活函数:
- 阈值函数:
这里写图片描述
这里写图片描述
- sigmoid函数:
这里写图片描述
这里写图片描述
3、神经元的统计模型
在一些神经网络的应用中,基于随机神经模型的分析更符合需要。使用一些解析处理方法,McCullochPitts模型的激活函数用概率分布来实现。即一个神经元允许有两种可能的状态{+1,-1},如下图所示
这里写图片描述

0 0
原创粉丝点击