分享

学习AI之机器学习概念篇

 西北望msm66g9f 2020-05-16

[导读] 人工智能在时下属于非常热门的技术,工作了10余年,对此领域却了解甚少。所谓不进则退,慢进亦退!长江后浪推前浪,前浪死在沙滩上,嗯,我还是要挣扎一下,所以下决心在工作之余花时间学习相关技术,以免被时代遗弃。将间断更新分享个人学习笔记。文中观点错误一定很多,恳请指正。本文从整理一下机器学习的动因、由来、概念及理论要点。

机器学习是啥

机器学习(Machine Learning)是人工智能(AI)的一种形式,它使系统能够从数据中学习而不是通过显式编程来学习。但是,机器学习不是一个简单的过程。随着算法吸收训练数据,然后可以基于该数据生成更精确的模型。机器学习模型是使用数据训练机器学习算法时生成的输出。训练后,为模型提供输入时,将为您提供输出。例如,预测算法将创建一个预测模型。然后,当您向预测模型提供数据时,您将收到基于训练模型的数据的预测 。

比如吴恩达讲授线性回归模型中的房价预测模型,就是利用现有的数据集,来训练线性估计器的参数。然后对于新输入的参数来预测房价,当然这种预测是仅有一定准确度。

所以人工智能系统就是机器自己能获取知识的能力,也即从原始数据中提取模式的能力

---<<深度学习>> Ian Goodfellow

机器学习是一种将信息转化为知识的工具。在过去的50年中,数据激增。除非我们对其进行分析并找到隐藏在其中的模式,否则这些海量数据是无用的。机器学习技术用于在复杂数据中自动找到有价值的基础模式,否则我们将很难发现这些模式。隐藏的问题模式和知识可用于预测未来事件并执行各种复杂的决策。

所谓模式,是其内在的客观规律,用数学描述就是其数学模型。数学是工具

传统编程,软件工程将人工创建的规则与数据结合起来,以解决问题。相反,机器学习使用数据和答案来发现问题背后的规则。所谓数据和答案,是指已知的样本数据集参数之间的关系(个人理解)。

机器学习干啥

机器学习主要解决四大类问题:

  • 分类(Categorize): 对人或事物进行分类。对于应用实例而言,如电影分类,抓取电影的镜头,分析出是电影是爱情片/动作片/恐怖片等。
  • 预测(Predict):根据确定的模式预测可能的结果或行动。举一个工业仪器领域的应用例子,比如测量介质粘度的传感器,我们大概知道最终测量的粘度主要与传感器采集到的电压信号相关,但是同时还与介质的温度相关,介质内压强相关,但是没有准确的数据模型,那么可以通过实验获得这些参数的样本集,同时通过其他方法测定(比如毛细管法)对应参数的粘度,那么根据这些样本集,可以通过线性或非线性模型方法训练出其模型,然后当采集到新的电压、温度、压力时,可以预测出介质的粘度。
  • 识别(Identify):找出迄今未知的模式和关系。比如语音识别,人脸识别等。
  • 检测(Detect):检测异常或意外行为。比如安防领域通过摄像头检测出一些现象然后通过模型算法计算出异常或者意外的概率。

简而言之,机器学习特别适合以下问题:

  • 适用的关联或规则可能是凭直觉获得的,但不容易用简单的逻辑规则编写或描述。
  • 定义了潜在的输出或操作,但是要采取什么操作取决于不同的条件,这些条件在事件发生之前无法预测或惟一地确定。
  • 准确性比解释或可解释性更重要。
  • 样本数据对于传统的分析技术来说无法满足需求时。具体来说,比如宽数据(与记录数量相比,每个记录中有大量数据点或属性的数据集)和高度相关数据(具有相似或密切相关值的数据)可能会给传统的分析方法带来问题。

为什么需要机器学习

需求驱动,还是那句话。需求驱动技术不断向前发展。比如这样一些场景:

  • 机器学习还可以根据病人的基因构成、人口统计学特征和心理特征,来决定哪种治疗方法对病人最有效。
  • 一个经过练习的机器学习算法可以在拥挤的机场场景中识别出一个已知的“相关人员”的脸,从而阻止这个人登机。
  • 社交媒体平台利用机器学习来自动标记人,并在上传的照片中识别常见的物体,如地标。
  • 机器学习可以帮助发现哪些基因与特定的疾病途径有关。
  • 机器学习可以识别从A点到B点的最佳路线,预测交通状况和旅行时间,并根据当前不断变化的路况预测最佳路线。马上就能想到导航软件。
  • 比如如火如荼的智能驾驶,汽车的主动安全
  • .......

为什么这些待解决的问题是机器学习问题呢?

以智能驾驶为例:

驾驶是一个复杂但范围广泛的问题。实际上,车辆可能会执行有限的操作:启动,停止,前进,后退,转弯,加速和减速。然而采取任何行动的决定会受到多种因素的影响,包括但不限于道路状况,天气状况,其他车辆的存在和行为,两脚人及其四脚朋友以及道路规则-只是为了 仅举几例。尽管驾驶员本能地即时评估所有这些输入,但不可能为每种可能的组合捕获离散的规则。

机器学习基础术语

  • 数据集(Dataset): 一组数据样本,其中包含对解决问题很重要的特征。
  • 特征(Feature): 帮助我们理解问题的重要数据片段。这些信息被输入到机器学习算法中以帮助它学习。
  • 模型(Model):机器学习算法学习到的现象的表示(内部模型)。它从训练中显示的数据中学习这一点。这个模型是你训练一个算法后得到的输出。例如,对决策树算法进行训练,生成决策树模型。
  • 拟合(Fitting):构建模型以描述数据集的特征。比如常见的最小二乘法拟合。线性回归就是我们前面说过的房价求解问题。如何拟合出一条直线最佳匹配我所有的数据?一般使用“最小二乘法”来求解。“最小二乘法”的思想是这样的,假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。函数极值在数学上我们一般会采用求导数为0的方法。但这种做法并不适合计算机,可能求解不出来,也可能计算量太大。
  • 过拟合(Over Fitting):是指模型过度的拟合了训练集,而在其他数据集上拟合程度较差。过拟合会导致高方差(Variance)(即为不同训练集得到的模型的输出与这些模型期望输出的差异)
  • 欠拟合(Owe Fitting):是指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。欠拟合的表现为其在训练集表现较差,在测试集表现同样较差。欠拟合会导致高偏差(Bias) (即为模型的期望输出与其真实输出之间的差异)
  • 泛化(generalization):是指一个机器学习算法对于没有见过的样本的识别能力。我们也叫做举一反三的能力,或者叫做学以致用的能力。
  • 损失函数(Loss/cost Function):损失函数定义了拟合结果和真实结果之间的差异,作为优化的目标直接关系模型训练的好坏。
  • 超参数(hyper-parameters):在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
  • .......

机器学习过程

机器学习的过程分为下图这么几大步骤:

  1. 样本数据收集:收集算法将学习的数据样本集中。可以通过仪器手段收集相关的数据,比如前文描述的粘度计,则可以利用多通道采集设备同时采集温度、电压,同时利用毛细管物理法测定介质粘度(这种方法相对较准确)。
  2. 数据准备:格式化并将数据设计成最佳格式,提取重要特征并进行降维。所谓降维个人理解是相关性分析。
  3. 训练:也被称为模型拟合阶段,这是机器学习算法通过显示已经收集和准备的数据来实际学习的阶段。
  4. 评估:测试模型,看看它执行得如何。所谓的过拟合/欠拟合就在这里可以得到体现。利用一些数学指标,比如标准差、精度、代价曲线等等进行定量度量模型是否满足要求。
  5. 参数调优:微调模型,使其性能最大化。主要调整模型的参数,在验证调整的结果。

这个过程一般会在设备自动完成,但是有的比如边缘计算,则会将模型训练利用离线训练,最后部署在嵌入式设备中进行实际运行。

理论知识

起源

分析引擎编织代数模式,就像提花编织花朵和叶子一样— Ada Lovelace

计算的创始人之一,也许是第一位计算机程序员Ada Lovelace,意识到世界上任何事物都可以用数学来描述。

更重要的是,这意味着可以创建一个数学公式来推导代表任何现象的关系。艾达·洛夫莱斯意识到,机器有潜力在不需要人类帮助的情况下了解世界。

大约200年后,这些基本思想对机器学习至关重要。不管问题是什么,它的信息都可以作为数据点绘制到图上。然后,机器学习试图找到隐藏在原始信息中的数学模式和关系。

概率论

概率论是一种有序的观点……从数据中得出的推论只不过是根据相关的新信息对这种观点进行的修正而已——托马斯·贝叶斯

注:图片中,是概率论中一个非常重要的公式:全概率公式

另一位数学家托马斯·贝叶斯(Thomas Bayes)创立了概率论中至关重要的思想,这些思想在机器学习中得到了体现。如果阅读机器学习的理论书籍,你可以在很多地方见到贝叶斯这个名词。

真实世界中所有发生的事情都带有不确定性。机器学习的基础是概率的贝叶斯解释。贝叶斯概率意味着我们认为概率是量化一个事件的不确定性。因此,我们必须根据事件的可用信息来确定概率,而不是计算重复试验的次数。例如,在预测一场足球比赛时,贝叶斯方法将使用相关信息,如当前形式、联赛排名和首发球队,而不是计算曼联战胜利物浦的总次数。

采用这种方法的好处是,概率仍然可以分配给稀有事件,因为决策过程是基于相关特征和推理的。

机器学习方法

在进行机器学习时可以采用许多方法。它们通常被分为以下区域。监督和无监督是常见的方法。半监督和强化学习是较新的和更复杂的,但已显示出其威力。

无免费午餐定理在机器学习中很有名。它指出,没有一种算法可以适用于所有任务。你试图解决的每个任务都有自己的特点。因此,有许多算法和方法来适应每个问题的个别特性。更多类型的机器学习和人工智能将不断被引入,以最适合不同的问题。

监督学习

定义:在监督学习中,目标是学习一组输入和输出之间的映射(规则)。

例如,输入可以是天气预报,输出将是海滩的游客。监督学习的目标是学习描述温度和海滩游客数量之间关系的映射。或者前面谈到的粘度计关键拟合也算是一个实例。

在学习过程中,过去的输入和输出对被标记的数据被提供给模型,以教它如何表现,因此,“监督”学习。对于海滩的例子,新的输入是输入预测温度,然后机器学习算法将输出未来游客数量的预测。

当然实际应用应该还需考虑其他相关因素,例如政治因素、机票价格、法定假日等等。

在监督学习中要注意的一个副作用是,提供的监督会给学习带来偏差。该模型只能精确地模仿它所显示的内容,因此展示它可靠、无偏见的示例是非常重要的。而且,监督学习在学习之前通常需要大量的数据。获得足够可靠的标记数据通常是使用监督学习中最困难和最昂贵的部分。

监督机器学习模型的输出也可能是有限集e中的一个类别。g[低、中、高]表示前往海滩的游客人数:

输入[温度=20] -> 模型 -> 输出 = [游客数=高]

在这种情况下,它决定如何对输入进行分类,这就是所谓的分类。或者输出可以是一个真实的标量(输出一个数字):

输入 [温度=20] ->模型-> 输出 = [游客数=300]

这种计算模型,称之为回归。

分类

分类将相似的数据点分组到不同的组,以便对它们进行分类。机器学习被用来发现解释如何分离不同数据点的规则。

但这些神奇的规则是如何产生的呢?有多种方法可以产生规则。它们都专注于使用数据和答案来发现线性分离数据点的规则。

线性可分性是机器学习中的一个关键概念。所有这些线性可分性意味着“不同的数据点可以用一条线分开吗?”简单地说,分类方法试图找到用一条线分隔数据点的最佳方法。

回归

回归是监督学习的另一种形式。分类和回归的区别在于回归输出的是一个数字而不是一个类。因此,在预测基于数字的问题(如股票市场价格、某一天的温度或某一事件的概率)时,回归是有用的。

例如:

在金融交易中,回归被用来发现股票和其他资产的模式,以决定何时买进/卖出并获利。

分类和回归监督学习技术都可以扩展到更复杂的任务。例如,涉及语音和音频的任务。图像分类、对象检测和聊天机器人就是一些例子。

下面展示的一个最近的例子使用了一个经过监督学习训练的模型来逼真地模仿人们说话的视频。

您可能想知道这个复杂的基于图像的任务是如何与分类或回归相关的?前面提到世界上的所有事物,甚至是复杂的现象,都可以从根本上用数学和数字来描述。但在这个例子中,数字是面部网格的数值三维坐标值。

无监督学习

在无监督学习中,示例中仅提供输入数据而没有目标标签输出。但令人惊讶的是,仍然有可能在没有任何标签的数据中发现许多有趣和复杂的模式。

在现实生活中,无监督学习的一个例子就是把不同颜色的硬币分门别类。没人教过你如何把它们分开,但只要看看它们的特征,比如颜色,你就能知道哪些颜色的硬币是相关的,并把它们归到正确的类别里。

一种无监督学习算法(t-SNE)只根据手写数字的特征,正确地将其分组

无监督学习可能比监督学习更难,因为没有监督意味着问题变得越来越不明确。该算法对于寻找什么模式的想法不太集中。

试想,如果你是在老师的指导下学习弹吉他的,可以通过重复指导下练习关于音符、和弦和节奏的知识来快速学习。但如果只是自学,你会发现学习效率变得困难得多。

为了在未标记的数据中找到有趣的结构,我们使用了密度估计。最常见的形式是聚类。除其他外,还存在降维,潜在变量模型和异常检测。更复杂的无监督技术涉及神经网络,例如自动编码器和深度信念网络。

聚类

无监督学习主要用于聚类。聚类是创建具有不同特征的组的行为。聚类尝试在数据集中查找不同的子组。由于这是无监督学习,因此我们不受任何标签的限制,可以自由选择要创建多少聚类。这既有优点也有缺陷, 必须通过经验模型选择过程来选择具有正确簇数(复杂度)的模型。

关联

关联学习中,用以发现描述数据的规则。例如,如果某人观看视频A,则他们很可能会观看视频B。关联规则非常适合诸如此类的您要查找相关项目的示例。这就是互联网利用大数据进行挖掘,然后自动推送相关内容的一种应用之一。

异常检测

识别或鉴别与大多数数据不同的稀有或异常特征。例如,银行将使用它来检测银行卡上的欺诈活动。正常消费习惯会落入正常的行为类别内。但是,当有人尝试使用您的卡从您那里偷钱时,其行为将不同于您的正常模式。异常检测使用无监督学习来分离和检测这些非同寻常的事件。

异常检测非常适合于欺诈检测和恶意软件检测等场景。

降维

降维的目的是找到最重要的特征,将原始的特征集降为更小更有效的集,并对重要的数据进行编码。可以理解为将参数列表与期望识别的特征中相关性相对较高的提取出来,把相关性弱或者不相关的剔除。从而能更容易的建立相对准确的数学模型。

例如,在预测前往海滩的游客人数时,我们可以使用温度、星期几、月份和当天安排的活动数量作为输入。但这个月对于预测游客人数可能并不重要。

像这样不相关的特征会混淆机器学习算法,使它们的效率和准确性降低。通过降维,只识别和使用最重要的特征。主成分分析(PCA)是一种常用的分析方法。

举例

在现实应用中,通过研究基于恒星特征自动形成哪些恒星子组,聚类已经被成功地用于发现一种新的恒星类型。在市场营销中,它经常被用来根据顾客的行为和特征将客户分组。

关联学习用于推荐或查找相关项目。一个常见的例子是市场篮子分析。在市场购物篮分析中,发现关联规则可以根据客户放置在购物篮中的东西预测客户可能购买的其他商品。亚马逊使用这个。如果您将新的笔记本电脑放在篮子里,他们会通过其关联规则推荐诸如笔记本电脑外壳之类的物品。

半监督学习

半监督学习(Semi-supervised learning)是监督方法和非监督方法之间的混合。学习过程中不针对每个输入的示例输出进行严格的监督,但是也不允许算法全自主进行,而不提供任何形式的反馈。半监督学习属于折中方案策略。

通过将少量标记数据与更多的未标记数据集混合在一起,可以减轻拥有足够标记数据的负担。因此它提出了更多机器学习要解决的问题。

生成对抗的网络GAN

生成式对抗网络(Generative Adversarial Networks GANs)是最近的一个突破,取得了令人难以置信的成果。GANs使用两个神经网络,一个生成器和一个鉴别器。发生器产生输出,鉴别器对输出进行鉴别。通过互相对抗,他们都变得越来越有准确熟练。

通过使用一个网络来生成输入和另一个网络来生成输出,我们不需要每次都提供显式标签,因此它可以被归类为半监督。

举例

通过使用一个网络来生成输入和另一个网络来生成输出,我们不需要一个完美的例子,比如医学扫描,比如乳腺癌扫描。需要一个训练有素的专家来标记这些是费时和非常昂贵的。相反,专家可以只对一小组乳腺癌扫描进行标记,而半监督算法将能够利用这一小部分并将其应用于更大的一组扫描。

在下面视频中,一个被称为GAN(生成式对抗网络)的神经网络被用来合成图像,而不使用标记的训练数据。

强化学习

最后一种机器学习不那么常见,也复杂得多,但却产生了令人难以置信的结果。它不使用标签,而是使用奖励来学习。

如果你熟悉心理学,你应该听说过强化学习。如果没有,你已经从我们在日常生活中学习的方式中了解了这个概念。在这种方法中,偶尔的正面和负面反馈被用来强化行为。就像训练狗一样,良好的行为会得到奖赏,而且会变得越来越普遍。不良行为会受到惩罚,变得不那么常见。这种奖励激励行为是强化学习的关键。个人理解是利用了控制论中的反馈机制。

这与我们人类的学习方式非常相似。在我们的一生中,我们接受积极和消极的信号,并不断从中学习。我们大脑中的化学物质是我们获得这些信号的多种途径之一。当好事发生时,我们大脑中的神经元会提供一种积极的神经递质,比如让我们感觉良好的多巴胺,这样我们就更有可能重复那个特定的行为。我们不需要持续的监督来学习,就像在监督学习中一样。通过偶尔给予强化信号,我们仍然可以非常有效地学习。

举例

强化学习在现实世界中使用得并不多,因为它是如此的新颖和复杂。但是一个真实世界的例子是使用强化学习通过以一种更有效的方式控制冷却系统来降低数据中心的运行成本。该算法学习如何行动的最优策略,以获得最低的能源成本。成本越低,得到的效益越多。

在研究中,它经常用于游戏。完美信息游戏(你可以看到整个环境的状态)和不完美信息游戏(部分状态被隐藏,如现实世界)都获得了比人类更大的成功。

谷歌DeepMind在研究中使用强化学习来玩围棋和雅达利游戏,达到了超人的水平,称为Deep Q的神经网络会使用分数作为奖励来学习自己玩Breakout游戏。

主要参考翻译自:

https:///machine-learning-an-introduction-23b84d51e6d0

作者 :Gavin Edwards

END

果喜欢右下点个在看,也会让我倍感鼓舞

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多