机器学习(ML)是一门多领域的交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度论等学科。它专门研究计算机如何模拟或实施人类的学习行为,以获取新知识或技能,重组现有知识结构,并不断提高其性能。此外,数据挖掘和机器学习有很大的交集。本文将从架构和应用的角度解读这两个领域。机器学习和数据挖掘之间的联系和差异数据挖掘是从大量数据中获取有效、新颖、潜在有用且最终可理解的模式的重要过程。数据挖掘大量使用了机器学习社区提供的数据分析技术和数据库社区提供的数据管理技术。从数据分析的角度来看,数据挖掘和机器学习有很多相似之处,但不同点也非常明显。例如,数据挖掘没有机器学习探索人类学习机制的科学发现任务。对海量数据进行数据分析,等等。从某种意义上说,机器学习的科学成分更重,而数据挖掘的技术成分更重。学习能力是智能行为的一个非常重要的特征。没有学习能力的系统很难称为真正的智能系统,而机器学习则希望(计算机)系统能够利用经验来提升自身的性能。因此,该领域一直是人工智能的核心研究领域之一。在计算机系统中,“经验”通常以数据的形式存在。因此,机器学习不仅涉及对人类认知学习过程的探索,还涉及对数据的分析和处理。事实上,机器学习已经成为计算机数据分析技术创新的源泉之一。由于几乎所有学科都面临数据分析任务,机器学习开始影响到计算机科学的许多领域,甚至计算机科学以外的许多学科。机器学习是数据挖掘中的重要工具。然而,数据挖掘不仅需要研究、扩展和应用一些机器学习方法,还需要通过许多非机器学习技术来解决数据仓库、海量数据、数据噪声等实际问题。机器学习的范围也很广,数据挖掘中常用的方法通常只是“从数据中学习”。然而,机器学习不仅仅可以用于数据挖掘,机器学习的一些子领域甚至与数据挖掘无关,比如强化学习和自动控制。因此,笔者认为数据挖掘是从目的的角度,机器学习是从方法的角度。这两个领域有相当大的交集,但不能等同。典型的数据挖掘和机器学习流程图1是一个典型的推荐应用,需要寻找“合格”的潜在人才。从用户数据中得到这个列表,首先需要挖掘客户特征,然后选择合适的模型进行预测,最后从用户数据中得到结果。图1将上述例子中获取用户列表的流程进行细分,有以下几个部分(见图2)。图2业务理解:理解业务本身,它的本质是什么?是分类问题还是回归问题?如何获取数据?为下一步的预处理做准备。数据预处理:原始数据会有噪声,格式不好,所以为了保证预测的准确性,需要对数据进行预处理。特征提取:特征提取是机器学习中最重要也是最耗时的阶段。建模:使用适当的算法来获得预期的准确值。模型评估:根据测试集评估模型的准确性。模型应用:将模型部署应用到实际生产环境中。应用效果评估:根据最终的业务来评估最终的应用效果。整个过程会不断重复,不断调整模型,直到达到想要的效果。机器学习概述机器学习有很多算法。这里有两个方面:一个是学习方法,一个是算法相似度。学习方法根据数据的类型,可以使用不同的方法对问题进行建模。在机器学习或人工智能领域,人们首先想到的是算法是如何学习的。在机器学习领域,主要有以下几种学习方法。监督学习:在监督学习下,输入的数据称为“训练数据”,每组训练数据都有明确的标识或结果,如反垃圾邮件系统中的“垃圾邮件”、“非垃圾邮件”、“手写数字识别中的1"、"2"、"3"、"4"。在建立预测模型时,监督学习建立了一个学习过程,将预测结果与“训练数据”的实际结果进行比较,并不断调整预测模型,直到模型的预测结果达到预期的准确率。监督学习的常见应用包括分类和回归问题。常见的算法是逻辑回归和反向传播神经网络。无监督学习:在无监督学习下,数据没有被具体识别,而学习模型就是推断数据的一些内部结构。常见的应用场景包括关联规则学习和聚类。常见的算法有Apriori算法和K-Means算法。半监督学习:在半监督学习中,输入数据部分标记,部分未标记。这种学习模型可以用来做预测,但是模型首先需要学习数据的内在结构,才能合理组织数据进行预测。它的应用场景包括分类和回归。常用算法包括对常用监督学习算法的一些扩展。这些算法首先尝试对未标记数据建模,然后在此基础上对标记数据进行预测,例如图论推理算法或拉普拉斯支持向量机等。强化学习:在强化学习下,输入数据作为反馈与监督模型不同,在监督模型中,输入数据仅用作检查模型正确或错误的一种方式。在强化学习中,输入数据直接输入模型,模型必须立即对其进行调整。常见的应用场景包括动态系统和机器人控制。常见的算法包括Q-Learning和TemporalDifferenceLearning。在企业数据应用场景中,监督学习和非监督学习可能是最常用的。在图像识别等领域,半监督学习由于大量的非标记数据和少量可识别数据而成为当前的热门话题。强化学习在机器人控制和其他需要系统控制的领域得到了更广泛的应用。算法相似性算法可以根据其功能和形式相似性来分类,比如基于树的算法、基于神经网络的算法等。当然机器学习的范围非常大,有些算法很难明确归入某个类别。对于某些类别,同一类别的算法可以解决不同类型的问题。在这里,我们尝试以最容易理解的方式对常用算法进行分类。回归算法:回归算法是一类算法,它试图使用误差度量来探索变量之间的关系。回归算法是统计机器学习中的强大工具。常见的回归算法包括最小二乘法、逻辑回归、逐步回归、多元自适应回归样条和局部散点平滑估计。基于实例的算法:基于实例的算法通常用于对决策问题建模。此类模型往往先选择一批样本数据,然后根据一些近似值将新数据与样本数据进行比较,以找到最佳匹配。.因此,基于实例的算法通常被称为“赢家通吃学习”或“基于记忆的学习”。常见的算法包括k最近邻(kNN)、学习向量量化(LVQ)和自组织映射(SOM)。正则化算法:正则化算法是其他算法(通常是回归算法)的扩展,可根据算法的复杂性调整算法。正则化算法通常奖励简单模型并惩罚复杂模型。常见算法包括岭回归、最小绝对收缩和选择算子(LASSO)和弹性网络。决策树算法:决策树算法采用树状结构,根据数据的属性建立决策模型,常用于解决分类和回归问题。常用算法包括分类回归树(CART)、ID3(IterativeDichotomiser3)、C4.5、卡方自动交互检测(CHAID)、DecisionStump、随机森林(RandomForest)、多元自适应回归样条(MARS)和gradientbooster(GBM)等。贝叶斯算法:贝叶斯算法是一类基于贝叶斯定理的算法,主要用于解决分类和回归问题。常见的算法包括朴素贝叶斯算法、平均单相关估计器(AODE)和贝叶斯信念网络(BBN)。基于内核的算法:最著名的基于内核的算法是支持向量机(SVM)。基于内核的算法将输入数据映射到更高阶的向量空间,其中可以更轻松地解决一些分类或回归问题。常见的基于核的算法包括支持向量机(SupportVectorMachine,SVM)、径向基函数(RadialBasisFunction,RBF)和线性判别分析(LinearDiscriminateAnalysis,LDA)。聚类算法:聚类算法通常按照中心点或层次的方式合并输入数据。所有的聚类算法都试图找到数据的内部结构,以便根据最大的共性对数据进行分类。常见的聚类算法包括K-Means算法和期望最大化算法(EM)。关联规则学习:关联规则学习通过寻找最能解释数据变量之间关系的规则,在大型多元数据集中寻找有用的关联规则。常见的算法有Apriori算法和Eclat算法。人工神经网络算法:人工神经网络算法模拟生物神经网络,是一种模式匹配算法,通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大分支,有数百种不同的算法(深度学习就是其中之一)。常见的人工神经网络算法包括感知器神经网络、反向传播、Hopfield网络、自组织映射和学习向量量化等。深度学习算法:深度学习算法是人工神经网络的发展。随着计算能力变得越来越便宜,深度学习算法试图构建更大、更复杂的神经网络。许多深度学习算法都是半监督学习算法,旨在处理具有少量未标记数据的大型数据集。常见的深度学习算法包括受限玻尔兹曼机(RBN)、深度信念网络(DBN)、卷积网络和堆叠自动编码器。降维算法:与聚类算法一样,降维算法试图分析数据的内部结构,但降维算法试图通过无监督学习使用较少的信息来概括或解释数据。此类算法可用于可视化高维数据,或简化监督学习的数据。常见的降维算法有主成分分析(PrincipleComponentAnalysis,PCA)、偏最小二乘回归(PartialLeastSquareRegression,PLSR)、萨蒙映射、多维缩放(Multi-DimensionalScaling,MDS)和投影追踪(ProjectionPursuit)等.集成算法:集成算法使用一些相对较弱的学习模型,在相同的样本上独立训练,然后综合结果进行整体预测。集成算法的主要难点在于集成哪些独立的、较弱的学习模型,以及如何集成学习结果。这是一类非常强大的算法,同时也非常流行。常见的集成算法包括Boosting、BootstrappedAggregation(Bagging)、AdaBoost、StackedGeneralization(Blending)、梯度提升机(GBM)和随机森林(RandomForest)。机器学习&数据挖掘应用案例我们已经学习了机器学习和数据挖掘的基本概念。让我们看看业界的成熟案例,对机器学习和数据挖掘有一个直观的认识。尿布和啤酒的故事我们先来看一个关于数据挖掘的故事——“尿布和啤酒”。总部位于美国阿肯色州的世界著名商业零售连锁企业沃尔玛拥有全球最大的数据仓库系统。为了准确了解顾客在其门店的购买习惯,沃尔玛对顾客的购物行为进行了购物篮分析,想知道顾客经常一起购买哪些商品。沃尔玛的数据仓库集中了其门店详细的原始交易数据。在这些原始交易数据的基础上,沃尔玛使用NCR数据挖掘工具对这些数据进行分析和挖掘。一个意想不到的发现,连同纸尿裤一起购买最多的竟然是啤酒!这是用数据挖掘技术分析历史数据的结果,反映了数据的内在规律。那么,这个结果是否符合实际呢?有用吗?因此,沃尔玛派出市场研究人员和分析师对数据挖掘结果进行调查分析,从而揭露隐藏在“尿布和啤酒”背后的一部分美国民众。A行为模式:在美国,一些年轻的父亲经常下班后去超市买婴儿尿布,其中30%到40%的人还会给自己买点啤酒。造成这种现象的原因是,美国的妻子经常在下班后告诉丈夫给孩子买尿布,而丈夫买完尿布又带回来自己喜欢的啤酒。由于尿布和啤酒一起买的机会很多,沃尔玛将尿布和啤酒放在一起放在店里。结果,尿布和啤酒的销量都增加了。电信领域快速故障定位的决策树电信领域一个常见的应用场景是决策树,它用于故障定位。例如,如果用户抱怨上网速度慢,其原因有很多。可能是网络的问题,可能是用户手机的问题,也可能是用户自身感受的问题。如何快速分析定位问题,给用户一个满意的答复?这需要使用决策树。图3是用户抱怨Internet访问速度慢的典型决策树示例。图3:在图像识别领域,小米人脸相册的功能叫做“人脸相册”,可以利用图像分析技术,自动将云相册照片的内容按照人脸进行分类。开启“人脸相册”功能后,可对云相册中的不同人脸进行自动识别、整理和分类。“人脸相册”还支持手动调整分组、剔除错误人脸、通过系统推荐确认人脸等功能,弥补机器识别的不足。这个功能的背后其实是深度学习技术,自动识别图片中的人脸,然后自动识别并分类。支付宝刷脸支付马云在2015CeBIT展会开幕式上首次展示蚂蚁金服最新支付技术“微笑支付”(刷脸支付),惊艳全场。支付宝称,Face++Financial的人脸识别技术在LFW国际公开测试集上的准确率达到了99.5%,还可以使用“交互指令+连续性判断+3D判断”技术。人脸识别技术以神经网络为基础,让计算机通过“深度学习算法”向人脑学习并进行大量训练,使其极其“聪明”,能够“认人”。人脸识别的实现不需要用户自己提交照片。符合条件的机构需要人脸识别时,可向全国公民身份证号码查询服务中心提出申请,将采集到的照片与部门权威照片库进行比对。正确的。也就是说,用户在进行人脸识别时,只需要打开手机或电脑的摄像头,拍摄自己的脸即可。在智能手机普及的今天,参与门槛低到可以忽略不计。用户容易担心的隐私问题在人脸识别领域也能得到有效避免,因为照片的来源是权威的。同时,独特的“脱敏”技术可以将照片模糊成肉眼无法识别而只能由电脑识别的图像。图像内容识别前面两个案例介绍了图像识别。比图像识别更难的是图像语义的理解和提取。百度和谷歌都在进行这方面的研究。百度的百度地图可以有效处理特定物体(如人脸、人物或商品)的检测和识别,以及一般图像的分类和标注,如图4所示。图4来自谷歌研究院的科学家发表的一篇博文显示Google在模式识别领域的最新研究进展。或许在未来,谷歌的图像识别引擎不仅可以识别图片中的物体,还可以对整个场景进行简短准确的描述,如图5所示。这一突破性概念来自机器语言翻译研究:循环神经网络(RNN)将一种语言的句子转换为向量表示,第二个RNN将向量表示转换为目标语言的句子。图5和谷歌用深度卷积神经网络CNN替换了上述过程中的第一个RNN,可以用来识别图像中的物体。通过这种方法,可以将图像中的物体转化为句子来描述图像场景。虽然概念很简单,但实现起来却非常复杂。科学家表示,目前实验生成的句子是合理的,但距离完美还有一定差距。这项研究仅处于早期阶段。图6展示了该方法识别图像对象并生成描述的过程。图6自然语言识别自然语言识别一直是一个非常热门的领域。最著名的是苹果的Siri,它支持资源输入,调用手机自带的天气预报、日程安排、搜索资料等应用,并能不断学习新的。提供会话响应的语音和语调。微软的SkypeTranslator可以实现中英实时语音翻译,将使中英文实时语音对话成为现实。SkypeTranslator的运行机制如图7所示。图7将准备好的数据输入机器学习系统后,机器学习软件会在这些对话和环境中涉及的词语中建立一个统计模型。当用户说话时,软件会在此统计模型中寻找相似之处,然后应用预先“学习”的转换例程,将音频转换为文本,然后将文本转换为另一种语言。尽管近几十年来语音识别一直是一个重要的研究课题,但这项技术的发展普遍受到高错误率、麦克风灵敏度差异和嘈杂环境等因素的阻碍。将深度神经网络(DNNs)技术引入语音识别,大大降低了错误率并提高了可靠性,最终使这种语音翻译技术得以广泛应用。深度学习人工智能(Artificialintelligence)是人类最美好的愿望之一。尽管计算机技术已经取得了长足的进步,但到目前为止,还没有计算机能够产生“自我”的感觉。诚然,在人类的帮助和大量可用数据的帮助下,计算机可以非常强大,但如果没有这两者,它甚至无法区分两只小动物。深度学习算法自动提取分类所需的低级或高级特征。高级特征意味着该特征可以层次化地(hierarchically)依赖于其他特征。例如,对于机器视觉,深度学习算法从原始图像中学习一个低级表达,比如边缘检测器、小波滤波器等,然后在这些低级表达的基础上构建表达式,比如这些低层表达式线性或非线性组合,然后重复这个过程,最后得到一个高层表达式。深度学习可以更好地表征数据的特征。同时,由于模型层次多、参数多、容量充足,因此模型具有表示大规模数据的能力。因此,对于图像、语音等不明显的问题(需要人工设计,很多没有直观的物理意义),在大规模训练数据上可以取得更好的效果。另外,从模式识别特征和分类器的角度,深度学习框架将特征和分类器合二为一,利用数据学习特征,在使用中减少了人工设计特征的巨大工作量。因此,不仅效果更好,而且使用起来也有很多方便。当然,深度学习本身并不完美,也不是解决任何机器学习问题的有力工具,也不应该被放大到万能的程度。小结本文主要介绍机器学习、数据挖掘和最热门的深度学习。深度学习可以说是又一次掀起了人工智能的热潮,但是大家必须清醒地认识到,这离真正的AI(人工智能)还有很远的距离。但总的来说,我们离电影中描绘的未来世界又近了一步,不是吗?
