对机器学习的理解

更新时间:2023-11-03 19:54:49 阅读: 评论:0

老子主张-小水滴的诉说

对机器学习的理解
2023年11月3日发(作者:如何打造品牌)

对机器学习的理解

MachineLearning),在我看来就是让机器学习⼈思维的过程。机器学习的宗旨就是让机器学会⼈识别事物的⽅法,我们

希望⼈从事物中了解到的东西和机器从事物中了解到的东西⼀样,这就是机器学习的过程。在机器学习中有⼀个很经典的问

题:

假设有⼀张⾊彩丰富的油画,画中画了⼀⽚茂密的森林,在森林远处的⼀棵歪脖树上,有⼀只猴⼦坐在树上吃东西。如果我

们让⼀个⼈找出猴⼦的位置,正常情况下不到⼀秒钟就可以指出猴⼦,甚⾄有的⼈第⼀眼就能看到那只猴⼦。

那么问题就来了,为什么⼈能在上千种颜⾊混合⽽成的图像中⼀下就能识别出猴⼦呢?在我们的⽣活中,各种事物随处可

见,我们是如何识别出各种不同的内容呢?也许你可能想到了——经验。没错,就是经验。经验理论告诉我们认识的所有东

西都是通过学习得到的。⽐如,提起猴⼦,我们脑海⾥⽴刻就会浮现出我们见过的各种猴⼦,只要画中的猴⼦的特征与我们

意识中的猴⼦雷同,我们就可能会认定画中画的是猴⼦。极端情况下,当画中猴⼦的特征与我们所认识某⼀类猴⼦的特征完

全相同,我们就会认定画中的猴⼦是哪⼀类。

另⼀种情况是我们认错的时候。其实⼈识别事物的错误率有的时候也是很⾼的。⽐如,当我们遇见不认识的字的时候会潜意

识的念字中我们认识的部分。⽐如,如⽕如荼这个词,是不是有朋友也跟我⼀样曾经念过如⽕如茶(chá?我们之所以

犯错,就是因为在我们没有见过这个字的前提下,我们会潜意识的使⽤经验来解释未知。

⽬前科技如此发达,就有⽜⼈考虑可不可以让机器模仿⼈的这种识别⽅法来达到机器识别的效果,机器学习也就应运⽽⽣

了。

从根本上说,识别,是⼀个分类的结果。看到四条腿的⽣物,我们可能会⽴即把该⽣物归为动物⼀类,因为我们常常见到的

四条腿的、活的东西,九成以上是动物。这⾥,就牵扯出了概率的问题。我们对⾝边的事物往往识别率很⾼,是因为⼈的潜

意识⼏乎记录了⾁眼看到的事物的所有特征。⽐如,我们进⼊⼀个新的集体,刚开始⼤家都不认识,有的时候⼈和名字都对

不上号,主要原因就是我们对事物的特征把握不够,还不能通过现有特征对⾝边的⼈进⾏分类。这个时候,我们常常会有这

种意识:哎,你好像叫张三来着?哦,不对,你好像是李四。这就是分类中的概率问题,有可能是A结果,有可能是B结果,

甚⾄是更多结果,主要原因就是我们的⼤脑收集的特征不够多,还⽆法进⾏准确分类。当⼤家都彼此熟悉了之后,⼀眼就能

识别出谁是谁来,甚⾄极端情况下,只听声⾳不见⼈都能进⾏识别,这说明我们已经对该事物的特征把握相当精确。

所以,我认为,⼈识别事物有四个基本步骤:学习、提取特征、识别、分类。

那么机器可不可以模仿这个过程来实现识别呢?答案是肯定的,但是没有那么容易。难题有三:第⼀,⼈的⼤脑有⽆数神经

元进⾏数据交换和处理,在⽬前的机器中还达不到同等的处理条件;第⼆,⼈对事物特征的提取是潜意识的,提取⽆意识情

况下的信息,误差很⼤;第三,也是最重要的⼀点,⼈的经验来⾃于⼈每时每刻的⽣活中,也就是⼈⽆时⽆刻都处在学习

中,如何让机器进⾏各个⽅⾯的⾃主学习?因此,⽬前在⼈⼯领域始终还没达到类⼈的⽔平,我认为主要原因就是机器没有

潜意识。⼈的潜意识其实并不完全受⼈的意识⽀配,但却可以提⾼⼈类识别事物的概率。我们⽆法给机器加载潜意识,因为

主动加载的意识就是主观意识,在机器⾥⽆法完成⼈类潜意识的功能。所以,以⽬前的发展情况来看,要达到完全类⼈,还

有不短的时间。但即便如此,与⼈的思维差别很⼤的机器依然可以为我们的⽣活带来帮助。⽐如,我们常⽤的在线翻译、搜

索系统、专家系统等,都是机器学习的产物。

那么,如何实现机器学习呢?

整体上看,机器学习就是模仿⼈识别事物的过程,即:学习、提取特征、识别、分类。由于机器不能跟⼈类思维⼀样根据事

物特征⾃然⽽然的选择分类⽅法,所以机器学习⽅法的选择依然还需要⼈⼯选择。⽬前,机器学习的⽅法主要有三种:监督

学习、半监督学习和⽆监督学习。监督学习是利⽤⼀组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。⽩

话⼀点,就是根据已知的,推断未知的。代表⽅法有:Nave BayesSVM、决策树、KNN、神经⽹络以及Logistic分析等;

半监督⽅法主要考虑如何利⽤少量的标注样本和⼤量的未标注样本进⾏训练和分类的问题,也就是根据少量已知的和⼤量未

知的内容进⾏分类。代表⽅法有:最⼤期望、⽣成模型和图等。⽆监督学习是利⽤⼀组已知类别的样本调整分类器的参数,

使其达到所要求性能的过程。也就是及其⾃个⼉学。代表⽅法有:AprioriFP树、K-means以及⽬前⽐较⽕的Deep

Learning。从这三⽅⾯看,⽆监督学习是最智能的,有能实现机器主动意识的潜质,但发展还⽐较缓慢;监督学习是不太靠

谱的,从已知的推断未知的,就必须要把事物所有可能性全都学到,这在现实中是不可能的,⼈也做不到;半监督学习是

办法中的办法,既然⽆监督学习很难,监督学习不靠谱,就取个折中,各取所长。⽬前的发展是,监督学习技术已然成熟,

⽆监督学习还在起步,所以对监督学习⽅法进⾏修改实现半监督学习是⽬前的主流。但这些⽅法基本只能提取信息,还不能

进⾏有效的预测(⼈们就想,既然没法得到更多,就先看看⼿⾥有什么,于是数据挖掘出现了)。

机器学习⽅法⾮常多,也很成熟。下⾯我挑⼏个说。

⾸先是SVM。因为我做的⽂本处理⽐较多,所以⽐较熟悉SVMSVM也叫⽀持向量机,其把数据映射到多维空间中以点的

形式存在,然后找到能够分类的最优超平⾯,最后根据这个平⾯来分类。SVM能对训练集之外的数据做很好的预测、泛化错

误率低、计算开销⼩、结果易解释,但其对参数调节和核函数的参数过于敏感。个⼈感觉SVM是⼆分类的最好的⽅法,但也

仅限于⼆分类。如果要使⽤SVM进⾏多分类,也是在向量空间中实现多次⼆分类。

SVM有⼀个核⼼函数SMO,也就是序列最⼩最优化算法。SMO基本是最快的⼆次规划优化算法,其核⼼就是找到最优参数

α,计算超平⾯后进⾏分类。SMO⽅法可以将⼤优化问题分解为多个⼩优化问题求解,⼤⼤简化求解过程。

SVM还有⼀个重要函数是核函数。核函数的主要作⽤是将数据从低位空间映射到⾼维空间。详细的内容我就不说了,因为内

容实在太多了。总之,核函数可以很好的解决数据的⾮线性问题,⽽⽆需考虑映射过程。

容实在太多了。总之,核函数可以很好的解决数据的⾮线性问题,⽽⽆需考虑映射过程。

第⼆个是KNNKNN将集的数据特征与训练集的数据进⾏特征⽐较,然后算法提取样本集中特征最近邻数据的分类标签,即

KNN算法采⽤测量不同特征值之间的距离的⽅法进⾏分类。KNN的思路很简单,就是计算测试数据与类别中⼼的距离。KNN

具有精度⾼、对异常值不敏感、⽆数据输⼊假定、简单有效的特点,但其缺点也很明显,计算复杂度太⾼。要分类⼀个数

据,却要计算所有数据,这在的环境下是很可怕的事情。⽽且,当类别存在范围重叠时,KNN分类的精度也不太⾼。所

以,KNN⽐较适合⼩量数据且精度要求不⾼的数据。

KNN有两个影响分类结果较⼤的函数,⼀个是数据归⼀化,⼀个是距离计算。如果数据不进⾏归⼀化,当多个特征的值域差

别很⼤的时候,最终结果就会受到较⼤影响;第⼆个是距离计算。这应该算是KNN的核⼼了。⽬前⽤的最多的距离计算公式

是欧⼏⾥得距离,也就是我们常⽤的向量距离计算⽅法。

个⼈感觉,KNN最⼤的作⽤是可以随时间序列计算,即样本不能⼀次性获取只能随着时间⼀个⼀个得到的时候,KNN能发挥

它的价值。⾄于其他的特点,它能做的,很多⽅法都能做;其他能做的它却做不了。

第三个就是Naive Bayes了。Naive Bayes简称NB(⽜X),为啥它⽜X呢,因为它是基于Bayes概率的⼀种分类⽅法。贝叶

斯⽅法可以追溯到⼏百年前,具有深厚的概率学基础,可信度⾮常⾼。Naive Baye中⽂名叫朴素贝叶斯,为啥叫朴素呢?

因为其基于⼀个给定假设:给定⽬标值时属性之间相互条件独⽴。⽐如我说我喜欢你,该假设就会假定喜欢

三者之间毫⽆关联。仔细想想,这⼏乎是不可能的。马克思告诉我们:事物之间是有联系的。同⼀个事物的属性之间就

更有联系了。所以,单纯的使⽤NB算法效率并不⾼,⼤都是对该⽅法进⾏了⼀定的改进,以便适应数据的需求。

NB算法在⽂本分类中⽤的⾮常多,因为⽂本类别主要取决于关键词,基于词频的⽂本分类正中NB的下怀。但由于前⾯提到

的假设,该⽅法对中⽂的分类效果不好,因为中⽂顾左右⽽⾔他的情况太多,但对直来直去的⽼美的语⾔,效果良好。⾄于

核⼼算法嘛,主要思想全在贝叶斯⾥⾯了,没啥可说的。

第四个是回归。回归有很多,Logistic回归啊、岭回归啊什么的,根据不同的需求可以分出很多种。这⾥我主要说说Logistic

回归。为啥呢?因为Logistic回归主要是⽤来分类的,⽽⾮预测。回归就是将⼀些数据点⽤⼀条直线对这些点进⾏拟合。⽽

Logistic回归是指根据现有数据对分类边界线建⽴回归公式,以此进⾏分类。该⽅法计算代价不⾼,易于理解和实现,⽽且⼤

部分时间⽤于训练,训练完成后分类很快;但它容易⽋拟合,分类精度也不⾼。主要原因就是Logistic主要是线性拟合,但现

实中很多事物都不满⾜线性的。即便有⼆次拟合、三次拟合等曲线拟合,也只能满⾜⼩部分数据,⽽⽆法适应绝⼤多数数

据,所以回归⽅法本⾝就具有局限性。但为什么还要在这⾥提出来呢?因为回归⽅法虽然⼤多数都不合适,但⼀旦合适,效

果就⾮常好。

Logistic回归其实是基于⼀种曲线的,线这种连续的表⽰⽅法有⼀个很⼤的问题,就是在表⽰跳变数据时会产⽣阶跃的现

象,说⽩了就是很难表⽰数据的突然转折。所以⽤Logistic回归必须使⽤⼀个称为海维塞德阶跃函数Sigmoid函数来表⽰

跳变。通过Sigmoid就可以得到分类的结果。

为了优化Logistic回归参数,需要使⽤⼀种梯度上升法的优化⽅法。该⽅法的核⼼是,只要沿着函数的梯度⽅向搜寻,就可

以找到函数的最佳参数。但该⽅法在每次更新回归系数时都需要遍历整个数据集,对于⼤数据效果还不理想。所以还需要⼀

随机梯度上升算法对其进⾏改进。该⽅法⼀次仅⽤⼀个样本点来更新回归系数,所以效率要⾼得多。

第五个是决策树。据我了解,决策树是最简单,也是曾经最常⽤的分类⽅法了。决策树基于树理论实现数据分类,个⼈感觉

就是中的B+树。决策树是⼀个预测模型,他代表的是对象属性与对象值之间的⼀种映射关系。决策树计算复杂度不⾼、输出

结果易于理解、对中间值缺失不敏感、可以处理不相关特征数据。其⽐KNN好的是可以了解数据的内在含义。但其缺点是容

易产⽣过度匹配的问题,且构建很耗时。决策树还有⼀个问题就是,如果不绘制树结构,分类细节很难明⽩。所以,⽣成决

策树,然后再绘制决策树,最后再分类,才能更好的了解数据的分类过程。

决策树的核⼼树的分裂。到底该选择什么来决定树的分叉是决策树构建的基础。最好的⽅法是利⽤信息熵实现。熵这个概念

很头疼,很容易让⼈迷糊,简单来说就是信息的复杂程度。信息越多,熵越⾼。所以决策树的核⼼是通过计算信息熵划分数

据集。

我还得说⼀个⽐较特殊的分类⽅法:AdaBoostAdaBoostboosting算法的代表分类器。boosting基于元算法(集成算

法)。即考虑其他⽅法的结果作为参考意见,也就是对其他算法进⾏组合的⼀种⽅式。说⽩了,就是在⼀个数据集上的随机

数据使⽤⼀个分类训练多次,每次对分类正确的数据赋权值较⼩,同时增⼤分类错误的数据的权重,如此反复迭代,直到达

到所需的要求。AdaBoost泛化错误率低、易编码、可以应⽤在⼤部分分类器上、⽆参数调整,但对离群点敏感。该⽅法其实

并不是⼀个独⽴的⽅法,⽽是必须基于元⽅法进⾏效率提升。个⼈认为,所谓的“AdaBoost是最好的分类⽅法这句话是错误

的,应该是“AdaBoost是⽐较好的优化⽅法才对。

好了,说了这么多了,我有点晕了,还有⼀些⽅法过⼏天再写。总的来说,机器学习⽅法是利⽤现有数据作为经验让机器学

习,以便指导以后再次碰到的决策。⽬前来说,对于⼤数据分类,还是要借助分布式处理技术和云技术才有可能完成,但⼀

旦训练成功,分类的效率还是很可观的,这就好⽐⼈年龄越⼤看待问题越精准的道理是⼀样的。这⼋个⽉⾥,从最初的理解

到⼀步步实现;从需求的逻辑推断到实现的⽅法选择,每天都是⾟苦的,但每天也都是紧张刺激的。我每天都在想学了这个

以后可以实现什么样的分类,其实想想都是让⼈兴奋的。当初,我逃避做程序员,主要原因就是我不喜欢做已经知道结果的

事情,因为那样的⼯作没有什么期盼感;⽽现在,我可以利⽤数据分析得到我想象不到的事情,这不仅满⾜了我的好奇感,

也让我能在⼯作中乐在其中。也许,我距离社会的技术需求还有很远的距离,但我对⾃⼰充满信⼼,因为,我不感到枯燥,

不感到彷徨,虽然有些⼒不从⼼,但态度坚定。

2014的学习很艰难,我挺过来了;2015年,可能会更艰难,但我更加期待!

最后,希望各位能⼈、⽜⼈、同道中⼈给予点评,多多交流,⼀个⼈做算法是吃⼒的,希望各位踊跃评价,共同进步!

最后,希望各位能⼈、⽜⼈、同道中⼈给予点评,多多交流,⼀个⼈做算法是吃⼒的,希望各位踊跃评价,共同进步!

阿q正传小说-父亲节的礼物

对机器学习的理解

本文发布于:2023-11-03 19:54:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1699012489227624.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:对机器学习的理解.doc

本文 PDF 下载地址:对机器学习的理解.pdf

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|