机器学习入门之四:机器学习的方法-神经网络(转载)

  转自 飞鸟各投林

  神经网络

  

  神经网络(也称之为人工神经网络,ANN)算法是80年代机器学习界非常流行的算法,不过在90年代中途衰落。现在,携着“深度学习”之势,神经网络重装归来,重新成为最强大的机器学习算法之一。

  神经网络的诞生起源于对大脑工作机理的研究。早期生物界学者们使用神经网络来模拟大脑。机器学习的学者们使用神经网络进行机器学习的实验,发现在视觉与语音的识别上效果都相当好。

在BP算法(加速神经网络训练过程的数值算法)诞生以后,神经网络的发展进入了一个热潮。BP算法的发明人之一是前面介绍的机器学习大牛Geoffrey Hinton(图1中的中间者)。

  具体说来,神经网络的学习机理是什么?简单来说,就是分解与整合。在著名的Hubel-Wiesel试验中,学者们研究猫的视觉分析机理是这样的。

  

  

  比方说,一个正方形,分解为四个折线进入视觉处理的下一层中。四个神经元分别处理一个折线。每个折线再继续被分解为两条直线,每条直线再被分解为黑白两个面。于是,一个复杂的图像变成了大量的细节进入神经元,

神经元处理以后再进行整合,最后得出了看到的是正方形的结论。这就是大脑视觉识别的机理,也是神经网络工作的机理。

  让我们看一个简单的神经网络的逻辑架构。在这个网络中,分成输入层,隐藏层,和输出层。输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,

可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。

  

  

  在神经网络中,每个处理单元事实上就是一个逻辑回归模型,逻辑回归模型接收上层的输入,把模型的预测结果作为输出传输到下一个层次。通过这样的过程,神经网络可以完成非常复杂的非线性分类。

  下图会演示神经网络在图像识别领域的一个著名应用,这个程序叫做LeNet,是一个基于多个隐层构建的神经网络。通过LeNet可以识别多种手写数字,并且达到很高的识别精度与拥有较好的鲁棒性。

  

  

  右下方的方形中显示的是输入计算机的图像,方形上方的红色字样“answer”后面显示的是计算机的输出。左边的三条竖直的图像列显示的是神经网络中三个隐藏层的输出,可以看出,随着层次的不断深入,

越深的层次处理的细节越低,例如层3基本处理的都已经是线的细节了。LeNet的发明人就是前文介绍过的机器学习的大牛Yann LeCun(图1右者)。

  进入90年代,神经网络的发展进入了一个瓶颈期。其主要原因是尽管有BP算法的加速,神经网络的训练过程仍然很困难。因此90年代后期支持向量机(SVM)算法取代了神经网络的地位。

时间: 2024-10-08 16:37:10

机器学习入门之四:机器学习的方法-神经网络(转载)的相关文章

机器学习入门之四:机器学习的方法--SVM(支持向量机)(转载)

转自 飞鸟各投林 SVM(支持向量机) 支持向量机算法是诞生于统计学习界,同时在机器学习界大放光彩的经典算法. 支持向量机算法从某种意义上来说是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线.但是如果没有某类函数技术,则支持向量机算法最多算是一种更好的线性分类技术. 但是,通过跟高斯“核”的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的的分类效果.“核”事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空

机器学习入门之四:机器学习的方法--其它算法(转载)

转自 飞鸟各投林 4.聚类算法 前面的算法中的一个显著特征就是我的训练数据中包含了标签,训练出的模型可以对其他未知数据预测标签.在下面的算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签. 这类算法有一个统称,即无监督算法(前面有标签的数据的算法则是有监督算法).无监督算法中最典型的代表就是聚类算法. 让我们还是拿一个二维的数据来说,某一个数据包含两个特征.我希望通过聚类算法,给他们中不同的种类打上标签,我该怎么做呢?简单来说,聚类算法就是计算种群中的距离,根据距离的

机器学习入门:机器学习概论

什么是机器学习? 在1959年,Arthur Samuel:不用编程去指定机器做什么,而是让机器有能力自己学习: 在1998年,Tom Mitchell:首先定义任务T,经验E,表现P,如果机器有一个任务T,随着经验E的增多,表现P也会变好,则表示机器正在经验E中学习: 以上就是对机器学习的两个定义: 机器学习在生活中也处处可见,比如: (1)在gmail中,提供了一个“垃圾邮件”选项,可以通过机器学习辨别邮件是否为垃圾邮件,此处利用了分类算法: 如果我们根据Tom Mitchell的定义,则:

web安全之机器学习入门——3.1 KNN/k近邻算法

目录 sklearn.neighbors.NearestNeighbors 参数/方法 基础用法 用于监督学习 检测异常操作(一) 检测异常操作(二) 检测rootkit 检测webshell sklearn.neighbors.NearestNeighbors 参数: 方法: 基础用法 print(__doc__) from sklearn.neighbors import NearestNeighbors import numpy as np X = np.array([[-1, -1],

【转载】机器学习中的相似性度量,方法汇总对比

机器学习中的相似性度量,方法汇总对比 人工智能  林  1周前 (01-10)  876℃  0评论 作者:苍梧 在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance).采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否. 本文的目的就是对常用的相似性度量作一个总结. 本文目录: 1. 欧氏距离 2. 曼哈顿距离 3. 切比雪夫距离 4. 闵可夫斯基距离 5. 标准化欧氏距离 6. 马

【转载】机器学习入门者学习指南(经验分享)

机器学习入门者学习指南(经验分享) 2013-09-21 14:47 本人计算机研二,专业方向自然语言处理,个人对于机器学习挺感兴趣,于是开始学习.所以,原来这家伙是个菜鸟……正是由于自己是个菜鸟,所以体会到自学机器学习的艰辛,于是在这里分享一下个人的经验,希望能对入门者有所帮助.一些有关机器学习的介绍在这里就不做详细介绍了,感兴趣的同学可以去维基百科.就直接进入正题.1.去Coursera上Andrew Ng的<机器学习>,完成所有作业,最好能全部拿满分.这是相当入门的课程,老师是机器学习领

机器学习入门资源--汇总

机器学习入门资源--汇总 基本概念 机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法.机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法.因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论.算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法. 下面从微观到宏观试着梳理一下机器学习的范畴:

和机器学习和计算机视觉相关的数学(转载)

1. 线性代数 (Linear Algebra): 我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要.这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的.我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是Introduction to Linear Algebra (3rd Ed.)  by Gilbert Strang.这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材.它的难度适中,讲解清晰,重要

机器学习进化史:从线性模型到神经网络

[深度]机器学习进化史:从线性模型到神经网络 本文作者:天诺 2015-05-05 16:54 导语:Reza Zadeh是斯坦福大学工程计算和数学研究所顾问教授,他主要专注于机器学习理论和应用,分布式计算.如果你对人工智能感兴趣,那他讲述的机器学习进化史你一定要看. Reza Zadeh是斯坦福大学工程计算和数学研究所顾问教授,也是Databricks公司技术顾问,他主要专注于机器学习理论和应用,分布式计算,以及离散应用数学.近日,他接受了oreilly网站的采访,尝试谈论了人工智能的各方面.