当前位置:   article > 正文

对人工智能、机器学习、深度学习、大数据,自然语言处理等的入门理解_大数据和机器学习

大数据和机器学习

转自大佬:https://blog.csdn.net/leishao_csdn/article/details/82800500,其讲述非常详细,逻辑很强

 

1. 机器学习(内核思想即统计和归纳)

一般的机器学习模型至少考虑两个量:一个是因变量,也就是我们希望预测的结果。另一个是自变量,也就是用来预测是否迟到的量。

机器学习方法是计算机利用已有的数据(经验),得出了某种模型(迟到的规律),并利用此模型预测未来(是否迟到)的一种方法。

事实上,机器学习的一个主要目的就是把人类思考归纳经验的过程转化为计算机通过对数据的处理计算得出模型的过程。经过计算机得出的模型能够以近似于人的方式解决很多灵活复杂的问题。

“训练”产生“模型”,“模型”指导 “预测”。

1.1 机器学习应用范围

       其实,机器学习跟模式识别,统计学习,数据挖掘,计算机视觉,语音识别,自然语言处理等领域有着很深的联系。

  从范围上来说,机器学习跟模式识别,统计学习,数据挖掘是类似的,同时,机器学习与其他领域的处理技术的结合,形成了计算机视觉、语音识别、自然语言处理等交叉学科。因此,一般说数据挖掘时,可以等同于说机器学习。同时,我们平常所说的机器学习应用,应该是通用的,不仅仅局限在结构化数据,还有图像,音频等应用。

1.1.1模式识别

模式识别=机器学习。两者被视为同一个领域的两个方面,两者的主要区别在于前者是从工业界发展起来的概念,后者则主要源自计算机学科。

1.1.2 数据挖掘

数据挖掘=机器学习+数据库。数据挖掘仅仅是一种思考方式,大部分数据挖掘中的算法是机器学习的算法在数据库中的优化。

1.1.3 统计学习

统计学习近似等于机器学习。二者在某种程度上是有区别的:统计学习者重点关注的是统计模型的发展与优化,偏数学,而机器学习者更关注的是能够解决问题,偏实践,因此机器学习研究者会重点研究学习算法在计算机上执行的效率与准确性的提升。

1.1.4 计算机视觉

计算机视觉=图像处理+机器学习。计算机视觉相关的应用非常的多,例如百度识图、手写字符识别、车牌识别等等应用。

1.1.5 语音识别

语音识别=语音处理+机器学习。语音识别就是音频处理技术与机器学习的结合。语音识别技术一般不会单独使用,一般会结合自然语言处理的相关技术。目前的相关应用有苹果的语音助手siri等。

1.1.6 自然语言处理

自然语言处理=文本处理+机器学习。在自然语言处理技术中,大量使用了编译原理相关的技术,例如词法分析,语法分析等等,除此之外,在理解这个层面,则使用了语义理解,机器学习等技术。

1.2 机器学习经典算法

1.2.1 回归算法(分为线性回归+逻辑回归)

线性回归(数值问题,结果是数字):如何拟合出一条直线最佳匹配我所有的数据?一般使用“最小二乘法”来求解。假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。(对于求导求极值,这种做法并不适合计算机,可能求解不出来,也可能计算量太大)

计算机科学届专门有一门学科叫“数值计算”,专门用来提升计算机进行各类计算时的准确性和效率问题。例如,著名的“梯度下降”、“牛顿法”就是数值计算中的经典算法,也非常适合来处理求解函数极值的问题。梯度下降法是解决回归模型中最简单且有效的方法之一。

逻辑回归(分类算法,结果是离散分类):逻辑回归是一种与线性回归非常类似的算法,但是,从本质上讲,处理问题的类型不同。线性回归处理的是数值问题,也就是最后预测出的结果是数字,例如房价。而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。

实现方面的话,逻辑回归只是对对线性回归的计算结果加上了一个Sigmoid函数,将数值结果转化为了0到1之间的概率。直观来说逻辑回归是画出了一条分类线,这条线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。下面的两个算法是机器学习界最强大且重要的算法,都可以拟合出非线性的分类线。

1.2.2 神经网络(人工神经网络,ANN)

在BP算法(加速神经网络训练过程的数值算法)诞生以后,神经网络的发展进入了一个热潮。具体说来,神经网络的学习机理是什么?简单来说,就是分解与整合。

让我们看一个简单的神经网络的逻辑架构。在这个网络中,分成输入层,隐藏层,和输出层。输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。在神经网络中,每个处理单元事实上就是一个逻辑回归模型。

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

1.2.3 支持向量机(SVM)

支持向量机算法是诞生于统计学习界,支持向量机算法从某种意义上来说是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。但是如果没有某类函数技术(),则支持向量机算法最多算是一种更好的线性分类技术。

通过跟高斯“核”的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的的分类效果。“核”事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空间。这样可以通过在三维空间中进行简单的线性划分就可以达到在二维平面中的非线性划分效果。

二者关系:支持向量机是一种数学成分很浓的机器学习算法(相对的,神经网络则有生物科学成分)。在算法的核心步骤中,有一步证明,即将数据从低维映射到高维不会带来最后计算复杂性的提升。于是,通过支持向量机算法,既可以保持计算效率,又可以获得非常好的分类效果。因此支持向量机在90年代后期一直占据着机器学习中最核心的地位,基本取代了神经网络算法。直到现在神经网络借着深度学习重新兴起,两者之间才又发生了微妙的平衡转变。

1.2.4 聚类算法

前面的算法中的一个显著特征就是我的训练数据中包含了标签,训练出的模型可以对其他未知数据预测标签。在下面的算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签。这类算法有一个统称,即无监督算法(前面有标签的数据的算法则是有监督算法)。无监督算法中最典型的代表就是聚类算法。

聚类算法就是计算种群中的距离,根据距离的远近将数据划分为多个族群。聚类算法中最典型的代表就是K-Means算法

1.2.5 降维算法

其主要特征是将数据从高维降低到低维层次。在这里,维度其实表示的是数据的特征量的大小。降维算法的主要作用是压缩数据与提升机器学习其他算法的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。另外,降维算法的另一个好处是数据的可视化,例如将5维的数据压缩至2维,然后可以用二维平面来可视。降维算法的主要代表是PCA算法(即主成分分析算法)。

1.2.6 推荐算法

推荐算法的主要特征就是可以自动向用户推荐他们最感兴趣的东西,从而增加购买率,提升效益。推荐算法有两个主要的类别:

        一类是基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,但前提是每个物品都得有若干个标签,因此才可以找出与用户购买物品类似的物品,这样推荐的好处是关联程度较大,但是由于每个物品都需要贴标签,因此工作量较大。

  另一类是基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。

  两类推荐都有各自的优缺点,在一般的电商应用中,一般是两类混合使用。推荐算法中最有名的算法就是协同过滤算法。

1.2.7 其他

  除了以上算法之外,机器学习界还有其他的如高斯判别,朴素贝叶斯,决策树等等算法。但是上面列的六个算法是使用最多,影响最广,种类最全的典型。机器学习界的一个特色就是算法众多,发展百花齐放。

  下面做一个总结,按照训练的数据有无标签,可以将上面算法分为监督学习算法和无监督学习算法,但推荐算法较为特殊,既不属于监督学习,也不属于非监督学习,是单独的一类。

  监督学习算法:
  线性回归,逻辑回归,神经网络,SVM

  无监督学习算法:
  聚类算法,降维算法

  特殊算法:
  推荐算法

       除了这些算法以外,有一些算法的名字在机器学习领域中也经常出现。但他们本身并不算是一个机器学习算法,而是为了解决某个子问题而诞生的。你可以理解他们为以上算法的子算法,用于大幅度提高训练过程。其中的代表有:梯度下降法,主要运用在线型回归,逻辑回归,神经网络,推荐算法中;牛顿法,主要运用在线型回归中;BP算法,主要运用在神经网络中;SMO算法,主要运用在SVM中。

1.3 机器学习的应用-----大数据

大数据的核心是利用数据的价值,机器学习是利用数据价值的关键技术,对于大数据而言,机器学习是不可或缺的。相反,对于机器学习而言,越多的数据会越 可能提升模型的精确性,同时,复杂的机器学习算法的计算时间也迫切需要分布式计算与内存计算这样的关键技术。因此,机器学习的兴盛也离不开大数据的帮助。 大数据与机器学习两者是互相促进,相依相存的关系。

二者关系密切,但并不代表二者等同。大数据中包含有分布式计算、内存数据库、多维分析等等多种技术。单从分析方法来看,大数据也包含以下四种分析方法:

  1.大数据,小分析:即数据仓库领域的OLAP分析思路,也就是多维分析思想。
  2.大数据,大分析:这个代表的就是数据挖掘与机器学习分析法。
  3.流式分析:这个主要指的是事件驱动架构。
  4.查询分析:经典代表是NoSQL数据库。

  也就是说,机器学习仅仅是大数据分析中的一种而已。尽管机器学习的一些结果具有很大的魔力,在某种场合下是大数据价值最好的说明。但这并不代表机器学习是大数据下的唯一的分析方法。基于机器学习技术的发展,数据能够“预测”,于是诞生了机器学习界的名言:成功的机器学习应用不是拥有最好的算法,而是拥有最多的数据!

  在大数据的时代,有好多优势促使机器学习能够应用更广泛。例如随着物联网和移动设备的发展,我们拥有的数据越来越多,种类也包括图片、文本、视频等非结构化数据,这使得机器学习模型可以获得越来越多的数据。同时大数据技术中的分布式计算Map-Reduce使得机器学习的速度越来越快,可以更方便的使用。种种优势使得在大数据时代,机器学习的优势可以得到最佳的发挥。

1.3 机器学习的子类-----深度学习

其理念非常简单,即传统的神经网络发展到了多隐藏层的情况。

自从90年代以后,神经网络已经消寂了一段时间。但是BP算法的发明人Geoffrey Hinton一直没有放弃对神经网络的研究。由于神经网络在隐藏层扩大到两个以上,其训练速度就会非常慢,因此实用性一直低于支持向量机。2006年,Geoffrey Hinton在科学杂志《Science》上发表了一篇文章,论证了两个观点:

  1.多隐层的神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;

  2.深度神经网络在训练上的难度,可以通过“逐层初始化” 来有效克服。

通过这样的发现,不仅解决了神经网络在计算上的难度,同时也说明了深层神经网络在学习上的优异性。从此,神经网络重新成为了机器学习界中的主流强大学习技术。同时,具有多个隐藏层的神经网络被称为深度神经网络,基于深度神经网络的学习研究称之为深度学习。

目前业界许多的图像识别技术与语音识别技术的进步都源于深度学习的发展,除了本文开头所提的Cortana等语音助手,还包括一些图像识别应用,其中典型的代表就是下图的百度识图功能。

1.4 机器学习的父类-----人工智能

1.5 机器学习的思考--计算机的潜意识

例如自动驾驶、人类交际,就好比在阐述一个观点时,用一个事实,或者一个故事,比大段的道理要好很多。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/365209
推荐阅读
相关标签
  

闽ICP备14008679号