嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

【转载】人工智能那些事儿 (3) - A.I.工程师需要了解的10大算法

原作者:苏老师

转载自:https://mp.weixin.qq.com/s/wMjRqxkFkv89Sl8_rbQGLQ

A.I.有了数据,今天我们再说说对这些数据进行处理的A.I.算法。

算法是人工智能的灵魂,无论多么强大的硬件,多么海量的数据,没有合适的算法,那是什么都弄不出来的,它也已经成为我们生活中无处不在的一部分。

今天的互联网是由算法决定的,这些数学创作决定了您在今日头条中看到的内容,淘宝向您推荐的相关商品以及您在微信朋友圈中看到的广告。

DP7-IguWkAAyeHO_407cf4d3dbecfca2c2bdf794448ce93d0e1abcfa.jpg

那什么是算法呢?

简单的讲 - 算法是一个流程,由一系列的操作组成,由计算机一步步执行,能够在有限的时间内找到问题的正确答案或者告诉你根本没有答案。

算法用于计算、数据处理和自动推理。

A.I.算法不同于普通算法,它倾向于解决更复杂的问题:

  • 对要解决的问题进行排序、能够分配资源等;

  • 搜索路径 - 可以在复杂的物理或类比的空间里进行

  • 识别图像、视频中的模式

  • 处理语言

  • 执行较有对抗性的游戏

AI2-CSAIL_0_43d8c1820732380789c23da19a74eafee782e447.jpg

下面摘编了一篇来自www.kdnuggets.com的文章“The 10 Algorithms Machine Learning Engineers Need to Know”,文章列举了机器学习工程师需要了解的10种算法,供对人工智能感兴趣的朋友参考。以下是简单的译文。

 

毫无疑问,机器学习/人工智能的子领域在过去几年中越来越受欢迎。 由于大数据是目前科技行业最热门的趋势,因此机器学习非常强大,可以根据大量数据进行预测或计算建议。 机器学习的一些最常见的例子是Netflix的算法,它可以根据你过去观看的电影制作电影建议,或亚马逊的算法,根据您之前购买的书籍推荐书籍。(在中国你可以回想一下一些视频网站给你推荐的节目以及今日头条给你推送的文章,都是通过算法根据你的喜好来推荐的)

机器学习算法可以分为3大类 - 监督学习,无监督学习和强化学习。监督学习对于特定数据集(训练集)可用属性(标签)但缺少并且需要的情况很有用。 可以预测其它情况。 在挑战是发现给定未标记数据集中的隐式关系(项目未预先分配)的情况下,无监督学习非常有用。 强化学习介于这两个极端之间 - 每个预测步骤或操作都有某种形式的反馈,但没有精确的标签或错误信息。 

1.决策树:决策树是一种决策支持工具,它使用树状图或决策模型及其可能的后果,包括机会事件结果、资源成本和效用。 

CuHDLMRWEAAXg0l_88fbc64405cd80ea1d766eaa5ffea7ac71e0e8ea.png

决策树

 

从业务决策的角度来看,决策树是必须要问的最小数量的是/否问题,以评估在大多数情况下做出正确决策的可能性。 作为一种方法,它允许您以结构化和系统化的方式处理问题,以得出合乎逻辑的结论。

2.朴素贝叶斯分类:朴素贝叶斯分类器是一类简单概率分类器,它基于应用贝叶斯定理,在特征之间具有非常独立的假设。 特征图像是等式 -  P(A|B)是后验概率,P(B|A)是似然,P(A)是类先验概率,P(B)是预测先验概率。

bayes_bde8a3a32d840b2e1fc345efeb97be98fa6abac8.jpg

朴素贝叶斯分类

一些实际的应用:

  • 将电子邮件标记为垃圾邮件或非垃圾邮件

  • 对有关技术、政治或体育的新闻文章进行分类

  • 检查一段表达积极情绪或负面情绪的文字

  • 用于人脸识别软件

3.普通最小二乘回归:如果你学过统计学的话,一定听说过线性回归。 最小二乘法是一种用于线性回归的方法。 您可以将线性回归看成为通过一组点拟合直线的任务。 有多种可能的策略可以做到这一点,“普通最小二乘”策略是这样的 - 你可以绘制一条线,然后测量每个数据点和线之间的垂直距离,把它们加起来距离总和尽可能小的线就是你要的拟合线。

1_LEmBCYAttxS6uI6rEyPLMQ_849dd9b6bd9f669ff39e1c4498e9d01749ede013.png

普通最小二乘回归

“线性”指的是用来拟合数据的模型,而“最小二乘”是指最小化的误差度量。

4. 逻辑回归:逻辑回归是一种非常强大的统计方法,它使用一个或多个解释变量对二项式结果建模。 它通过使用逻辑函数(累积逻辑分布)估计概率来测量分类因变量与一个或多个自变量之间的关系。

20168241277959_225049a3b6141217d8340b0c92afedb5ca4ec364.jpg

逻辑回归

 

逻辑回归在生活中实际用到的例子如:

  • 信用评分

  • 衡量营销活动的成功率

  • 预测某种产品的收入

  • 某一天会发生地震吗?

5.支持向量机(SVM):SVM是二进制分类算法。 给定N维位置中的2种类型的点集,SVM生成(N-1)维超平面以将这些点分成2组。 假设你在纸张中有两种类型的点可线性分离,SVM将会找到一条直线,将这些点分成两种类型,并尽可能远离所有这些点。

main-qimg-22a8d80f6d235ebba471bf351dd5f429_4ba0f20ea1cea0bce9f82d20b8ae0d3a6a150790.png

支持向量机

 

在规模上来讲,使用SVM(适当地修改一下实现的方式)解决的一些最大问题是显示广告、人体拼接站点识别、基于图像的性别检测、大规模图像分类......

6.组合方法:组合方法是学习算法 - 构造一组分类器,然后通过对其预测进行加权投票来对新数据点进行分类。 最初的组合方法是贝叶斯平均,但最近的算法包括纠错输出编码、装袋和增强。

LIkPuL0909bt_f5641492197e26170d8e016f7657e2d5168a2688.jpg

组合学习算法

 

那么组合方法是如何工作的?为何它们优于单个模型?

  • 它们可以平均掉偏差:如果你把一堆倾向于民主党的民意调查和倾向于共和党的民意调查放在一起,那么你将得到一个平均的不倾向于任何一方的结果;

  • 它们减少了方差:一组模型的总体认定比其中一个模型的单一认定噪音小。 在金融领域,这被称为多样化 - 许多股票的混合投资组合变化会远远小于仅仅一只股票的变化,这就是为什么你的模型有更多的数据点会比较少的数据点更好;

  • 过度拟合的可能性会很小:如果你有单独的模型没有发生过度拟合,并且你正在以简单的方式(平均,加权平均,逻辑回归)组合每个模型的预测,那么就没有发生过度拟合的可能性

7.聚类算法:聚类是对一组对象进行分组,使得同一组(聚类)中的对象彼此更相似,而不是与其他组中的对象相似。

0944514054-6_70f906b49dd410a7d182c0efe8b342c5d92fe6c3.jpg

Clustering Algorithms

每个聚类算法都是不同的,这里列举几个:

  • 基于质心的算法

  • 基于连接的算法

  • 基于密度的算法

  • 概率

  • 维度降低

  • 神经网络/深度学习

8.主成分分析(PCA):PCA是一种统计程序,它使用正交变换将可能相关变量的一组观察值转换为一组称为主成分的线性不相关变量值。

ENEFpU0Wquw_82219098516688d51fdbd88a16e1b2eb806ff58d.jpg

主成分分析

 

PCA的一些应用包括压缩、以便于学习的数据简化、可视化。要注意的是,在选择是否继续使用PCA时,专业领域的知识是非常重要。 它不适用于数据有噪声的情况(PCA的所有组件都会发生很大的变化)。

9.奇异值分解(SVD):在线性代数中,SVD是真实复杂矩阵的分解。 对于给定的m * n矩阵M,存在分解使得M =UΣV,其中U和V是酉矩阵并且Σ是对角矩阵。

1132px-Singular-Value-Decomposition.svg__df6fd953343e58ca27256620db2bea22ee8c9bc2.png

奇异值分解

 

PCA实际上是SVD的简单应用。 在计算机视觉中,第一个人脸识别算法使用PCA和SVD来表示人脸作为“特征脸”的线性组合,进行降维,然后通过简单的方法将人脸与身份相匹配;虽然现代方法要复杂得多,但许多仍然依赖于类似的技术。

10.独立分量分析(ICA):ICA是一种统计技术,用于揭示隐藏因素,这些因素构成随机变量、测量或信号的基础。 ICA定义了观察到的多变量数据的生成模型,该模型通常作为大型样本数据库给出。 在该模型中,假设数据变量是一些未知潜在变量的线性混合,并且混合系统也是未知的。 假设潜在变量是非高斯的并且相互独立,并且它们被称为观察数据的独立分量。

d8ee30b6f0584f60a3b5a59a55d576a0_9247168e37692faf9a93d1d456dd49d8948cb9e7.jpg

Independent Component Analysis

ICA与PCA有关,但它是一种更强大的技术,能够在这些经典方法完全失败时找到失败源的潜在因素。 它被应用在数字图像、文档数据库、经济指标和心理测量。

了解了这些算法,你就可以创建机器学习应用程序,为人们提供更好的智能体验。

PuaChengLin 还没写个人简介...
DesignSpark Electrical Logolinkedin