-
分析 传统的目标检测方法大多以图像识别为基础。一般可以在图片上使用穷举法选出所有物体可能出现的区域框,对这些区域框提取特征并使用图像识别方法分类,在得到所有分类成功的区域后,通过非极大值抑制(Non-maximum suppression)输出结果。 R-CNN的全称是Region-CNN,可以说是第一个成功将深度学习用到目标检测上的算法。 R-CNN同样遵循传统目标检测的思路,同样采用提取框、对每个提取框提取特征、图像分类、非极大值抑制四个步骤进行目标检测。只不过在提取特征这一步,将传统的特征换成了深度卷积网络(CNN)提取的特征。基本步骤 1)对于原始图像,首先使用Selective Search搜寻可能存在物体的区域。 Selective Search可以从图像中启发式地搜索出可能包含物体的区域,相比穷举法可以节省一部分计算量。 2)将取出的可能含有物体的区域送入CNN中提取特征。 CNN通常是接受一个固定大小的图像,而 Selective Search所取出的区域大小却各有不同,对此,R-CNN的做法是将区域缩放到统一大小,再使用CNN提取特征。 3)提取出特征后使用支持向量机SVM进行分类,最后通过非极大值抑制输出结果。R-CNN训练 1)在训练集上训练CNN,R-CNN论文中使用的CNN网络是AlexNet,数据集是ImageNet。 2)在目标检测的数据集上,对训练好的CNN进行微调 3)用Selective Search搜索候选区域,统一使用微调后的CNN对这些区域提取特征,并将提取的特征存储起来。 4)使用提取的特征,训练SVM分类器。算量 R-CNN的缺点在于计算量太大,因此,后续研究者又提出了Fast R-CNN和Faster R-CNN,这两者在一定程度上改进了R-CNN计算量大的缺点,不仅速度变快不少,识别准确率也得到了提高。在介绍Fast R-CNN和Faster R-CNN之前,需要先引入SPPNet,并介绍SPPNet的原理。
-
分析 因为各种媒体宣传,最近问问学校新入学计算机科学的学生们,想搞什么研究,结果十个里有九个要研究机器学习,中间还一些弄不清深度学习和机器学习的关系,实际上是想搞深度学习。 原本深度学习(深度神经网络)只是机器学习领域一个分支,但因为其最近大火,导致对整个领域出现了这样的划分:深度的和非深度,或者说深度的和传统的。虽然现在自然语言处理研究主要用深度学习,但因为很多概念来自机器学习,还是有必要了解传统机器学习的。而且如最近周志华提出的深度森林,将其他传统机器学习方法和深度学习的理念结合起来,就可以提出一些很有意思的模型。入门 最开始想简单了解一下,那么第一步,可以只将 Goodfellow 的 Deep Learning 前面介绍小节读一下,第四小节的 Numerical Computations 以及第五小节的 Machine Learning Basics. 主要会介绍简单的数值运算,梯度更新,还有机器学习基本概念,但没怎么提太详细。 之后就是鼎鼎有名吴教授在 Cousera 上的 Machine Learning。这门课没太多说的,太有名了。一如吴教授的风格,简单易懂,练习也不难,相信网上也都能找到答案。有点麻烦的是,作业是用 Octave 来完成,当然因为 Octave 和 MATLAB的关系,用MATLAB 也是可以的。里面有些东西挺老的,但核心概念都很有用,特别是模型训练策略,错误分析。基础 接着,可以读读我挺喜欢的 NLP 大佬 Kyunghyun Cho 的 ML w/o DL Lecture Notes (没有深度学习的机器学习课堂笔记)。介绍了机器学习中经典的一些问题,比如分类,回归,还有聚类,还提到各自的一些算法以及与深度学习的一些联系。值得一提的是,该资料带有 Jupyter Notebook 的习题作业,所以很推荐把这些作业也做了,可以打下很好的基础。但这个资料介绍不太全面,而且没有课程视频。 还有一个额外的资源是,加州理工 Yaser Abu-Mostafa 的 Learning From Data,这个没上过,也不好评价。但是根据其他评价是门很棒的课。 中文资料,可以读李航的《统计学习方法》还有周志华的《机器学习》,两本都不是太难读。进阶 了解了基础,如果还想挑战自己,可以试试卡内基梅隆大学,Tom Mitchell 教授的 Machine Learning 课程。相比之前的资料,这门课涉及到很多更深入的话题,概率图模型,Boosting,SVM的核方法,强化学习...
-
数字化的力量在过去半世纪里,计算与数字技术给我们生活带来巨大转变。几世纪前发明的工具,设备和服务,现在越来越多地被其数字化的“e-”版本所取代,而我们自身也在不断地适应这种数字环境。这种转变非常之快:曾经计算机价格昂贵,只有大组织,如政府,大公司,大学能负担得起。那时也只有这些组织要计算机来解决一些难题,还能承担得起采购和维护的高成本。那时,计算机“中心”,分布在不同楼层或建筑,里面容纳着耗电量巨大的庞然大物,在大厅里,磁带转动,卡片打孔,数字被咀嚼,Bug (本义虫子,又常指程序中的故障) 还是真正的虫子。很快,随着计算机越来越廉价,可供更多人使用了,于是其应用领域也得到了扩大。一开始计算机只是个计算器,用来加减乘除数字,现在却花样百出。或许计算机技术的主要驱动力便是,当人们意识到每条信息都可数字化。这意味着之前处理数字的计算机,也能用于处理所有类型的信息(数字化的)了。更确切说,计算机将每个数字表示为0或1的二进制数(比特)序列,之后这种序列也能表示其他信息。例如,“101100”可表示数字 44,同时也是逗号的代码; 同样,“1000001”同时是 65 和大写字母'A'。根据环境,计算机程序用其中一种解释来操作序列。事实上,此类比特序列不仅可代表数字和文本,还能代表其他类型的信息 - 例如,照片的颜色或歌曲的色调,甚至计算机程序本身就是比特序列。此外,与这些信息相关联的操作(例如使图像更亮或在照片中找到面部)也能被转换为操纵比特序列的命令序列。计算机存储数据计算机的强大之处在于每条信息都能数字化表示,并且对于这些表示,都能写成出计算机指令来进行操作。这就导致了20世纪60年代数据库的出现。数据库是用于存储和操纵数据的特殊程序。此外还有些外存储设备,比如磁带或磁盘,以磁性方式存储数据,即使关机内容也不会被擦除。有了数据库,计算机就不再只是处理信息的工具,更成了数字化信息的存储库。随着时间推移,数字媒体变得越来越快速,廉价和可靠,以至于取代了纸,成了人类信息存储的主要手段。之后,微处理器的发明,以及其小型化和成本减少的并行发展,20世纪80年代初起,个人计算机越来越普及。这使得小型企业也能使用计算机了,但最重要的是计算机体积小且便宜,足以让其成为日常家用电器了。这让每个人发现了值得计算机处理的任务,于是应用程序大量增长,随后便是数字技术民主化时代的到来。图形化界面和鼠标使计算机更易使用。我们不用学习编程,也不用记住各种复杂的指令。屏幕就是工作环境的数字模拟,有虚拟桌面,有文件,有图标,甚至有垃圾桶,鼠标就是虚拟手,可以用它来选择,阅读或编辑。同时,软件也从商业应用转向了个人应用,通过处理更多类型数据,让生活更加数字化了。我们有文字处理器(Word)来处理信件和其他个人文件,有电子表格(Excel)来处理家用计算,还有音乐或摄影等爱好的软件;如果想,还能用它来玩游戏!计算已经成了日常。用户界面,还有各种日常应用,意味着人与计算机之间的一种和解,过去所熟悉的现实世界和数字世界的和解。计算机被编程得更好地适应我们的生活,而我们也慢慢地一点点去适应它们。随着时间推移,使用电脑已是基本技能。个人计算机使数字技术成为生活中的一个重要部分,对于这里要讲到的故事而言,最重要的是它让生活更多地被以数字方式记录下来。因此,它是将我们生活数据化中很重要的基石,之后这些数据可用来分析和学习。计算机交换数据计算机的下一个重要发展便是连通性。虽然,之前有通过数据传输器连接计算机交换信息,但通过电话线或专用线路,将个人计算机彼此连接或连接到服务器的商业系统,却要等到90年代才普及起来。计算机网络意味着计算机不再是孤立的了,而可以与远程的计算机交换数据。用户不再局限于访问自己计算机的数据,还能访问其他地方的数据,如果想,也能将数据分享给其他用户。计算机网络的发展很快便在因特网中到达了顶峰,因特网是一个覆盖全球的计算机网络。因特网使世界上任何能用计算机的人,都能向其他任何人发送电子邮件等信息。而且因为所有数据和设备都已数字化,于是可共享的信息就不仅仅是文本和数字;还能是图像,视频,音乐以及其他任何东西。通过计算机网络,数字化信息能以光速发给在任何地方的任何人。至此,计算机就不再仅仅只是存储和处理数据的机器,它也成为了传输和共享信息的手段。计算机网络发展很快,数字通信慢慢变得廉价,快速和可靠,以至于数字传输已取代实体邮件,成了信息传输的主要方式。任何“在线”的人都能在计算机上通过网络向其他人分享数据,这便是万维网诞生的方式。人们可以在“网上”冲浪,浏览这些共享信息。很快,通过安全协议还能共享一些机密信息,从而允许通过网络进行商业交易,例如在线购物或银行业务。这种在线连接性进一步增加了数字技术的渗透。当使用网络服务提供商的“www.”门户获得在线服务时,计算机就会变成商店,银行,图书馆或大学的数字版本;这,反过来,又创造了更多数据。
-
Ⅰ 我们还应该考虑神经进化模型的理论优势。Ⅱ 首先,我们只需要使用网络的前向传递,因为我们只需要计算损失,以确定要复制的网络。Ⅲ 这意味着显而易见,反向传播通常是最昂贵的!Ⅳ 其次,在给定足够的迭代次数的情况下,进化算法保证能找到损失曲面的全局最小值,而基于凸梯度的方法则陷入局部最小值。Ⅴ 最后,更复杂的神经进化形式使我们不仅可以优化网络的权值,还可以优化结构本身!Ⅵ 那为什么不一直用神经进化呢?Ⅶ 这是一个复杂的问题,但它可以归结为,当有足够的梯度信息时,精确的梯度下降法更有效。Ⅷ 这意味着损失曲面越凸出,你就越想使用SGD之类的分析方法,而不是遗传算法。因此,在有监督的环境下使用遗传算法是非常罕见的,因为通常有足够的梯度信息可用,传统的梯度下降方法将工作得很好。Ⅸ 然而,如果你是在RL环境下工作,或者是在不规则的缺失面或低凸度的情况下(如连续的GAN),那么神经进化提供了一个可行的选择!Ⅹ 事实上,最近的许多研究发现,参数化神经进化模型在这些环境下可以做得更好。
-
随机森林看起来是很好理解,但是要完全搞明白它的工作原理,需要很多机器学习方面相关的基础知识。在本文中,我们简单谈一下,而不逐一进行赘述,如果有同学不太了解相关的知识,可以参阅其他博友的一些相关博文或者文献。1)信息、熵以及信息增益的概念 这三个基本概念是决策树的根本,是决策树利用特征来分类时,确定特征选取顺序的依据。理解了它们,决策树你也就了解了大概。 引用香农的话来说,信息是用来消除随机不确定性的东西。当然这句话虽然经典,但是还是很难去搞明白这种东西到底是个什么样,可能在不同的地方来说,指的东西又不一样。对于机器学习中的决策树而言,如果带分类的事物集合可以划分为多个类别当中,则某个类(xi)的信息可以定义如下:I(x)用来表示随机变量的信息,p(xi)指是当xi发生时的概率。熵是用来度量不确定性的,当熵越大,X=xi的不确定性越大,反之越小。对于机器学习中的分类问题而言,熵越大即这个类别的不确定性更大,反之越小。信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好。这方面的内容不再细述,感兴趣的同学可以看 《信息&熵&信息增益》 这篇博文。 2)决策树 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。常见的决策树算法有C4.5、ID3和CART。3)集成学习 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。 随机森林是集成学习的一个子类,它依靠于决策树的投票选择来决定最后的分类结果。你可以在这找到用python实现集成学习的文档:Scikit 学习文档。
-
大规模模型训练涉及多GPU时的并行、通讯以及模型过大等问题。并行方式对于n个GPU数据并行:不同的GPU输入不同的数据,运行相同的完整的模型。模型并行:不同的GPU运行模型的不同部分,比如多层网络的不同层;如果模型能够放进单个GPU的显存中,可以使用数据并行加速。如果模型不能够放进单个GPU的显存中,但可以放进多个GPU显存,可以考虑模型并行。模型并行加速:pipeline对于模型并行,如果只是简单将模型不同部分放在不同GPU上,对GPU利用率很低。如下图所示。此时可以采用流水线技术,将一个batch数据切分为多个mini-batch,每个GPU运行完一个mini-batch就将数据传输到下一阶段GPU,然后继续运行下一个mini-batch,可成倍提高GPU利用效率。如下图所示:GPipe提供了一种模型并行流水线的实现 https://arxiv.org/abs/1811.06965通讯算法对于n个GPUParameter Server:GPU 0将数据分成n份分到各个卡上,每张卡负责自己的那一份batch的训练,得到grad后,返回给GPU 0上做累积,得到更新的权重参数后,再分发给各个卡。Ring AllReduce:n张以环形相连,每张卡都有左手卡和右手卡,一个负责接收,一个负责发送,循环n-1次完成梯度累积,再循环n-1次做参数同步。分为Scatter Reduce和All Gather两个环节。Parameter Server是一种更通用的通讯算法,对于很多分布式机器学习算法都适用。但是在deep learning这一通讯量巨大的特定场景中,负责汇总的parameter server容易成为通讯瓶颈。假设有N个GPU,通信一次完整的参数所需时间为K,那么使用PS架构,其通信成本为 T=2(N−1)*K。因此Ring AllReduce被提出来,分为Scatter Reduce和All Gather两个环节。Scatter Reduce过程:首先,我们将参数分为N份,相邻的GPU传递不同的参数,在传递N-1次之后,可以得到每一份参数的累积(在不同的GPU上)All Gather:得到每一份参数的累积之后,再做一次传递,同步到所有的GPU上。其通信成本仅为 T=2(N−1)/N*K 。
-
机器学习、人工智能与数据挖掘的关系机器学习是人工智能的一个分支,作为人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动“学习”的算法,从数据中分析获得规律,然后利用规律对新样本进行预测。机器学习是人工智能的重要支撑技术,其中深度学习就是一个典型例子。深度学习的典型应用是选择数据训练模型,然后用模型做出预测。例如,博弈游戏系统(Deep Blue)重于探索和优化未来的解空间(Solution Space),而深度学习则是在博弈游戏算法(例如Alpha Go)的开发上付诸努力,取得了世人瞩目的成就。下面以自动驾驶汽车研发为例,说明机器学习和人工智能的关系。要实现自动驾驶,就需要对交通标志进行识别。首先,应用机器学习算法对交通标志进行学习,数据集中包括数百万张交通标志图片,使用卷积神经网络进行训练并生成模型。然后,自动驾驶系统使用摄像头,让模型实时识别交通标志,并不断进行验证、测试和调优,最终达到较高的识别精度。当汽车识别出交通标志时,针对不同的标志进行不同的操作。例如,遇到停车标志时,自动驾驶系统需要综合车速和车距来决定何时刹车,过早或过晚都会危及行车安全。除此之外,人工智能技术还需要应用控制理论处理不同的道路状况下刹车策略,通过综合这些机器学习模型来产生自动化的行为。数据挖掘和机器学习的关系越来越密切。例如,通过分析企业的经营数据,发现某一类客户在消费行为上与其他用户存在明显区别,并通过可视化图表显示,这是数据挖掘和机器学习的工作,它输出的是某种信息和知识。企业决策人员可根据这些输出人为改变经营策略,而人工智能是用机器自动决策来代替人工行为,从而实现机器智能。数据挖掘是从大量的业务数据中挖掘隐藏的、有用的、正确的知识,促进决策的执行。数据挖掘的很多算法都来自机器学习和统计学,其中统计学关注理论研究并用于数据分析实践形成独立的学科,机器学习中有些算法借鉴了统计学理论,并在实际应用中进行优化,实现数据挖掘目标。机器学习的演化计算深度学习等方法近年来也逐渐跳出实验室,从实际的数据中学习模式,解决实际问题。数据挖掘和机器学习的交集越来越大,机器学习成为数据挖掘的重要支撑技术。
-
问题分类 我们希望在机器学习算法分类的基础上更具体一些,一种方法是通过分析机器学习任务能解决的问题类型,对任务进行细化: 分类 一种监督学习问题,其中要学习的答案是有限多个可能值之一;例如,在信用卡示例中,该算法必须学习如何在“欺诈”与“诚信”之间找到正确的答案,在仅有两个可能的值时,我们称之为二元分类问题;用于实现分类的常用算法包括:支持向量机 (SVM)、提升 (boosted) 决策树和袋装 (bagged) 决策树、k-最近邻、朴素贝叶斯 (Naïve Bayes)、判别分析、逻辑回归和神经网络。 回归 一种监督学习问题,其中要学习的答案是一个连续值。例如,可为算法提供一条房屋销售及其价格的记录,让它学习如何设定房屋价格;常用回归算法包括:线性模型、非线性模型、规则化、逐步回归、提升 (boosted) 和袋装 (bagged) 决策树、神经网络和自适应神经模糊学习。 细分(聚类) 一种无监督学习问题,其中要学习的结构是一些类似示例的集群。例如,市场细分旨在将客户分组到有类似购买行为的人群中;用于执行聚类的常用算法包括:k-均值和 k-中心点(k-medoids)、层次聚类、高斯混合模型、隐马尔可夫模型、自组织映射、模糊c-均值聚类法和减法聚类。 网络分析 一种无监督学习问题,其中要学习的结构是有关网络中的节点的重要性和作用的信息;例如,网页排名算法会分析网页及其超链接构成的网络,并寻找最重要的网页。谷歌等 Web 搜索引擎使用的就是这种算法,其他网络分析问题包括社交网络分析。
-
一 尽管我们在机器学习社区中广泛使用强化学习,但强化学习不仅仅是一个人工智能术语,它是许多领域中的一个中心思想,如下图(强化学习的多个方面,Many Faces of Reinforcement Learning)所示。二 事实上,许多这些领域面临着与机器学习相同的问题:如何优化决策以实现最佳结果,这就是决策科学 (Science of Decision-Making)。三 在神经科学中,人类研究人脑并发现了一种遵循著名的强化算法的奖励系统。四 在心理学中,人们研究的经典条件反射和操作性条件反射,也可以被认为是一个强化问题。五 类似的,在经济学中我们研究理性博弈论;在数学中我们研究运筹学;在工程学中我们研究优化控制。六 所有的这些问题都可以被认为一种强化学习问题——它们研究同一个主题,即为了实现最佳结果而优化决策。
-
一 局部二值模式(Local binary patterns LBP)是计算机视觉领域里用于分类的视觉算子。二 LBP,一种用来描述图像纹理特征的算子,该算子由芬兰奥卢大学的T.Ojala等人在1996年提出。。三 2002年,T.Ojala等人在PAMI上又发表了一篇关于LBP的文章非常清楚的阐述了多分辨率、灰度尺度不变和旋转不变、等价模式的改进的LBP特征。四 LBP的核心思想就是:以中心像素的灰度值作为阈值,与他的领域相比较得到相对应的二进制码来表示局部纹理特征。五 LBP是提取局部特征作为判别依据的。六 LBP方法显著的优点是对光照不敏感,但是依然没有解决姿态和表情的问题。七 不过相比于特征脸方法,LBP的识别率已经有了很大的提升。
-
(1)机器学习 机器学习对于人工智能来说至关重要,正是因为有机器学习,计算机才能够拥有一定的智能,目前被普遍应用于与人工智能相关的各个领域,包括智能金融的领域。 机器学习的原理是在拥有大量过去由专家决策的数据基础之上选取每类事件的特征值,计算机通过算法程序对特征值进行分析之后,对再次发生的事件的特征值进行提取、分析、比对和最终分类,从而达到智能识别的目的。金融行业在过去积累下来的大量数据就能够应用于机器学习,实现了人工的由数据到模型的过程。(2)自然语言处理 自然语言处理研究的内容包括实现人与计算机用自然语言沟通的各种理论和方法。它是人工智能领域中一个新兴的重要方向,这项技术处于计算机科学与语言科学的交叉领域,它使人类不再是使用编译器和编程语言和计算机进行沟通。 自然语言处理技术的应用主要涉及两个方面:自动报告生成和文本结构化处理。 自动报告生成涉及到自然语言处理,因为一般的金融行业涉及到的报告具有固定的格式,因此可以利用自然语言处理的技术将报告需要的信息进行抓取,生成有固定格式的报告。 除此之外,在机器学习当中,如果单从数字推测模型则具有一定的局限性,而且有些信息是不以数据的形式出现的,因此有时需要引入文本形式的信息,能够通过自然语言处理技术进行分析,将非结构化数据结构化处理,从中得到有价值的信息。(3)知识图谱 知识图谱又称为科学知识图谱,是利用可视化的图形方式来显示各个事物实体发展的进程和实体之间的关系。 利用知识图谱的方式来挖掘、分析、构建、绘制和显示知识,并**这项进程与实体间的相互联系。 机器学习与自然语言处理的技术在遇到意外事件时,预测难以保证准确性,俗称“黑天鹅”事件。 911、熔断机制和卖空禁令等等事件的发生让计算器无法处理,因为系统从未有相关事件的历史数据,也就无法从中学习到相关模式。 此时计算机系统管理资产便存在巨大的风险,会出现模型失灵的情况。 在这种情况下,知识图谱技术被引入到人工智能当中,它本质上还是一种与语义相关的网络,不过是一种基于图的数据结构,也是根据前期专家设计的规则,与不同种类的实体相连接,从而提供了从知识实体之间关系的角度去分析问题的方法和能力。(4)语义搜索 语义搜索目前已经在搜索引擎中被广泛地应用,在金融业务当中也起到十分重要的作用。 语义搜索指的是搜索引擎的工作不再局限于用户当前具体输入的内容,而是计算机能够根据该内容进行合理地联系与扩散,来进一步准确地捕捉到用户实际期望搜索的内容,更准确地反馈给用户期望的搜索结果,语义搜索是基于自然语言处理和知识图谱衍生出来的新技术。
-
1.没有足够的数据来为知识模型提供训练 没有经历过任何学习的机器学习是毫无价值的。机器学习的真实用例是将算法应用于大量的数据,并且使某些模式显现出来,这些模式成了用于基于机器学习的应用程序的培训。 所以,没有数据就谈不上学习。虽然机器学习应用程序最终会收集数据并变得更加智能,但它需要一个出发点,在这个出发点,数据多得足以教会系统如何思考。 例如,有一些机器学习系统运行在医院中,这些系统用魔法般的手段向员工透露你住院期间死亡的可能性。如果连100,000个数据点都没有,你可以指望该可能性为0或100%——这毫无帮助。 2.在不需要机器学习的地方使用机器学习 这是我见过的最常见的失败事项——因在应用程序中使用机器学习而导致公司在开发成本上增加两倍或三倍——完全平白无故地。机器学习系统在很多用例中根本没有发挥真正的优势。 程序逻辑在大多数情况下都管用,因此为会计系统或调度系统构建知识库就太过分了。更糟糕的是,由此产生的应用程序效率要低得多。 3.不了解性能影响 在应用程序中嵌入机器学习系统有时可以使它们对业务更有价值。但这也可能会使应用程序的性能大打折扣。
-
KNN 工作原理假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较。计算新数据与样本数据集中每条数据的距离。对求得的所有距离进行排序(从小到大,越小表示越相似)。取前 k (k 一般小于等于 20 )个样本数据对应的分类标签。求 k 个数据中出现次数最多的分类标签作为新数据的分类。KNN 通俗理解给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的 k 个实例,这 k 个实例的多数属于某个类,就把该输入实例分为这个类。KNN 开发流程收集数据:任何方法准备数据:距离计算所需要的数值,最好是结构化的数据格式分析数据:任何方法训练算法:此步骤不适用于 k-近邻算法测试算法:计算错误率使用算法:输入样本数据和结构化的输出结果,然后运行 k-近邻算法判断输入数据分类属于哪个分类,最后对计算出的分类执行后续处理KNN 算法特点优点:精度高、对异常值不敏感、无数据输入假定缺点:计算复杂度高、空间复杂度高适用数据范围:数值型和标称型
-
在深度学习中,经常有“end-to-end(端到端)”学习的提法,与之相对应的传统机器学习是“Divide and Conquer(分而治之)”。这些都是什么意思呢? “end-to-end”(端到端)说的是,输入的是原始数据(始端),然后输出的直接就是最终目标(末端),中间过程不可知,因此也难以知。比如说,基于深度学习的图像识别系统,输入端是图片的像素数据,而输出端直接就是或猫或狗的判定。这个端到端就是:像素-->判定。 再比如说,“end-to-end”的自动驾驶系统,输入的是前置摄像头的视频信号(其实也就是像素),而输出的直接就是控制车辆行驶指令(方向盘的旋转角度)。这个端到端就是:像素-->指令。 就此,有人批评深度学习就是一个黑箱(Black Box)系统,其性能很好,却不知道为何而好,也就是说,缺乏解释性。其实,这是由于深度学习所处的知识象限决定的。从图1可以看出,深度学习,在本质上,属于可统计不可推理的范畴。“可统计”是很容易理解的,就是说,对于同类数据,它具有一定的统计规律,这是一切统计学习的基本假设。那“不可推理”又是什么概念?其实就是“剪不断、理还乱”的非线性状态了。 在哲学上讲,这种非线性状态,是具备了整体性的“复杂系统”,属于复杂性科学范畴。复杂性科学认为,构成复杂系统的各个要素,自成体系,但阡陌纵横,其内部结构难以分割。简单来说,对于复杂系统,1+1≠2,也就是说,一个简单系统,加上另外一个简单系统,其效果绝不是两个系统的简单累加效应,而可能是大于部分之和。因此,我们必须从整体上认识这样的复杂系统。于是,在认知上,就有了从一个系统或状态(end)直接整体变迁到另外一个系统或状态(end)的形态。这就是深度学习背后的方法论。 与之对应的是“Divide and Conquer(分而治之)”,其理念正好相反,在哲学它属于“还原主义(reductionism,或称还原论)”。在这种方法论中,有一种“追本溯源”的蕴意包含其内,即一个系统(或理论)无论多复杂,都可以分解、分解、再分解,直到能够还原到逻辑原点。 在意象上,还原主义就是“1+1=2”,也就是说,一个复杂的系统,都可以由简单的系统简单叠加而成(可以理解为线性系统),如果各个简单系统的问题解决了,那么整体的问题也就得以解决。比如说,很多的经典力学问题,不论形式有多复杂,通过不断的分解和还原,最后都可以通过牛顿的三大定律得以解决。经典机器学习(位于第Ⅱ象限),在哲学上,在某种程度上,就可归属于还原主义。传统的机器学习方式,通常是用人类的先验知识,把原始数据预处理成各种特征(feature),然后对特征进行分类。 然而,这种分类的效果,高度取决于特征选取的好坏。传统的机器学习专家们,把大部分时间都花在如何寻找更加合适的特征上。因此,早期的机器学习专家们非常苦逼,故此,传统的机器学习,其实可以有个更合适的称呼——特征工程(feature engineering)。 但这种苦逼,也是有好处的。这是因为,这些特征是由人找出来的,自然也就为人所能理解,性能好坏,机器学习专家们可以“冷暖自知”,灵活调整。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签