页面加载中,请稍候
来源:今日光电发布时间:2022-11-291710浏览
询问 AI
我决定写一篇酝酿已久的文章,对那些想了解机器学习的人做一个简单的介绍。不涉及高级原理,只用简单的语言来谈现实世界的问题和实际的解决方案。不管你是一名程序员还是管理者,都能看懂。那我们开始吧!
抛开所有和人工智能(AI)有关的扯淡成分,机器学习唯一的目标是基于输入的数据来预测结果,就这样。所有的机器学习任务都可以用这种方式来表示,否则从一开始它就不是个机器学习问题。样本越是多样化,越容易找到相关联的模式以及预测出结果。因此,我们需要3个部分来训练机器:
好的数据集真的很难获取,它们是如此重要,以至于有的公司甚至可能开放自己的算法,但很少公布数据集。也可以称为“参数”或者“变量”,比如汽车行驶公里数、用户性别、股票价格、文档中的词频等。换句话说,这些都是机器需要考虑的因素。如果数据是以表格的形式存储,特征就对应着列名,这种情形比较简单。但如果是100GB的猫的图片呢?我们不能把每个像素都当做特征。这就是为什么选择适当的特征通常比机器学习的其他步骤花更多时间的原因,特征选择也是误差的主要来源。人性中的主观倾向,会让人去选择自己喜欢或者感觉“更重要”的特征——这是需要避免的。
最显而易见的部分。任何问题都可以用不同的方式解决。你选择的方法会影响到最终模型的准确性、性能以及大小。需要注意一点:如果数据质量差,即使采用最好的算法也无济于事。这被称为“垃圾进,垃圾出”(garbae in - garbage out,GIGO)。所以,在把大量心思花到正确率之前,应该获取更多的数据。

一般原则是在同一水平上比较事物。这就是为什么“神经网络将取代机器学习”听起来就像“车轮将取代汽车”。亲爱的媒体们,这会折损一大截你们的声誉哦。
在机器学习的世界里,解决问题的方法从来不是唯一的——记住这点很重要——因为你总会发现好几个算法都可以用来解决某个问题,你需要从中选择最适合的那个。当然,所有的问题都可以用“神经网络”来处理,但是背后承载算力的硬件成本谁来负担呢?我们先从一些基础的概述开始。目前机器学习主要有4个方向。
经典机器学习算法源自1950年代的纯统计学。统计学家们解决的是诸如寻找数字中的模式、估计数据点间的距离以及计算向量方向这样的形式数学(formal math)问题。
分类算法常用于:
后来,垃圾邮件制造者学会了如何应对贝叶斯过滤器——在邮件内容后面添加很多“好”词——这种方法被讽称为“贝叶斯中毒”(Bayesian poisoning)。朴素贝叶斯作为最优雅且是第一个实用的算法而载入历史,不过现在有其他算法来处理垃圾邮件过滤问题。再举一个分类算法的例子。假如现在你需要借一笔钱,那银行怎么知道你将来是否会还钱呢?没法确定。但是银行有很多历史借款人的档案,他们拥有诸如“年龄”、“受教育程度”、“职业”、“薪水”以及——最重要的——“是否还钱”这些数据。利用这些数据,我们可以训练机器找到其中的模式并得出答案。找出答案并不成问题,问题在于银行不能盲目相信机器给出的答案。如果系统出现故障、遭遇黑客攻击或者喝高了的毕业生刚给系统打了个应急补丁,该怎么办?要处理这个问题,我们需要用到决策树(Decision Trees),所有数据自动划分为“是/否”式提问——比如“借款人收入是否超过128.12美元?”——听起来有点反人类。不过,机器生成这样的问题是为了在每个步骤中对数据进行最优划分。
“树”就是这样产生的。分支越高(接近根节点),问题的范围就越广。所有分析师都能接受这种做法并在事后给出解释,即使他并不清楚算法是怎么回事,照样可以很容易地解释结果(典型的分析师啊)!决策树广泛应用于高责任场景:诊断、医药以及金融领域。最广为人知的两种决策树算法是 CART 和 C4.5.如今,很少用到纯粹的决策树算法。不过,它们是大型系统的基石,决策树集成之后的效果甚至比神经网络还要好。这个我们后面再说。当你在Google上搜索时,正是一堆笨拙的“树”在帮你寻找答案。搜索引擎喜欢这类算法,因为它们运行速度够快。按理说,支持向量机(SVM)应该是最流行的分类方法。只要是存在的事物都可以用它来分类:对图片中的植物按形状归类,对文档按类别归类等。SVM背后的思想很简单——它试图在数据点之间绘制两条线,并尽可能最大化两条线之间的距离。如下图示:
分类算法有一个非常有用的场景——异常检测(anomaly detection),如果某个特征无法分配到所有类别上,我们就把它标出来。现在这种方法已经用于医学领域——MRI(磁共振成像)中,计算机会标记检测范围内所有的可疑区域或者偏差。股票市场使用它来检测交易人的异常行为以此来找到内鬼。在训练计算机分辨哪些事物是正确时,我们也自动教会其识别哪些事物是错误的。经验法则(rule of thumb)表明,数据越复杂,算法就越复杂。对于文本、数字、表格这样的数据,我会选择经典方法来操作。这些模型较小,学习速度更快,工作流程也更清晰。对于图片、视频以及其他复杂的大数据,我肯定会研究神经网络。就在5年前,你还可以找到基于SVM的人脸分类器。现在,从数百个预训练好的神经网络模型中挑选一个模型反而更容易。不过,垃圾邮件过滤器没什么变化,它们还是用SVM编写的,没什么理由去改变它。甚至我的网站也是用基于SVM来过滤评论中的垃圾信息的。
回归算法目前用于:“回归”算法本质上也是“分类”算法,只不过预测的是不是类别而是一个数值。比如根据行驶里程来预测车的价格,估算一天中不同时间的交通量,以及预测随着公司发展供应量的变化幅度等。处理和时间相关的任务时,回归算法可谓不二之选。
如果画出来的是直线,那就是“线性回归”,如果线是弯曲的,则是“多项式回归”。它们是回归的两种主要类型。其他类型就比较少见了。不要被Logistics回归这个“害群之马”忽悠了,它是分类算法,不是回归。不过,把“回归”和“分类”搞混也没关系。一些分类器调整参数后就变成回归了。除了定义对象的类别外,还要记住对象有多么的接近该类别,这就引出了回归问题。如果你想深入研究,可以阅读文章《写给人类的机器学习》[1](强烈推荐)。
寻找簇心这种方法很方便,不过,现实中的簇并不总是圆形的。假如你是一名地质学家,现在需要在地图上找出一些类似的矿石。这种情形下,簇的形状会很奇怪,甚至是嵌套的。甚至你都不知道会有多少个簇,10个?100个?K-means算法在这里就派不上用场了,但是DBSCAN算法用得上。我们把数据点比作广场上的人,找到任何相互靠近的3个人请他们手拉手。接下来告诉他们抓住能够到的邻居的手(整个过程人的站立位置不能动),重复这个步骤,直到新的邻居加入进来。这样我们就得到了第一个簇,重复上述过程直到每个人都被分配到簇,搞定。一个意外收获:一个没有人牵手的人——异常数据点。整个过程看起来很酷。
有兴趣继续了解下聚类算法?可以阅读这篇文章《数学科学家需要知道的5种聚类算法》[3].就像分类算法一样,聚类可以用来检测异常。用户登陆之后的有不正常的操作?让机器暂时禁用他的账户,然后创建一个工单让技术支持人员检查下是什么情况。说不定对方是个“机器人”。我们甚至不必知道“正常的行为”是什么样,只需把用户的行为数据传给模型,让机器来决定对方是否是个“典型的”用户。这种方法虽然效果不如分类算法那样好,但仍值得一试。降维(Dimensionality Reduction)
常用的“降维”算法:
早年间,“硬核”的数据科学家会使用这些方法,他们决心在一大堆数字中发现“有趣的东西”。Excel图表不起作用时,他们迫使机器来做模式查找的工作。于是他们发明了降维或者特征学习的方法。
将2D数据投影到直线上(PCA)对人们来说,相对于一大堆碎片化的特征,抽象化的概念更加方便。举个例子,我们把拥有三角形的耳朵、长长的鼻子以及大尾巴的狗组合出“牧羊犬”这个抽象的概念。相比于特定的牧羊犬,我们的确丢失了一些信息,但是新的抽象概念对于需要命名和解释的场景时更加有用。作为奖励,这类“抽象的”模型学习速度更快,训练时用到的特征数量也更少,同时还减少了过拟合。这些算法在“主题建模”的任务中能大显身手。我们可以从特定的词组中抽象出他们的含义。潜在语义分析(LSA)就是搞这个事情的,LSA基于在某个主题上你能看到的特定单词的频次。比如说,科技文章中出现的科技相关的词汇肯定更多些,或者政治家的名字大多是在政治相关的新闻上出现,诸如此类。
我们可以直接从所有文章的全部单词中来创建聚类,但是这么做就会丢失所有重要的连接(比如,在不同的文章中battery 和 accumulator的含义是一样的),LSA可以很好地处理这个问题,所以才会被叫做“潜在语义”(latent semantic)。
因此,需要把单词和文档连接组合成一个特征,从而保持其中的潜在联系——人们发现奇异值分解(SVD)能解决这个问题。那些有用的主题簇很容易从聚在一起的词组中看出来。
这里推荐一本我最爱的书《集体编程智慧》(Programming Collective Intelligence),它曾是我大学时代的枕边书。
要完全理解这种机器上的抽象几乎不可能,但可以留心观察一些相关性:有些抽象概念和用户年龄相关——小孩子玩“我的世界”或者观看卡通节目更多,其他则可能和电影风格或者用户爱好有关。
仅仅基于用户评分这样的信息,机器就能找出这些高等级的概念,甚至不用去理解它们。干得漂亮,电脑先生。现在我们可以写一篇关于“为什么大胡子的伐木工喜欢我的小马驹”的论文了。
“关联规则”目前用于:用来分析购物车、自动化营销策略以及其他事件相关任务的算法都在这儿了。如果你想从某个物品序列中发现一些模式,试试它们吧。
比如说,一位顾客拿着一提六瓶装的啤酒去收银台。我们应该在结账的路上摆放花生吗?人们同时购买啤酒和花生的频次如何?是的,关联规则很可能适用于啤酒和花生的情形,但是我们还可以用它来预测其他哪些序列? 能否做到在商品布局上的作出微小改变就能带来利润的大幅增长?
这个思路同样适用电子商务,那里的任务更加有趣——顾客下次要买什么?
不知道为啥规则学习在机器学习的范畴内似乎很少提及。经典方法是在对所有购买的商品进行正面检查的基础上套用树或者集合方法。算法只能搜索模式,但没法在新的例子上泛化或再现这些模式。
现实世界中,每个大型零售商都会建立了自己专属的解决方案,所以这里不会为你带来革命。本文提及的最高水平的技术就是推荐系统。不过,我可能没意识到这方面有什么突破。如果你有什么想分享的,请在评论中告诉我。

原文:https://valyrics.vas3k.com/blog/machine_learning
来源:dataxon 译者:Ahong 侵删

申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。

----与智者为伍为创新赋能----

投稿丨合作丨咨询联系邮箱:uestcwxd@126.com
QQ:493826566

新闻来源:今日光电,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-29

2026-06-02
2026-07-14