0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习算法概念介绍及选用建议

智能感知与物联网技术研究所 来源:cc 2019-01-14 13:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在从事数据科学工作的时候,经常会遇到为具体问题选择最合适算法的问题。虽然有很多有关机器学习算法的文章详细介绍了相关的算法,但要做出最合适的选择依然非常困难。

在这篇文章中,我将对一些基本概念给出简要的介绍,对不同任务中使用不同类型的机器学习算法给出一点建议。在文章的最后,我将对这些算法进行总结。

首先,你应该能区分以下四种机器学习任务:

监督学习

无监督学习

半监督学习

强化学习

监督学习

监督学习是从标记的训练数据中推断出某个功能。通过拟合标注的训练集,找到最优的模型参数来预测其他对象(测试集)上的未知标签。如果标签是一个实数,我们称之为回归。如果标签来自有限数量的值,这些值是无序的,那么称之为分类。

无监督学习

在无监督学习中,我们对于物体知道的信息比较少,特别是训练集没有做过标记。那现在的目标是什么呢?观察对象之间的相似性,并将它们划分到不同的群组中。某些对象可能与其他群组中的对象都有很大的区别,那么我们就认为这些对象是异常的。

半监督学习

半监督学习包括了前面描述的两个问题:同时使用标记和未标记的数据。对于那些无法标注所有数据的人来说,这是一个很好的方法。该方法能够显著提高准确性,因为在使用训练集中未标记数据的同时,还能使用少量带有标记的数据。

强化学习

强化学习跟上面提到的方法不太一样,因为在这里并没有标记或未标记的数据集。强化学习涉及到软件代理应该如何在某些环境中采取行动来最大化累积奖励。

想象一下,你是一个在陌生环境中的机器人,你可以执行一些动作,并从中获得奖励。在每执行一个动作之后,你的行为会变得越来越复杂越来越聪明,也就是说 ,你正在训练自己在执行每一个动作之后让自己表现得更为有效。在生物学中,这被称为适应自然环境。

常用的机器学习算法

现在,我们对机器学习的类型有了一定的了解,下面,我们来看一下最流行的算法及其在现实生活中的应用。

线性回归和线性分类器

这些可能是机器学习中最简单的算法了。假设有对象(矩阵A)的特征x1,... xn和标签(向量B)。我们的目标是根据某些损失函数(例如MSE或MAE)找到最优权重w1,... wn和这些特征的偏差。 在使用MSE的情况下,有一个来自最小二乘法的数学公式:

在实践中,使用梯度下降来进行优化则更为容易,计算上更有效率。尽管这个算法很简单,但是在存在成千上万个特征的时候,这个方法依然能够表现良好。更复杂的算法可能会遇到过拟合特征或者是没有足够大的数据集的问题,而线性回归则是一个不错的选择。

为了防止过拟合,可使用像lasso和ridge这样的规则化技术。其主要思路是分别把权重总和以及权重平方的总和加到损失函数中。

逻辑回归

逻辑回归执行的是二元分类,所以输出的标签是二元的。给定输入特征向量x,定义P(y=1|x)为输出y等于1时的条件概率。系数w是模型要学习的权重。

由于该算法需要计算每个类别的归属概率,因此应该考虑概率与0或1的差异程度,并像在线性回归中一样对所有对象取平均值。这种损失函数是交叉熵的平均值:

逻辑回归有什么好处呢?它采用了线性组合的特征,并对其应用非线性函数(sigmoid),所以它是一个非常小的神经网络实例!

决策树

另一个比较流行、并且容易理解的算法是决策树。它的图形能让你看到你自己的想法,它的引擎有一个系统的、有记录的思考过程。

这个算法很简单。在每个节点中,我们选择所有特征和所有可能的分割点之间的最佳分割。选择每个分割以最大化某些功能。在分类树中使用交叉熵和基尼指数。在回归树中,最小化该区域中的点的目标值的预测变量与分配给它的点之间的平方误差的总和。

算法会在每个节点上递归地完成这个过程,直到满足停止条件为止。

K-means

有的时候你并不知道标签,而目标是根据对象的特征来分配标签。这被称为集聚化任务。

假设要把所有的数据对象分成k个簇,则需要从数据中随机选择k个点,并将它们命名为簇的中心。其他对象的簇由最近的簇中心定义。然后,聚类的中心会被转换并重复该过程直到收敛。

虽然这个技术非常不错,但它仍然有一些缺点。首先,我们并不知道簇的数量。其次,结果依赖开始时随机选择的那个点,算法无法保证我们能够实现功能的全局最小值。

主成分分析(PCA)

昨晚或者最近的几个小时里你有没有在准备考试?你无法记住所有的信息,但是想要在可用的时间内最大限度地记住信息,例如,首先学习考试中经常出现的定理等等。

主成分分析基于类似的思想。该算法提供了降维的功能。有时,你有很多的特征,并且彼此之间强相关,模型可以很容易地适应大量的数据。然后,你可以应用PCA。

你应该计算某些向量上的投影,以使数据的方差最大化,并尽可能少地丢失信息。而这些向量是来自数据集特征的相关矩阵的特征向量。

算法的内容现在已经很清楚了:

计算特征列的相关矩阵,找出该矩阵的特征向量。

将这些多维向量计算出来,并计算所有特征的投影。

新特征是投影中的坐标,其数量取决于投影的特征向量的数量。

神经网络

在上文讲到逻辑回归的时候,就已经提到了神经网络。在一些具体的任务中,有很多不同的体系结构都非常有价值。而神经网络更多的时候是一系列的层或组件,它们之间存在线性连接并遵循非线性。

如果你正在处理图像,那么卷积深度神经网络能展现出不错的结果。而非线性则通过卷积层和汇聚层表现出来,它能够捕捉图像的特征。

要处理文本和序列,最好选择递归神经网络。 RNN包含了LSTM或GRU模块,并且能够数据一同使用。也许,最有名的RNN应用是机器翻译吧。

结论

我希望能向大家解释最常用的机器学习算法,并就针对具体问题如何选择机器学习算法提供建议。为了能让你更轻松的掌握这些内容,我准备了下面这个总结。

线性回归和线性分类器。尽管看起来简单,但当其他算法在大量特征上遇到过拟合的问题时,它的优势就表现出来了。

Logistic回归是最简单的非线性分类器,具有二元分类的参数和非线性函数(S形)的线性组合。

决策树通常与人类的决策过程相似,并且易于解释。但它们最常用于随机森林或梯度增强这样的组合中。

K-means是一个更原始、但又非常容易理解的算法。

PCA是降低信息损失最少的特征空间维度的绝佳选择。

神经网络是机器学习算法的新武器,可以应用于许多任务,但其训练的计算复杂度相当大。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4840

    浏览量

    108141
  • 机器学习
    +关注

    关注

    67

    文章

    8560

    浏览量

    137208

原文标题:机器学习算法选用指南

文章出处:【微信号:tyutcsplab,微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    算法工程师需要具备哪些技能?

    算法工程师需要掌握一系列跨学科的技能,涵盖数学基础、编程能力、算法理论、工程实践以及业务理解等多个方面。 以下是具体技能及学习建议: 线性代数核心内容:矩阵运算、特征值分解、向量空间等
    发表于 02-27 10:53

    机器视觉光学基础概念——眩光、鬼影与热点

    分布,可能导致图像失真或信息丢失。本文将从光学原理角度阐述这些概念,并讨论其在工业应用中的影响及优化策略。通过理解这些基础知识,用户可更好地设计和选用光学组件,以
    的头像 发表于 12-10 10:09 945次阅读
    <b class='flag-5'>机器</b>视觉光学基础<b class='flag-5'>概念</b>——眩光、鬼影与热点

    国密系列算法简介及SM4算法原理介绍

    保证,而国产密码算法实现了密码算法的自主可控,对于保障我国的国家安全具有重要意义。目前,我国大力推广国密算法的应用,并涌现出一系列国家商用密码应用的优秀案例。 本文将对SM4算法的原理
    发表于 10-24 08:25

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器
    的头像 发表于 09-15 10:27 934次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b>入门:三种数据编码方法对比与应用

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念对非专业
    的头像 发表于 09-10 17:38 1036次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b>神经网络

    AI 驱动三维逆向:点云降噪算法工具与机器学习建模能力的前沿应用

    在三维逆向工程领域,传统方法在处理复杂数据和构建高精度模型时面临诸多挑战。随着人工智能(AI)技术的发展,点云降噪算法工具与机器学习建模能力的应用,为三维逆向工程带来了创新性解决方案,显著提升
    的头像 发表于 08-20 10:00 844次阅读
    AI 驱动三维逆向:点云降噪<b class='flag-5'>算法</b>工具与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>建模能力的前沿应用

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    FPGA在机器学习中的具体应用

    ,越来越多地被应用于机器学习任务中。本文将探讨 FPGA 在机器学习中的应用,特别是在加速神经网络推理、优化算法和提升处理效率方面的优势。
    的头像 发表于 07-16 15:34 3066次阅读

    【嘉楠堪智K230开发板试用体验】K230机器视觉相关功能体验

    K230开发板摄像头及AI功能测评 摄像头作为机器视觉应用的基础,能够给机器学习模型提供输入,提供输入的质量直接影响机器学习模型的效果。 K
    发表于 07-08 17:25

    工业机器人与协作机器概念不同

    在自动化生产的浪潮中,工业机器人与协作机器人逐渐成为企业提升效率、优化产能的得力助手。但它们并非同一概念,在功能、设计与应用场景上有着显著差异。北京沃华慧通测控有限公司凭借深厚的技术沉淀,为不同需求的企业提供适配的
    的头像 发表于 06-03 13:15 1310次阅读
    工业<b class='flag-5'>机器</b>人与协作<b class='flag-5'>机器</b>人<b class='flag-5'>概念</b>不同

    PID控制C语言常用算法介绍与说明【建议下载】

    当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。 这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统。
    发表于 05-22 17:24

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    学习建议 对于初学者,建议先通过仿真(如Gazebo)验证算法,再迁移到真实机器人,以降低硬件调试成本。 多参与开源社区(如ROS2
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    的限制和调控) 本书还有很多前沿技术项目的扩展 比如神经网络识别例程,机器学习图像识别的原理,yolo图像追踪的原理 机器学习训练三大点: 先准备一个基本的模型结构 和训练时的反馈函
    发表于 04-30 01:05

    机器人主控芯片平台有哪些 机器人主控芯片一文搞懂

    AI芯片在人形机器人中的应用越来越广泛。这些AI芯片专门设计用于执行人工智能算法,如深度学习机器学习等。
    的头像 发表于 04-25 16:26 8288次阅读
    <b class='flag-5'>机器</b>人主控芯片平台有哪些  <b class='flag-5'>机器</b>人主控芯片一文搞懂

    复合机器人为什么要使用单点纠偏算法

    复合机器人单点纠偏算法
    的头像 发表于 04-20 14:59 855次阅读
    复合<b class='flag-5'>机器</b>人为什么要使用单点纠偏<b class='flag-5'>算法</b>?