精华内容
下载资源
问答
  • 中国计算机学会通讯特邀专栏美国华盛顿大学系统科学与数学博士应行仁的机器学习的认知模式,关键词 : 人工智能 机器学习 理性 经验,涉及“最后通牒博弈”,“蜈蚣博弈”,“归纳演绎”等的说明解释。
  • 机器学习概述 机器学习与人工智能、深度学习 机器学习和人工智能,深度学习的关系 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 人工智能>机器学习>深度学习 达特茅斯会议-...

    机器学习概述

    机器学习开发流程

    在这里插入图片描述
    流程图:
    在这里插入图片描述

    学习框架和资料介绍

    需明确几点问题:
    (1)算法是核心,数据与计算是基础
    (2)找准定位

    大部分复杂模型的算法设计都是算法工程师在做,机器学习开发人员需要做的:

    • 分析很多的数据
    • 分析具体的业务
    • 应用常见的算法
    • 特征工程、调参数、优化

    我们应该怎么做?

    • 学会分析问题,使用机器学习算法的目的,想要算法完成何种任务
    • 掌握算法基本思想,学会对问题用相应的算法解决
    • 学会利用库或者框架解决问题
      当前重要的是掌握一些机器学习算法等技巧,从某个业务领域切入解决问题。

    机器学习库与框架

    在这里插入图片描述

    书籍资料

    在这里插入图片描述
    在这里插入图片描述

    提深内功(但不是必须)

    在这里插入图片描述

    机器学习与人工智能、深度学习

    大家,都知道,在2016年,Google DeepMind的AlphaGo打败了韩国的围棋大师李世乭九段。在媒体描述DeepMind胜利的时候,将人工智能(AI)、**机器学习(machine learning)深度学习(deep learning)**都用上了。这三者在AlphaGo击败李世乭的过程中都起了作用,但它们说的并不是一回事。

    它们三者的关系和应用如下:
    在这里插入图片描述
    如上图,人工智能是最早出现的;其次是机器学习,稍晚一点;最内侧,是深度学习,当今人工智能大爆炸的核心驱动。

    五十年代,人工智能曾一度被极为看好。之后,人工智能的一些较小的子集发展了起来。先是机器学习,然后是深度学习。深度学习又是机器学习的子集。深度学习造成了前所未有的巨大的影响。

    过去几年,尤其是2015年以来,人工智能开始大爆发。很大一部分是由于GPU的广泛应用,使得并行计算变得更快、更便宜、更有效。当然,无限拓展的存储能力和骤然爆发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量爆发。

    • 机器学习和人工智能,深度学习的关系
      • 机器学习是人工智能的一个实现途径
      • 深度学习是机器学习的一个方法发展而来
      • 人工智能>机器学习>深度学习
    • 达特茅斯会议-人工智能的起点
      1956年8月,在美国汉诺斯小镇宁静的达特茅斯学院中,
      约翰·麦卡锡(John McCarthy)
      马文·闵斯基(Marvin Minsky,人工智能与认知学专家)
      克劳德·香农(Claude Shannon,信息论的创始人)
      艾伦·纽厄尔(Allen Newell,计算机科学家,1975年与赫伯特·西蒙共同获得 图灵奖)
      赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)等科学家正聚在一起,讨论着一个完全不食人间烟火的主题:
      用机器来模仿人类学习以及其他方面的智能。
      会议足足开了两个月的时间,虽然大家没有达成普遍的共识,但是却为会议讨论的内容起了一个名字:人工智能
      因此,1956年也就成为了人工智能元年。

    关于人工智能百度百科是这样解释的:
    在这里插入图片描述
    早在1956年夏天那次会议,人工智能的先驱们就梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。这就是我们现在所说的**“强人工智能”(General AI)**。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。

    人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能现在还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行

    我们目前能实现的,一般被称为**“弱人工智能”(Narrow AI)**。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类;或者Facebook的人脸识别。

    这些是弱人工智能在实践中的例子。这些技术实现的是人类智能的一些具体的局部。但它们是如何实现的?这种智能是从何而来?这就带我们来到:机器学习与深度学习

    机器学习、深度学习能做些什么

    机器学习

    机器学习的应用场景非常多,可以说渗透到了各个行业领域当中。医疗、航空、教育、物流、电商等等领域的各种场景。

    **机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。**与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务

    机器学习直接来源于早期的人工智能领域。传统算法包括决策树学习、推导逻辑规划、聚类、分类、回归、强化学习和贝叶斯网络等等(当然还有很多)。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。

    机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“STOP”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。

    这个结果还算不错,但并不是那种能让人为之一振的成功。特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。

    随着时间的推进,学习算法的发展改变了一切。

    当前重要的是掌握一些机器学习算法等技巧,从某个业务领域切入解决问题。

    目前机器学习常见的的三个领域:自然语言处理,传统预测,图像识别
    在这里插入图片描述

    • 用在自然语言处理领域
      应用场景:文本分类、情感分析、自动聊天、文本检测等等
      在这里插入图片描述

    • 用在挖掘、预测领域
      应用场景:店铺销量预测、量化投资、广告推荐、企业客户分类、SQL语句安全检测分类…

    • 用在图像领域
      应用场景:街道交通标志检测、人脸识别等等
      在这里插入图片描述

    深度学习

    深度学习——一种实现机器学习的技术
    在这里插入图片描述

    人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向

    例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

    每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。

    我们仍以停止(Stop)标志牌为例。将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。
    在这里插入图片描述
    这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

    即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足

    不过,还是有一些虔诚的研究团队,以多伦多大学的Geoffrey Hinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。

    我们回过头来看这个停止标志识别的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。

    只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(Andrew Ng)教授在Google实现了神经网络学习到猫的样子等等。

    吴教授的突破在于,把这些神经网络从基础上显著地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。吴教授为深度学习(deep learning)加入了“深度”(deep)。这里的 “深度”就是说神经网络中众多的层

    现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。

    深度学习,给人工智能以璀璨的未来

    深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。

    人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。你的C-3PO我拿走了,你有你的终结者就好了

    C-3PO(旧译:斯瑞皮欧)原是由沙漠行星塔图因上一个九岁的天才阿纳金·天行者用废弃的残片和回收物拼凑而成的。年轻的阿纳金·天行者打算让这个自制机器人帮助他的妈妈施密。在材料有限的情况下,阿纳金做的这个机器人确实算很出色了。不过他一开始没有外壳,他的零件和线路都露着,所以C-3PO只得生活在“赤裸”的羞耻之中。
    在这里插入图片描述

    人工智能、机器学习、深度学习有什么关系?
    再以水果选择为例:
    人工智能AI:模拟人脑,辨认哪个是香蕉,哪个是橙子。
    在这里插入图片描述
    机器学习ML:根据特征在水果摊买橙子,随着见过的橙子和其他水果越来越多,辨别橙子的能力越来越强,不会再把香蕉当橙子。

    机器学习强调“学习”而不是程序本身,通过复杂的算法来分析大量的数据,识别数据中的模式,并做出一个预测–不需要特定的代码。在样本的数量不断增加的同时,自我纠正完善“学习目的”,可以从自身的错误中学习,提高识别能力。
    在这里插入图片描述
    深度学习DL:超市里有3种苹果和5种橙子,通过数据分析比对,把超市里的品种和数据建立联系,通过水果的颜色、形状、大小、成熟时间和产地等信息,分辨普通橙子和血橙,从而选择购买用户需要的橙子品种。

    什么是机器学习

    机器学习简史

    哲学上的三大终极问题:是谁?从哪来?到哪去?用在任何地方都是有意义的。
    ——尼古拉斯·沃布吉·道格拉斯·硕德

    虽然人工智能并不是最近几年才兴起的,但在它一直作为科幻元素出现在大众视野中。自从AlphaGo战胜李世石之后,人工智能突然间成了坊间谈资,仿佛人类已经造出了超越人类智慧的机器。而人工智能的核心技术机器学习及其子领域深度学习一时间成了人们的掌上明珠。面对这个从天而降的“怪物”,乐观者有之,悲观者亦有之。但追溯历史,我们会发现机器学习的技术爆发有其历史必然性,属于技术发展的必然产物。而理清机器学习的发展脉络有助于我们整体把握机器学习,或者人工智能的技术框架,有助于从“道”的层面理解这一技术领域。这一节就先从三大究极哲学问题中的后两个——从哪来、到哪去入手,整体把握机器学习,而后再从“术”的角度深入学习,解决是谁的问题。
    在这里插入图片描述
    诞生并奠定基础时期

    1949, Hebb, Hebbian Learning theory

    赫布于1949年基于神经心理的提出了一种学习方式,该方法被称之为赫布学习理论。大致描述为:

    假设反射活动的持续性或反复性会导致细胞的持续性变化并增加其稳定性,当一个神经元A能持续或反复激发神经元B时,其中一个或两个神经元的生长或代谢过程都会变化。

    从人工神经元或人工神经网络角度来看,该学习理论简单地解释了循环神经网络(RNN)中结点之间的相关性关系(权重),即:当两个节点同时发生变化(无论是positive还是negative),那么节点之间有很强的正相关性(positive weight);如果两者变化相反,那么说明有负相关性(negative weight)。
    1950, Alan Turing, The Turing test在这里插入图片描述
    1950年,阿兰·图灵创造了图灵测试来判定计算机是否智能。图灵测试认为,如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能。这一简化使得图灵能够令人信服地说明“思考的机器”是可能的。

    2014年6月8日,一个叫做尤金·古斯特曼的聊天机器人成功让人类相信它是一个13岁的男孩,成为有史以来首台通过图灵测试的计算机。这被认为是人工智能发展的一个里程碑事件。

    1952, Arthur Samuel, “Machine Learning”
    在这里插入图片描述
    1952,IBM科学家亚瑟·塞缪尔开发了一个跳棋程序。该程序能够通过观察当前位置,并学习一个隐含的模型,从而为后续动作提供更好的指导。塞缪尔发现,伴随着该游戏程序运行时间的增加,其可以实现越来越好的后续指导。通过这个程序,塞缪尔驳倒了普罗维登斯提出的机器无法超越人类,像人类一样写代码和学习的模式。他创造了“机器学习”这一术语,并将它定义为:

    可以提供计算机能力而无需显式编程的研究领域

    a field of study that gives computer the ability without being explicitly programmed.

    1957, Rosenblatt, Perceptron
    在这里插入图片描述
    957年,罗森·布拉特基于神经感知科学背景提出了第二模型,非常的类似于今天的机器学习模型。这在当时是一个非常令人兴奋的发现,它比赫布的想法更适用。基于这个模型罗森·布拉特设计出了第一个计算机神经网络——感知机(the perceptron),它模拟了人脑的运作方式。罗森·布拉特对感知机的定义如下:

    感知机旨在说明一般智能系统的一些基本属性,它不会因为个别特例或通常不知道的东西所束缚住,也不会因为那些个别生物有机体的情况而陷入混乱。

    The perceptron is designed to illustrate some of the fundamental properties of intelligent systems in general, without becoming too deeply enmeshed in the special, and frequently unknown, conditions which hold for particular biological organisms.

    3年后,维德罗首次使用Delta学习规则(即最小二乘法)用于感知器的训练步骤,创造了一个良好的线性分类器。

    1967年,The nearest neighbor algorithm
    在这里插入图片描述
    1967年,最近邻算法(The nearest neighbor algorithm)出现,使计算机可以进行简单的模式识别。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。这就是所谓的“少数听从多数”原则。

    1969, Minsky, XOR problem XOR问题,数据线性不可分
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    1969年马文·明斯基提出了著名的XOR问题,指出感知机在线性不可分的数据分布上是失效的。此后神经网络的研究者进入了寒冬,直到 1980 年才再一次复苏。

    停滞不前的瓶颈时期

    从60年代中到70年代末,机器学习的发展步伐几乎处于停滞状态。无论是理论研究还是计算机硬件限制,使得整个人工智能领域的发展都遇到了很大的瓶颈。虽然这个时期温斯顿(Winston)的结构学习系统和海斯·罗思(Hayes Roth)等的基于逻辑的归纳学习系统取得较大的进展,但只能学习单一概念,而且未能投入实际应用。而神经网络学习机因理论缺陷也未能达到预期效果而转入低潮。

    希望之光重新点亮

    伟博斯在1981年的神经网络反向传播(BP)算法中具体提出多层感知机模型。虽然BP算法早在1970年就已经以“自动微分的反向模型(reverse mode of automatic differentiation)”为名提出来了,但直到此时才真正发挥效用,并且直到今天BP算法仍然是神经网络架构的关键因素。有了这些新思想,神经网络的研究又加快了。

    在1985-1986年,神经网络研究人员(鲁梅尔哈特,辛顿,威廉姆斯-赫,尼尔森)相继提出了使用BP算法训练的多参数线性规划(MLP)的理念,成为后来深度学习的基石。

    1986, Quinlan, Decision Trees 决策树
    在这里插入图片描述
    在另一个谱系中,昆兰于1986年提出了一种非常出名的机器学习算法,我们称之为“决策树”,更具体的说是ID3算法。这是另一个主流机器学习算法的突破点。此外ID3算法也被发布成为了一款软件,它能以简单的规划和明确的推论找到更多的现实案例,而这一点正好和神经网络黑箱模型相反。

    决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。

    在ID3算法提出来以后,研究社区已经探索了许多不同的选择或改进(如ID4、回归树、CART算法等),这些算法仍然活跃在机器学习领域中。

    现代机器学习的成型时期

    1990, Schapire, Boosting Boosting算法
    在这里插入图片描述
    1990年, Schapire最先构造出一种多项式级的算法,这就是最初的Boosting算法。一年后 ,Freund提出了一种效率更高的Boosting算法。但是,这两种算法存在共同的实践上的缺陷,那就是都要求事先知道弱学习算法学习正确的下限。

    1995年,Freund和schapire改进了Boosting算法,提出了 AdaBoost (Adaptive Boosting)算法,该算法效率和Freund于1991年提出的 Boosting算法几乎相同,但不需要任何关于弱学习器的先验知识,因而更容易应用到实际问题当中。

    Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数。他是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。

    1995, Vapnik and Cortes, Support Vector Machines (SVM)支持向量机在这里插入图片描述
    支持向量机的出现是机器学习领域的另一大重要突破,该算法具有非常强大的理论地位和实证结果。那一段时间机器学习研究也分为NN和SVM两派。然而,在2000年左右提出了带核函数的支持向量机后。SVM在许多以前由NN占据的任务中获得了更好的效果。此外,SVM相对于NN还能利用所有关于凸优化、泛化边际理论和核函数的深厚知识。因此SVM可以从不同的学科中大力推动理论和实践的改进。

    而神经网络遭受到又一个质疑,通过Hochreiter等人1991年和Hochreiter等人在2001年的研究表明在应用BP算法学习时,NN神经元饱和后会出现梯度损失(gradient loss)的情况。简单地说,在一定数量的epochs训练后,NN会产生过拟合现象,因此这一时期NN与SVM相比处于劣势。

    2001, Breiman, Random Forests(RF)

    决策树模型由布雷曼博士在2001年提出,它是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”我们很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,这样的比喻还是很贴切的,其实这也是随机森林的主要思想—集成思想的体现。

    其实从直观角度来解释,每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。

    爆发时期

    2006, Hinton, Deep Learning

    在机器学习发展分为两个部分,浅层学习(Shallow Learning)和深度学习(Deep Learning)。浅层学习起源上世纪20年代人工神经网络的反向传播算法的发明,使得基于统计的机器学习算法大行其道,虽然这时候的人工神经网络算法也被称为多层感知机,但由于多层网络训练困难,通常都是只有一层隐含层的浅层模型。

    神经网络研究领域领军者Hinton在2006年提出了神经网络Deep Learning算法,使神经网络的能力大大提高,向支持向量机发出挑战。 2006年,机器学习领域的泰斗Hinton和他的学生Salakhutdinov在顶尖学术刊物《Scince》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。

    这篇文章有两个主要的讯息:

    1)很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻划,从而有利于可视化或分类;
    2)深度神经网络在训练上的难度,可以通过“逐层初始化”( layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。

    2015年,为纪念人工智能概念提出60周年,LeCun、Bengio和Hinton推出了深度学习的联合综述。

    深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示。这些方法在许多方面都带来了显著的改善,包括最先进的语音识别、视觉对象识别、对象检测和许多其它领域,例如药物发现和基因组学等。深度学习能够发现大数据中的复杂结构。它是利用BP算法来完成这个发现过程的。BP算法能够指导机器如何从前一层获取误差而改变本层的内部参数,这些内部参数可以用于计算表示。深度卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络在处理序列数据,比如文本和语音方面表现出了闪亮的一面。

    当前统计学习领域最热门方法主要有deep learning和SVM(supportvector machine),它们是统计学习的代表方法。可以认为神经网络与支持向量机都源自于感知机。

    神经网络与支持向量机一直处于“竞争”关系。SVM应用核函数的展开定理,无需知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。而早先的神经网络算法比较容易过训练,大量的经验参数需要设置;训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优。

    神经网络模型貌似能够实现更加艰难的任务,如目标识别、语音识别、自然语言处理等。但是,应该注意的是,这绝对不意味着其他机器学习方法的终结。尽管深度学习的成功案例迅速增长,但是对这些模型的训练成本是相当高的,调整外部参数也是很麻烦。同时,SVM的简单性促使其仍然最为广泛使用的机器学习方式。

    启示与未来的发展

    人工智能机器学习是诞生于20世纪中叶的一门年轻的学科,它对人类的生产、生活方式产生了重大的影响,也引发了激烈的哲学争论。但总的来说,机器学习的发展与其他一般事物的发展并无太大区别,同样可以用哲学的发展的眼光来看待。

    机器学习的发展并不是一帆风顺的,也经历了螺旋式上升的过程,成就与坎坷并存。其中大量的研究学者的成果才有了今天人工智能的空前繁荣,是量变到质变的过程,也是内因和外因的共同结果。

    机器学习的发展诠释了多学科交叉的重要性和必要性。然而这种交叉不是简单地彼此知道几个名词或概念就可以的,是需要真正的融会贯通:

    统计学家弗莱德曼早期从事物理学研究,他是优化算法大师,而且他的编程能力同样令人赞叹;

    乔丹教授既是一流的计算机学家,又是一流的统计学家,而他的博士专业为心理学,他能够承担起建立统计机器学习的重任;

    辛顿教授是世界最著名的认知心理学家和计算机科学家。虽然他很早就成就斐然,在学术界声名鹊起,但他依然始终活跃在一线,自己写代码。他提出的许多想法简单、可行又非常有效,被称为伟大的思想家。正是由于他的睿智和身体力行,深度学习技术迎来了革命性的突破。

    深度学习的成功不是源自脑科学或认知科学的进展,而是因为大数据的驱动和计算能力的极大提升。可以说机器学习是由学术界、工业界、创业界(或竞赛界)等合力造就的。学术界是引擎,工业界是驱动,创业界是活力和未来。学术界和工业界应该有各自的职责和分工。学术界的职责在于建立和发展机器学习学科,培养机器学习领域的专门人才;而大项目、大工程更应该由市场来驱动,由工业界来实施和完成。

    对于机器学习的发展前途,中科院数学与系统科学研究院陆汝铃老师在为南京大学周志华老师的**《机器学习》**一书作序时提出了六大问题,我觉得这些问题也许正是影响机器学习未来发展方向的基本问题,因此我摘录其中五个在此(有两个问题属于同一个主题,合并之):

    • 问题一:在人工智能发展早期,机器学习的技术内涵几乎全部是符号学习,可是从二十世纪九十年代开始,统计机器学习有一匹黑马横空出世,迅速压倒并取代了符号学习的地位。人们可能会问,符号学习是否被彻底忽略了?他还能成为机器学习的研究对象吗?它是否能继续在统计学习的阴影里苟延残喘?

      • 第一种观点:退出历史舞台——没有人抱有这种想法。
      • 第二种观点:统计学习和符号学习结合起来——王珏教授认为,现在机器学习已经到了一个转折点,统计学习要想进入一个更高级的形式,就应该和知识相结合,否则就会停留于现状而止步不前。
      • 第三种观点:符号学习还有翻身之日——Chandrasekaran教授认为机器学习并不会回到“河西”,而是随着技术的进步逐渐转向基本的认知科学。
    • 问题二:统计机器学习的算法都是基于样本数据独立同分布的假设,但自然界现象千变万化,哪里有那么多独立同分布?那么“独立同分布”条件对于机器学习来说是必需的吗?独立同分布的不存在一定是不可逾越的障碍吗?

      • 迁移学习也许会给问题的解决带来一丝曙光?
    • 问题三:近年来出现了一些新的动向,比如深度学习。但他们真的代表机器学习新的方向吗?

      • 包括周志华老师在内的一些学者认为深度学习掀起的热潮大过它本身的贡献,在理论和技术上并没有太多的创新,只不过硬件技术的革命使得人们能采用原来复杂度很高的算法,从而得到更精细的结果。
    • 问题四:机器学习研究出现以来,我们看到的主要是从符号方法到统计方法的演变,用到的数学主要是概率统计。但是今天数学之大,就像大海,难道只有统计方法适合于在机器学习方面的应用?

      • 目前流行学习已经“有点意思了”,但数学理论的介入程度远远不够,有待更多数学家参与,开辟新的模式、理论和方法。
    • 问题五:大数据时代的出现,有没有给机器学习带来本质性的影响?

      • 大数据时代给机器学习带来了前所未有的机遇,但是同样的统计、采样方法相较以前有什么本质不同吗?又从量变过渡到质变吗?数理统计方法有没有发生质的变化?大数据时代正在呼吁什么样的机器学习方法?哪些方法又是大数据研究的驱动而产生的呢?
        在这里插入图片描述

    机器学习基本概念

    权威定义:

    Arthur samuel: 在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。

    Tom Mitchell: 对于某类任务T和性能度量P,如果计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序从经验E学习。

    其实随着学习的深入,慢慢会发现机器学习越来越难定义,因为涉及到的领域很广,应用也很广,现在基本成为计算机相关专业的标配,但是在实际的操作过程中,又慢慢会发现其实机器学习也是很简单的一件事,我们最的大部分事情其实就是两件事情,一个是分类,一个是回归
    比如房价的预测、股价的预测等是回归问题,情感判别、信用卡是否发放等则是属于分类。
    现实的情况 一般是给我们一堆数据,我们根据专业知识和一些经验提取最能表达数据的特征,然后我们再用算法去建模,等有未知数据过来的时候我们就能够预测到这个是属于哪个类别或者说预测到是一个什么值以便作出下一步的决策。比如说人脸识别系统,目的是作为一个验证系统,可能是一个权限管理,如果是系统中的人则有权限否则没有权限,首先给到我们的数据是一堆人脸的照片,第一步要做的事情是对数据进行预处理,然后是提取人脸特征,最后选择算法比如说SVM或者RF等等,算法的最终选择设计到评价标准,这个后面具体讲,这样我们就建立了一个人脸识别的模型,当系统输入一张人脸,我们就能够知道他是不是在系统之中。机器学习的整个流程不过就这几步,最后不过就是参数寻优,包括现在如火如荼的机器学习。

    当我们判断是否要使机器学习时,可以看看是不是以下的场景
    人类不能手动编程;
    人类不能很好的定义这个问题的解决方案是什么;
    人类不能做i到的需要极度快速决策的系统;
    大规模个性化服务系统;

    这里我们采用通俗语言的定义机器学习的概念:

    机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。

    机器学习包括三个步骤:

    数据—>模型—>预测

    解释

    在这里插入图片描述

    • 我们人从大量的日常经验中归纳规律,当面临新的问题的时候,就可以利用以往总结的规律去分析现实状况,采取最佳策略。
    • 从数据(大量的猫和狗的图片)中自动分析获得模型(辨别猫和狗的规律),从而使机器拥有识别猫和狗的能力。
      在这里插入图片描述
    • 从数据(房屋的各种信息)中自动分析获得模型(判断房屋价格的规律),从而使机器拥有预测房屋价格的能力。
      在这里插入图片描述

    只要有数据就能分析获得模型,只要有模型,我们就能对新的数据预测分析

    从历史数据当中获得规律?这些历史数据是怎么的格式?

    数据集构成

    • 结构:特征值+目标值
      在这里插入图片描述
      注:
      对于每一行数据我们可以称之为样本。
      有些数据集可以没有目标值:
      如:根据用户穿着给用户分类,但是并不知道要分出哪些类
      在这里插入图片描述
    展开全文
  • 机器学习的基本概念、第一种分类方式、第二种分类方式、机器学习算法Top10排名、开发流程及运用matplotlib和numpy作图示例。

    1、机器学习的基本概念

    机器学习是一门从数据中研究算法的科学学科。机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。
    (1)机器学习的理性表示
    输入:x∈X
    输出:y∈Y
    获得一个目标函数(target function):f:X -> Y(理想的公式)
    输入数据:D={(x1, y1), (x2, y2),…, (xn, yn)}(历史记录信息)
    最终具有最优性能的假设公式:g:X -> Y(学习得到的最终公式)
    机器学习从数据中获得一个假设的函数g,使其非常接近目标函数f的效果。
    (2)机器学习的经典定义
    美国卡内基梅隆大学(Carnegie Mellon University)机器学习研究领域的著名教授Tom Mitchell对机器学习的经典定义如下。
    对于某给定的任务T,在合理的性能度量方案P的前提下,某计算机程序可以自主学习任务T的经验E;随着提供合适、优质、大量的经验E,该程序对于任务T的性能逐步提高。其中重要的机器学习对象有:任务Task T,经验Experience E、度量性能Performance P。即:随着任务的不断执行,经验的累积会带来计算机性能的提升。

    算法(T):根据业务需要和数据特征选择的相关算法, 也就是一个数学公式。
    模型(E):基于数据和算法构建出来的模型。
    评估/测试(P):对模型进行评估的策略。
    机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。
    (3)拟合
    拟合:构建的算法符合给定数据的特征。
    x(i):表示第i个样本的x向量。
    xi:x向量的第i维度的值。
    鲁棒性:也就是系统的健壮性、稳健性、强健性;当存在异常数据的时候,算法也会拟合数据。
    过拟合:算法太符合样本数据的特征,对于实际生产中的数据特征无法拟合。
    欠拟合:算法不太符合样本的数据特征。
    (4)机器学习之常见应用框架
    sciket-learn(Python):http://scikit-learn.org/stable/。
    Mahout(Hadoop生态圈基于MapReduce):http://mahout.apache.org/。
    Spark MLlib:http://spark.apache.org/。
    (5)机器学习之商业场景
    1)个性化推荐:个性化指的是根据各种因素来改变用户体验和呈现给用户内容,这些因素可能包含用户的行为数据和外部因素;推荐常指系统向用户呈现一个用户可能感兴趣的物品列表。
    2)精准营销:从用户群众中找出特定的要求的营销对象。
    3)客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组。
    4)预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来。
    (6)机器学习与数据分析、数据挖掘的区别与联系
    1)数据分析:数据分析是指用适当的统计分析方法对收集的大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概括过程。在实际工作中,数据分析可帮助人们做出判断;数据分析一般而言可以分为统计分析、探索性数据分析和验证性数据分析三大类。
    2)数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。
    3)机器学习:是数据分析和数据挖掘的一种比较常用、比较好的手段。

    2、机器学习的第一种分类方式

    (1)有监督学习
    用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此种方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集中推断出模型的机器学习任务。

    1. 判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等;
    2. 生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;

    生成式模型更普适;判别式模型更直接,目标性更强。生成式模型关注数据是如何产生的,寻找的是数据分布模型;判别式模型关注的数据的差异性,寻找的是分类面。由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型。
    (2)无监督学习
    与监督学习相比,无监督学习的训练集中没有人为的标注的结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。
    无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。
    无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。
    (3)半监督学习(SSL)
    考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督学习和无监督学习的结合。
    主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。
    半监督学习对于减少标注代价,提高机器学习性能具有非常重大的实际意义。
    SSL的成立依赖于模型假设,主要分为三大类:平滑假设、聚类假设、流行假设;其中流行假设更具有普遍性。
    SSL类型的算法主要分为四大类:半监督分类、半监督回归、半监督聚类、半监督降维。
    缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。

    3、机器学习的第二种分类方式

    (1)分类
    通过分类模型,将样本数据集中的样本映射到某个给定的类别中。
    (2)聚类
    通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大。
    (3)回归
    反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系。
    (4)关联规则
    获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。

    4、机器学习算法Top10

    算法名称
    算法描述
    C4.5 分类决策树算法,决策树的核心算法,ID3算法的改进算法
    CART 分类与回归树(Classification and Regression Trees)
    kNN K近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个类别,那么该样本也属于该类别
    NaiveBayes 贝叶斯分类模型;该模型比较适合属性相关性比较小的时候,如果属性相关性比较大的时候,决策树模型比贝叶斯分类模型效果好(原因:贝叶斯模型假设属性之间是互不影响的)
    SVM 支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中
    EM 最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域
    Apriori 关联规则挖掘算法
    K-Means 聚类算法,功能是将n个对象根据属性特征分为k个分割(k<n);属于无监督学习
    PageRank Google搜索重要算法之一
    AdaBoost 迭代算法;利用多个分类器进行数据分类

    5、机器学习的开发流程

    (1)数据收集
    1)数据来源:用户访问行为数据、业务数据、外部第三方数据。
    2)数据存储:
    需要存储的数据:原始数据、预处理后数据、模型结果。
    存储设施:MySQL、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等。
    3)数据收集方式:Flume & Kafka。
    4)机器学习可用公开数据集
    在实际工作中,我们可以使用业务数据进行机器学习开发,但是在学习过程中,没有业务数据,此时可以使用公开的数据集进行开发,常用数据集如下:
    http://archive.ics.uci.edu/ml/datasets.html
    https://aws.amazon.com/cn/public-datasets/
    https://www.kaggle.com/competitions
    http://www.kdnuggets.com/datasets/index.html
    http://www.sogou.com/labs/resource/list_pingce.php
    https://tianchi.aliyun.com/datalab/index.htm
    http://www.pkbigdata.com/common/cmptIndex.html
    (2)数据预处理
    数据预处理是实际生产环境中机器学习比较耗时的一部分。
    大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示。大部分情况下 ,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:数据过滤,处理数据缺失,处理可能的异常、错误或者异常值,合并多个数据源数据,数据汇总。
    对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式,对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵。
    1)将类别数据编码成为对应的数值表示(一般使用1-of-k方法)。
    2)从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)。
    3)处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)。
    4)数值数据转换为类别数据以减少变量的值,比如年龄分段。
    5)对数值数据进行转换,比如对数转换。
    6)对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同。
    7)对现有变量进行组合或转换以生成新特征,比如平均数。

    类型特征转换之1-of-k

    功能:将非数值型的特征值转换为数值型的数据。
    描述:假设变量的取值有 k 个,如果对这些值用 1 到 k 编序,则可用维度为 k。
    的向量来表示一个变量的值。在这样的向量里,该取值所对应的序号所在的元素为1,其他元素均为0。

    文本数据抽取

    词袋法:将文本当作一个无序的数据集合,文本特征可以采用文本中的词条T进行体现,那么文本中出现的所有词条及其出现的次数就可以体现文档的特征。
    TF-IDF:词条的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多,表示该词条对该文本的重要性越高,词条在所有文本中出现的次数越少,说明这个词条对文本的重要性越高。TF(词频)指某个词条在文本中出现的次数,一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);IDF(逆向文件频率)指一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。TF-IDF实际上是:TF * IDF。
    TF-IDF示例:

    (3)特征提取
    (4)模型构建
    模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。
    在训练数据集上运行模型(算法)并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式被称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)。
    模型的选择会尽可能多的选择算法进行执行,并比较执行结果。
    (5)模型测试评估

    分类结果度量

    模型的测试一般以下几个方面来进行比较,分别是准确率、召回率、精准率、F值。
    准确率(Accuracy)=提取出的正确样本数/总样本数。
    召回率(Recall)=正确的正例样本数/样本中的正例样本数。
    精准率(Precision)=正确的正例样本数/预测为正例的样本数。
    F值=Precision* Recall*2 / (Precision+Recall) ,即F值为精准率和召回率的调和平均值。

    混淆矩阵


    参考:http://www2.cs.uregina.ca/~dbd/cs831/notes/confusion_matrix/confusion_matrix.html
    https://en.wikipedia.org/wiki/Precision_and_recall

    ROC曲线

    ROC(Receiver Operating Characteristic) 最初源于20世纪70年代的信号检测理论,描述的是分类混淆矩阵中FPR-TPR两个量之间的相对变化情况,ROC曲线的纵轴是“真正例率”(True Positive Rate 简称TPR),横轴是“假正例率” (False Positive Rate 简称FPR)。
    如果二元分类器输出的是对正样本的一个分类概率值,当取不同阈值时会得到不同的混淆矩阵,对应于ROC曲线上的一个点。那么ROC曲线就反映了FPR与TPR之间权衡的情况,通俗地来说,即在TPR随着FPR递增的情况下,谁增长得更快,快多少的问题。TPR增长得越快,曲线越往上屈,AUC就越大,反映了模型的分类性能就越好。当正负样本不平衡时,这种模型评价方式比起一般的精确度评价方式的好处尤其显著。

    AUC面积

    AUC的值越大表达模型越好。
    AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而AUC作为数值可以直观的评价分类器的好坏,值越大越好。
    1)AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
    2)0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
    3)AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
    4)AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

    回归结果度量

    explained_varicance_score:可解释方差的回归评分函数。
    mean_absolute_error:平均绝对误差。
    mean_squared_error:平均平方误差。
    (6)投入使用(模型部署与整合)
    当模型构建好后,将训练好的模型存储到数据库中,方便其它使用模型的应用加载,构建好的模型一般为一个矩阵。模型需要周期性的进行更新操作。
    (7)迭代优化

    模型的监控与反馈

    当模型一旦投入到实际生产环境中,模型的效果监控是非常重要的,往往需要关注业务效果和用户体验,所以有时候会进行A/B测试.
    模型需要对用户的反馈进行响应操作,即进行模型修改,但是要注意异常反馈信息对模型的影响,故需要进行必要的数据预处理操作。

    6、运用matplotlib和numpy作图示例

    import math
    import matplotlib.pyplot as plt
    
    if __name__ == "__main__":
    	x = [float(i) / 100.0 for i in range(1, 300)]
    	y = [math.log(i) for i in x]
    	plt.plot(x, y, 'r-', linewidth=3, label='log Curve')
    	a = [x[20], x[175]]
    	b = [y[20], y[175]]
    	plt.plot(a, b, 'g-', linewidth=2)
    	plt.plot(a, b, 'b*', markersize=15, alpha=0.75)
    	plt.legend(loc = 'upper left')
    	plt.grid(True)
    	plt.xlabel('x')
    	plt.ylabel('log(x)')
    	plt.show()
    

    图示如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    def sigmoid(h):
    	return 1.0 / (1.0 + np.exp(-h))
    
    h = np.arange(-10, 10, 0.1)											# 定义x的范围,像素为0.1
    s_h = sigmoid(h)													# sigmoid为上面定义的函数
    plt.plot(h, s_h)
    plt.axvline(0.0, color='k')											# 在坐标轴上加一条竖直的线,0.0为竖直线在坐标轴上的位置
    plt.axhspan(0.0, 1.0, facecolor='1.0', alpha=1.0, ls='dotted')		# 加水平间距通过坐标轴
    plt.axhline(y=0.5, ls='dotted', color='k')							# 加水平线通过坐标轴
    plt.yticks([0.0, 0.5, 1.0])											# 加y轴刻度
    plt.ylim(-1.1, 1.1)													# 加y轴范围
    plt.xlabel('h')
    plt.ylabel('$S(h)$')
    plt.show()
    

    图示如下:

    展开全文
  • 什么是机器学习机器学习有什么用? 2、下面我们来看一个例子 天气的变化对农作物的影响很大,那么在古代不如现在科技这么发达,农民又是怎样来判断天气的呢?我相信大家都知道。是的,农民是根据当天天气...

    1、首先请大家思考下:

    1. 什么是机器学习?
    2. 机器学习有什么用?

    2、下面我们来看一个例子

    • 天气的变化对农作物的影响很大,那么在古代不如现在科技这么发达,农民又是怎样来判断天气的呢?我相信大家都知道。是的,农民是根据当天天气情况、晚上的夜空来以及以往的经验来判断明天的天气是晴天还是雨天。
    • 其实,我们生活中有很多基于经验做出的预判。
    • 生活中的例子,可以看出,我们能够根据经验做出有效的预判,是因为我们已经积累了许多的经验,而通过对经验的利用,就能够对新情况做出有效的决策。

      上面对经验的利用是靠我们人类自身完成的,那么,计算机能做到吗?


    机器学习正是这样的一门学科,它致力于研究如何通过计算手段,利用经验来改善系统自身的性能。

    3、机器学习定义

    • Machine Learning(ML) is a scientific discipline that deals with the construction and study of algorithms that can learn from data.
    • 机器学习是一门从数据中研究算法的科学学科。
    • 直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。

    4、机器学习理性认识

    这里写图片描述

    4.1 基本概念

    • 输入:
      xXx∈X(属性值)
    • 输出:
      yYy∈Y(目标值)
    • 获得一个目标函数(target function):
      f:X>Yf:X−>Y(理想的公式)
    • 输入数据:
      D=(x1,y1),(x2,y2),...,(xn,yn)D={(x1,y1),(x2,y2),...,(xn,yn)}(历史记录数据)
    • 最终具有最优性能的假设公式:
      g:X>Yg:X−>Y

    这里写图片描述

    这里写图片描述

    • 目标函数f未知(无法得到)
    • 假设函数g类似函数f,但是可能和函数f不同
      机器学习中无法找到一个完美的函数f,从数据中获得一个假设的函数g,使其非常接近目标函数f的效果。

    5、机器学习概念

    • 对于给定的任务T,在合理的性能度量P的前提下,某计算机程序可以自主学习任务T的经验E;随着提供合理、优质、大量的经验E,该程序对于任务T的性能逐步提高。
    • 其中重要的机器学习对象:
    • 任务T(一个或多个)、经验E、度量性能P
    • 即:随着任务的不断执行,经验的积累会带来计算机性能的提升。
    • 算法(T):根据业务需要和数据特征选择的相关算法,也就是一个数学公式
    • 模型(E):基于数据和算法构建出来的模型
    • 评估/测试(P):对模型进行评估的策略

    这里写图片描述

    机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。

    6、 机器学习常见的应用框架

    • scikit-learn(Python)网址
    • Mahout(Hadoop生态圈基于MapReduce)网址
    • Spark MLlib网址

    以后我会基于第一个scikit-learn库给出一些案例

    7、机器学习应用场景

    • 模式识别
    • 数据挖掘
    • 统计学习
    • 计算机视觉
    • 语音识别
    • 自然语言处理等

    8、机器学习、数据分析、数据挖掘区别与联系

    8.1 数据分析

    数据分析是指用适当的统计分析方法对收集的大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概况过程。在实际工作中,数据分析可以帮助人们做出判断;数据分析一般而言可以分为统计分析、探索性数据分析和验证性数据分析三大类。

    8.2 数据挖掘

    一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。

    8.3 机器学习

    是数据分析和数据挖掘的一种比较常用、比较好用的手段。

    9、机学习分类

    9.1 有监督学习

    用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集中推断出模型的机器学习任务。

    9.2 无监督学习

    与监督学习相比,无监督学习的训练集中没用认为的标注结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。

    9.3 半监督学习

    考虑如何利用少量的标注样本和大量的未标注的样本进行训练和分类的问题,是有监督学习和无监督学习的结合

    10、机器学习分类

    10.1 分类

    通过分类模型,将样本数据集中的样本映射到某个给定的类别中

    10.2 聚类

    通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大

    10.3 回归

    反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系

    10.4 关联规则

    获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率

    11、机器学习开发流程

    1. 数据收集
    2. 数据预处理
    3. 特征提取
    4. 模型构建
    5. 模型测试评估
    6. 投入使用(模型部署与整合)
    7. 迭代优化
      这里写图片描述
    • 其中,数据预处理主要包括:数据过滤、处理数据缺失、处理异常值、合并多个数据源数据、数据汇总
    • 模型训练:交叉验证
    • 模型测试:准确率、召回率、精确率、F值(混淆矩阵)以及ROC和AUC(这些在以后的案例中会用到)
    展开全文
  • 机器学习概览(残)

    2020-08-12 08:16:40
    机器学习第一天:机器学习概览机器学习简介什么时候该使用机器学习机器学习算法的理性认识机器学习解决的主要问题机器学习分类 机器学习简介 什么时候该使用机器学习 问题的解决方案很复杂,或者问题可能涉及大量的...

    机器学习简介

    什么时候该使用机器学习

    问题的解决方案很复杂,或者问题可能涉及大量的数据却没有明确数据分布函数

    遇到下面的情况,可以考虑使用机器学习:

    • 规则十分复杂或者无法描述,比如人脸识别和语音识别
    • 任务的规则会随着时间而改变,比如词性标注,随时都会产生新的词或词义
    • 数据分布本身随时间变化,需要程序不停的重新适应,比如预测商品销售的趋势
      0

    机器学习算法的理性认识

    1

    • 目标函数f未知,学习算法无法得到钱一个完美的函数f
    • 假设函数g逼近函数f,但是可能和函数f不同

    机器学习解决的主要问题

    机器学习可以解决多种类型的任务,下面列出最典型的常见的三种:

    • 分类:

    计算机程序需要指定输入属于k类中的哪一类。为了完成这个任务,学习算法通常会输出一个函数f:Rn→(1,2,…k)。比如计算机视觉中的图像分类算法解决的就是一个分类任务。

    • 回归:

    这类任务中,计算机程序会对给定输入预测输出数值。学习算法通常会输出一个函数f:Rn→R,这类任务的一个示例是预测投保人的索赔金额(用于设置保险费),或者预测证券未来的价格。

    • 聚类:

    对大量未知标注的数据集,按数据的内在相似性,将数据划分为多个类别,是类别内的数据相似度较大,而类别间的相似性比较小。可以被运用在图片检索,用户画像等场景中

    分类和回归是预测问题的两种主要类型占到80%-90%,分类的输出是离散的类别值,而回归的输出是连续数值。

    机器学习分类

    监督学习

    利用已知类别的样本,训练学习得到一个最优模型,使其达到所要求性能,再利用这个训练所得模型,将所有的输入映射为相应的输出,对输出进行简单的判断,从而实现分类的目的,即可以对未知数据进行分类 。

    在这里插入图片描述

    • 回归问题
      (1) 定义:反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系。
      (2) 特性:通常情况下,回归问题都是在拟合一个趋势。
      (3) 举例:
       * 下周股票能给我带来多少收益?
       * 周二的温度会是多少摄氏度?

    • 分类问题
      (1) 定义:分类问题属于有监督学习,通过分类模型,将样本数据集中的样本映射到某个给定的类别中。
      (2) 特性:非A即B的选择问题
      (3) 举例:
       * 明天早高峰时间段XX路上会堵车吗?
       * 哪种手段更吸引顾客:5元代金券or打75折?

    无监督学习

    对于没有标记的样本,学习算法直接对输入数据集进行建模,例如聚类即“物以类聚,人以群分”。我们只需要把相似度高的东西放在一起,对于新来的样本,计算相似度后,按照相似程度进行归类就好。

    在这里插入图片描述

    • 聚类问题
      通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大。
      在这里插入图片描述

    举例:
     * 哪些观众喜欢看同一题材的电影?
     * 这些零部件中哪些破损的方式是相似的?

    半监督学习

    试图让学习器自动地对大量未标记数据进行利用以辅助少量有标记数据进行学习。

    在这里插入图片描述

    强化学习

    学习系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对在这里插入图片描述
    产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统如何去产生正确的动作。

    在这里插入图片描述

    机器学习的整体流程

    在这里插入图片描述

    其他机器学习重要方法

    机器学习的常见算法

    案例讲解

    备注

    笔记内容来自于华为ilearningX课程:机器学习概览;
    视频地址:机器学习概览

    展开全文
  • 本文档旨在帮助那些掌握机器学习基础知识的人从Google机器学习的最佳实践中获益。它提供了机器学习的风格,类似于Google C ++风格指南和其他流行的实用编程指南。如果您参加了机器学习课程,或者在机器学习模型上...
  • 机器学习极简入门课

    千次阅读 2018-07-03 02:45:07
    本达人课针对机器学习初学者,从机器学习、深度学习最基本的原理及学习意义入手,以模型为驱动,带领大家吃透几个最经典的机器学习模型——学习这些模型的原理、数学推导、训练过程和优化方法。 本课为每个模型提供...
  • 机器学习初探

    2017-09-30 15:15:23
    机器学习是从早期的人工智能研究领域出来的。 那么深度学习与及其学习又有什么样的联系呢?我们可以从下图中直观的看出: 人工智能: 弱人工智能:是能够与人一样,甚至比人更好地执行特定任务的技术。目前...
  • 在其中,作者警告说:“不幸的是,一些对机器学习项目做出重要决策的企业领导者,普遍存在机器学习的误解。” 当高管和经理谈论AI以及机器学习时,他们有时会犯一些事实错误,显示出他们真正的知识水平。 卡尔森说:...
  • 到2018年,AI其实都没有这么火了,因为区块链更火,一个是改变生产力,一个是改变生产关系,社区如是说。 当然,技术社区从来对去中心化都是特别热衷的...再了解了解业界最新进展什么的,很多人都不知道机器学习该...
  • 摘要:机器学习到底需要怎么样的数学基础?高段位机器学习如何练成?来瞧瞧。 到目前为止,我们都还不完全清楚开始机器学习需要什么样的数学水平,特别是那些没有在学校学习数学或统计学的人。 在这篇文章中,我的...
  • 机器学习中常会用到一些基础的分析方法和基本概念,整理知识框架如下。 也可以在之前的博客《常用术语...入门建议选择理性和实践并重的教材,比如《Python机器学习实践》、《集体智慧编程》。边学习边实践,很容易...
  • 美国卡内基梅隆大学(CMU)计算机科学学院机器学习系主任、教授,美国工程院、艺术与科学院院士,美国科学促进会(AAAS)、国际人工智能协会(AAAI)Fellow,他在机器学习、人工智能、认知神经科学等领域卓有建树,...
  • 人工智能之机器学习

    千次阅读 2019-08-15 20:44:34
    人工智能人工智能概述python与java人工智能分类人工智能的历史机器学习机器学习定义机器学习概念机器学习概念性含义 人工智能 概述 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、...
  • 本文来源:《Rules of Machine Learning:Best ...这是Martin Zinkevich在NIPS 2016 Workshop 分享的谷歌机器学习实践的四十三条法则。 术语实体(Instance):要对其进行预测的事物标签(Label):预测任务的结果
  • 机器学习的集成学习方法成功借鉴这一思想,大大提升了模型的效率和准确性。 1906年,Galton创造了群体智慧一词。有一次他参加了一个农贸展销会,那里正在举办一场肉牛重量竞猜比赛,牛已经宰好了,内脏掏得一干二净...
  • 机器学习、深度学习、强化学习和人工智能的关系是什么?人工智能的学习算法大家庭1. 机器学习的定义2. 深度学习的定义3. 强化学习的定义4. 迁移学习的定义5. 人工智能的定义6. 机器学习 VS 深度学习 VS 强化学习 VS ...
  • 机器学习基础概念总结

    千次阅读 2018-08-17 13:28:17
    机器学习最主要的任务是分类和回归。 1.2 应用场景 模式识别 计算机视觉 数据挖掘 语音识别 自然语言处理 2 ML算法分类 机器学习按照学习方式分为四类:有监督学习、无监督学习、半监督学习...
  • 深度学习入门笔记(一):机器学习基础

    千次阅读 多人点赞 2020-07-02 23:33:28
    机器学习2.1 什么是机器学习2.2 用机器学习解决问题的一般流程2.3 数据预处理2.4 特征工程2.5 模型性能的评估与选择三深度学习的发展历程和应用3.1 深度学习的发展历程3.2 深度学习的应用 本章内容 人工智能的发展...
  • (一)机器学习基本概念篇 什么是机器学习呢? 机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型...
  • 机器学习概述 1.1 时刻接触的机器学习 谈起机器学习,就不得不说当下大火的人工智能领域,人工智能是什么?人工智能是类人思考、类人行为,理性的思考、理性的行动。人们一谈起人工智能,很多人就潜意识觉得人工...
  • 数据挖掘与机器学习

    2019-07-21 09:06:23
    数据挖掘 数据挖掘:也就是data mining,是一个很宽泛的概念,也是一个新兴学科,旨在如何从海量数据中挖掘出有用的信息来。 数据挖掘这个工作BI(商业智能)可以做...机器学习:machine learning,是计算机科学...
  • 本文档旨在帮助已掌握机器学习基础知识的人员从 Google 机器学习的最佳实践中受益。它介绍了一种机器学习样式,类似于 Google C++ 样式指南和其他常用的实用编程指南。如果您学习过机器学习方面的课程,或者拥有机器...
  • 本文档旨在帮助已掌握机器学习基础知识的人员从 Google 机器学习的最佳实践中受益。它介绍了一种机器学习样式,类似于 Google C++ 样式指南和其他常用的实用编程指南。如果您学习过机器学习方面的课程,或者拥有机器...
  • 机器学习相关数据库

    2014-10-10 11:08:51
    UCI机器学习和知识发现研究中使用的大型数据集KDD数据库存储库。UCI机器学习数据库。AWS(亚马逊网络服务)公共数据集,提供了一个集中的资料库,可以无缝集成到基于AWS的云应用程序的公共数据集。生物测定数据,在...
  • 自动机器学习AutoML

    千次阅读 2020-11-01 09:24:09
    研究背景:随着深度神经网络的不断发展,各种...自此,人工智能又有了更进一步的发展,人们开始探索如何利用已有的机器学习知识和神经网络框架来让人工智能自主搭建适合业务场景的网络,人工智能的另一扇大门被打开。
  • 介绍 ...利用一些特性,比如关于一个组织的最新公告,他们的季度收入结果等功能,机器学习技术有可能发掘出我们以前没有看到的模式和见解,并且可以用来做出准确无误的预测。 在本文中,我们将使...
  • 博弈机器学习和贝叶斯学习可以看成集成目前机器学习组件的理论框架,解决从感知到认知的人工智能技术问题。崇志宏 http://cse.seu.edu.cn/people/zhchong/index.htm 刘铁岩:博弈机器学习是什么? 作者:...
  • 第9讲 机器学习.ppt

    2020-06-05 09:13:20
    9.1 什么是机器学习 学习的概念 学习是系统改进其性能的过程使系统在重复同样的工作时能完成的更好 学习是获取知识的过程基于专家系统的观点 学习是技能的获取过程心理学家的观点通过大量实践和反复训练改进技能 ...
  • 向AI转型的程序员都关注了这个号????????????机器学习AI算法工程 公众号:datayx这是Martin Zinkevich在NIPS 2016 Workshop 分享的谷歌机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,878
精华内容 5,551
关键字:

机器学习理性