人工智能与机器人|机器学习

这篇具有很好参考价值的文章主要介绍了人工智能与机器人|机器学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文链接:
https://mp.weixin.qq.com/s/PB_n8woxdsWPtrmL8BbehA
机器学习下包含神经网络、深度学习等,他们之间的关系表示如图2-7所示。 人工智能与机器人|机器学习

图2-7 关系图

那么什么是机器学习、深度学习、他们的区别又是什么呢?

2.7.1 什么是机器学习?

机器学习是 人工智能 (AI) 和计算机科学的一个分支,专注于使用数据和算法来模仿人类的学习方式(构建“学习”方法),逐步提高其准确性,模拟或实现人类的学习行为。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。

传统机器学习的研究方向主要包括决策树、随机森林、人工神经网络、贝叶斯学习等方面的研究。这些在2.6章节的OpenCV库介绍中有所提及。

机器学习是通过算法使系统自行学习和改进的过程。机器学习的最终目标是设计能够自动帮助系统收集数据并使用该数据来学习更多信息的算法。系统应在收集的数据中寻找模式,并使用它们为自己做出重要决策。机器学习涉及到的7大步骤,如图2-8所示。

人工智能与机器人|机器学习

图2-8 机器学习的步骤

总的来说,机器学习正在让系统像人类一样思考和行动,展示与人类相似的智能,并赋予它们大脑。在实际应用中,常见的机器学习用于:

• 将垃圾邮件与正常电子邮件分类;

• 物体和图像识别;

• 检测假新闻;

• 理解书面或口头语言;

• 服务机器人;

• 自动驾驶汽车 ;

总之,机器学习程序可以像人类一样从经验(或者准确地说是数据)中学习。当接触到新数据时,这些应用程序会自行学习、成长、改变和拓展。换句话说,机器学习可以通过迭代达到预测和实际最小差距的预测。机器学习在未来将会被更多的应用和接受。

人工智能与机器人|机器学习

2.7.2 机器学习如何工作?

笔者认为,机器学习的工作原理主要分为决策和误差损失优化2部分。

人工智能与机器人|机器学习

机器学习过程首先将已标记的训练数据输入到选定的算法中。算法将将会对这些已标记或未标记数据进行估计,并产生预测值,然后决策是否进行参数调整。该过程称为决策过程。

如果预测和结果不匹配,算法会被重新训练多次,直到数据科学家得到想要的结果。通过误差函数(损失函数)量化预测和真实值间的差距。这使机器学习算法能够不断地自行学习并产生最佳答案,并随着时间的推移逐渐提高准确性。如果模型可以更好地拟合训练集中的数据,则调整权重以减少真实与模型预测之间的差异。该算法将重复这个“评估和优化”过程,自主更新权重,直到达到准确度阈值。

2.7.3 机器学习有哪些不同类型?

机器学习很复杂,目前主要分为3个方法,监督学习、非监督学习、强化学习。实际中,大约 70% 的机器学习是有监督学习,而无监督学习占 10% 到 20%。其余部分由强化学习承担。

人工智能与机器人|机器学习

2.7.3.1.监督学习

在监督学习中,我们使用已知或标记的数据作为训练数据。由于数据是已知的,因此被称为监督学习。输入数据经过机器学习算法并用于训练最后产出模型。根据已知数据训练产出模型后,可以将未知数据用于模型并获得新的响应。

特点:

有标签
有反馈
预测分类或者数值等结果
人工智能与机器人|机器学习

举例,将苹果和梨子的图片分别标记为0和1,便有标签为0的苹果和标签为1的梨子,对这样的已知图片和标签进行训练,然后使用模型预测水果,模型算法会尝试确定图片是苹果还是梨子的百分比。

以下是目前用于监督学习的算法列表:

多项式回归
随机森林
线性回归
逻辑回归
决策树
K-最近邻
朴素贝叶斯
支持向量机(SVM)
在神经网络和深度学习中也会有监督学习的应用。智能轮式自主移动机器人也会用到监督学习。

接下来了解一下无监督学习。

2.7.3.2.无监督学习
无监督学习,也称为无监督机器学习,使用机器学习算法对未标记的数据集进行分析和聚类。在无监督学习中,训练数据是未知且未标记的——这意味着没有人看过这些数据。该数据被送到机器学习算法并用于训练模型。训练后的模型尝试搜索模式并给出所需的结果。这些算法无需人工干预即可发现隐藏的模式或数据分组或者存在的规律。

例如,在中国有一句俗语,“物以类聚,人以群分,三观不合,无需强融”,“道不同不相为谋”,将一群人放在一起,无监督学习算法会发现其中因三观造成的问题,从而将人自动分为坏人和好人。

这种方法发现信息相似性和差异性的能力使其成为探索性数据分析、模糊数据提取、销售策略、客户分类以及图像和模式识别的理想选择。

它还可以通过降维方法减少模型中的特征数量。主成分分析 (PCA) 和奇异值分解 (SVD) 是这方面的两种常用方法。另外,无监督学习中使用的其他算法包括神经网络、k 均值聚类和概率聚类方法。

特点:

无标签
无反馈
总结出潜在的规律
人工智能与机器人|机器学习

如上图2-7所示的例子中,|“鱼龙混杂”,未知图像由好坏的人组成。经过训练的模型试图将它们放在一起,但算法可能通过探索分析通过 三观后,得出不同的人群分类。

目前用于无监督学习的前 7 种算法是:

偏最小二乘
模糊的意思
奇异值分解
K-means 聚类
先验的
层次聚类
主成分分析
在神经网络和深度学习中也会有无监督学习的应用。
智能轮式自主移动机器人也会用到监督学习。

2.7.3.3.强化学习
强化机器学习是一种类似于监督学习的机器学习模型,但该算法不是使用样本数据进行训练的。该模型通过反复试验不断学习。通过奖惩机制,更多成功的结果让程序得到加强,针对给定问题制定最佳建议或政策。换句话说,与传统类型的数据分析一样,算法也是通过反复试验来发现数据,然后决定哪些行动会带来更高的回报奖励(reward)。

强化学习由三个主要组成部分组成:代理、环境和动作。代理是学习者或决策者,环境包括代理与之交互的所有内容,动作就是代理所做的。机器人就是代理。

当代理选择在给定时间内最大化预期奖励的动作时,就会发生强化学习。当代理在健全的策略框架内工作时,这是最容易实现的。

特点:

决策处理
奖惩机制
学习-行动产出

2.7.3.4小结
通过本节内容可知道,机器学习种类繁多,意味着需要有一定场景甄别能力。
机器学习的运用大大的考验我们的分析能力,因为只有对数据场景有着清晰的认识才能选择合适的机器学习方法。
三类学习各有优劣,也都能同时解决同类问题,这时需要从更多的角度考虑问题,比如成本、稳定、性能等方面。
人工智能与机器人|机器学习

笔者总结了一些机器人场景下的模型应用。
机器人防碰撞 强化学习、监督学习
机器人运行模式 识别 监督学习
机器人视觉分类 图像SVM等
机器人IMU 9轴陀螺仪 监督学习

2.7.4 如何决定使用哪种机器学习算法?
有数十种不同的算法可供选择,但没有哪种算法能够“一劳永逸”。在许多情况下,必须进行反复试验才能获得一个理想的结果。选择什么样的方法可以通过一些特点来缩小范围。

想获取什么样的结果,0或1还是具体数值或者其他?
使用的数据大小是多少,大批量或小批量?
使用什么类型的数据,维度、时间序列、图像矩阵?
希望从数据中获得什么样的特征,维度、时间序列、图像矩阵?
对数据认识足够清晰,这些“清晰的认识”将如何使用?
数据量太大,是否选择降维算法提取数据?

提示:原始数据包含大量信息——挑战在于识别重要的模式和变量。决策树、因子分析、缺失值比和随机森林等降维算法可以帮助您找到相关细节。

2.7.5 机器学习的最佳编程语言是什么?
目前根据受欢迎的程度来看,那么 Python最 “得意”了,这要归功于许多可用的库以及广泛的支持。Python 是数据分析和数据挖掘的理想选择,并支持许多算法(用于分类、聚类、回归和降维)和机器学习模型。

机器学习是一个奇妙的新科学分支,正在慢慢接管日常生活。从定向广告到癌细胞识别,机器学习无处不在。

例如当前流行的框架pytorch、tensorflow keras 都是基于python扩大根据地的。

当然,机器学习的开发语言还有c?c++,在机器人终端,除了python之外,c/c++绝对是更合适的语言,因为机器人对响应速度要求较高,而c?c++能做到这些。

2.7.6 机器学习步骤

在第2.7.1章节提到过步骤,本章节具体说明。它可以分为7个主要步骤:

2.7.6.1 收集数据
数据分为多维序列数据和图片数据、时间序列数据。

例如:

由3个震动传感器采集的数据组成3维的数据。
图片是二维矩阵数据。
声音属于时间序列数据。

收集可靠的数据至关重要,这样您的机器学习模型才能找到正确的工作模式。如果有不正确或过时的数据,将得到错误结果或预测。

例如质量好的数据是相关的,包含很少的缺失值和重复值,没有干扰性和随机性,并且可以很好地表示存在的标签类别。

数据的收集可以采用仿真环境的模式,这样可以收集干净的数据,有必要,需要根据实际环境收集数据。收集数据由于量大所以需要考虑其批量处理能力和自动话能力。

2.7.6.2 准备数据:
获得数据后首先对数据进行整理,如果是图片需要删除不清晰的图片。可以通过以下方式执行优化:

均一化。
随机化;将您拥有的所有数据放在一起并随机化。这有助于确保数据均匀分布,并且排序不会影响学习过程。
清理数据以删除不需要的数据、缺失值、行和列、重复值、数据类型转换等。
可视化数据可以方笔了解结构并了解各种变量和存在的类之间的关系。将清理后的数据分成两组——一个训练集和一个测试集。训练集是您的模型从中学习的集合。测试集用于在训练后检查模型的准确性。
例如某数据集的文件路劲为训练集(train)和验证集(val),通过via标注工具各生成一个区域标注的标签文件(后缀为json)。

lid@LAPTOP-85KPM8J9:/mnt/e/machineLearn/buildings_datasets$  tree -L 2

.

├── train

│   ├──  0000002_0003951_0000003_0000759.jpg

│   ├──  0004-0143409_p.jpg

│   ├──  0004-0143410_i.jpg

…

│   └──  via_region_data.json

└── val

    ├── P2VBr3KZuYBOF1QA-DIRrQ.jpg

    ├── P3dr3y0NZpnQsTcjIW-x9U.jpg

    ├── P4we3TZeMBwNVD2Q8KyegQ.jpg

     …

    ├── via_region_data.json

数据集存在的形式可以自定义,但最终需要通过程序读取,所以,为了更快的读取数据集,可以遵循常见的数据集结构,例如pasvoc,minisit等。

人工智能与机器人|机器学习

2.7.6.3 选择模型:
机器学习模型确定在收集的数据上运行机器学习算法后获得的输出。选择与手头任务相关的模型很重要。多年来,科学家和工程师开发了适用于语音识别、图像识别、预测、分类等不同任务的各种模型。

例如从分类还是预测的角度选择:

例如预测房价、预测速度、预测角度等具体数值时需要回归类的模型不需要分类的模型,对应的激活函数也会有不同的选择。

从数据的结构选择模型:

图像数据可以选择卷积网络、声音选择时间序列模型等。

人工智能与机器人|机器学习

2.7.6.4 训练模型:
训练是机器学习中最重要的一步。在训练中,您将准备好的数据传递给机器学习模型以查找模式并进行预测。它导致模型从数据中学习,以便它可以完成任务集。随着时间的推移,通过训练,模型在预测方面变得更好。

使用keras或者pytorch 现有的训练框架,能够省区很多编码训练模型的时间,另外训练时通过matlotlib可视化可以帮助分析训练的效果如何。

例如pytorc通过构建迭代、优化、反向传播构建训练器。


TrainSize,SensorNNData,SensorNNLabels  = PreprocessData()

    print ('Total Epoch %d,epoch TrainSize  %d' %(NumEpochs,TrainSize))

    loss_vals=  []

    for j in range(NumEpochs):#迭代器

        losses = 0

        for i in range(TrainSize): 

            input_values =  Variable(SensorNNData[i])

            labels =  Variable(SensorNNLabels[i])

            #print(input_values)

            #print(labels)

            # Forward + Backward + Optimize

            optimizer.zero_grad()#每次训练需要清除梯度

            outputs = net(input_values)#需要训练的网络

            loss = criterion(outputs, labels)

            loss.backward()#反向传播

            optimizer.step()#优化器

            losses += loss.item()#损失函数

人工智能与机器人|机器学习

2.7.6.5 评估模型:
训练模型后,您必须检查它的性能。

通过在以前看不见的数据上测试模型的性能来完成的。

这个时候测试集就起到作用了,环环相扣。

注意:不要用训练的相同数据进行测试, 无法获得准确的测量结果,因为模型已经使用了数据,并在其中找到了与以前相同的模式。

评估模型也可以通过多次训练设置不同的参数得到不同的结果来分析对比。

2.7.6.6 参数调优:
创建并评估模型后,看看是否可以通过任何方式提高其准确性。这是通过调整模型中存在的参数来完成的。参数是程序员通常决定的模型中的变量。在您的参数的特定值下,精度将是最大值。参数调整是指找到这些值。

2.7.6.7 做出预测
最后,您可以使用您的模型对看不见的数据进行准确的预测。文章来源地址https://www.toymoban.com/news/detail-458434.html

到了这里,关于人工智能与机器人|机器学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 行业视野::人工智能与机器人

    控制和机器人领域非常重要的quote:莫拉维克悖论(Moravec\\\'s paradox)         It is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers,and difficult or impossible to give them the skills of a one-year-old when it comes to perception and mobility.         相对来说

    2024年02月16日
    浏览(17)
  • 人工智能与机器人:实现智能化的未来

    人工智能(Artificial Intelligence, AI)和机器人技术(Robotics)是当今最热门的技术领域之一,它们正在驱动我们进入一个智能化的未来。人工智能是指一种使计算机能够像人类一样思考、学习和理解自然语言的技术。机器人则是一种自主行动的物体,它可以接收数据、执行任务

    2024年01月23日
    浏览(32)
  • 人工智能ai写作系统,ai智能写作机器人

     人工智能AI大数据深度:基于伪原创算法,采用神经网络算法,在超过1535000篇文章中进行自动学习、聚合算法进行人工智能的创建,内容语义不变,媒体阿里、腾讯、百度均于日前在百家号内容创作者盛典上推出人工智能创作支撑平台创作大脑。 智能助手可以为人类创作者

    2024年02月10日
    浏览(28)
  • 开发ROS机器人的人工智能功能

    机器人技术的发展已经进入了一个新的高潮,随着计算能力的不断提高和传感器技术的不断发展,机器人在各个领域的应用也越来越广泛。在这个背景下,机器人的人工智能功能也变得越来越重要。ROS(Robot Operating System)是一个开源的机器人操作系统,它提供了一系列的库和

    2024年01月23日
    浏览(25)
  • 免费的chartGPT 人工智能机器人问答展示

      无意中发现一个特别好用的AI工具,试着问了几个最近一直困扰我的小孩子的幼小衔接的问题,发现比度娘好用。给出的答案更加智能,还可以免费试用。 对于日常的一些问题,回答更具针对性    日常写代码也能轻松搞定  人工智能是一种让计算机系统具备智能的技术和

    2024年02月07日
    浏览(31)
  • 搭建人工智能wx机器人完整版教程

    参考搭建流程 首先需要下载Ubuntu 20.04 镜像包 阿里云开源镜像包 下载方式: 打开以上网站--点击20.04/--点击ubuntu-20.04.5-live-server-amd64.iso下载 项目开源地址 https://github.com/zhayujie/chatgpt-on-wechat NxShell 下载地址 https://xiaodao.lanzoui.com/b0dr4mztg VMware 17(自行网上找有很多资源) 安装完N

    2024年02月09日
    浏览(24)
  • 人工智能与机器人:未来的挑战与机遇

    作者:禅与计算机程序设计艺术 随着互联网、智能手机等新技术的不断推出,人们对人工智能领域的关注也越来越高。在这个领域里,研究人员已成功开发出可以进行各种各样的人类活动的机器人。不过,这一切并非都没有风险,有可能带来一些负面影响,比如健康危害、安

    2024年02月07日
    浏览(22)
  • 走进人工智能|机器人技术 人机协作新纪元

    前言: 机器人技术为人类提供协助、增强生产力,改善生活质量,并推动科技进步和社会发展。 机器人技术作为现代科技领域的重要研究方向,已经在各个领域展现出巨大的潜力和影响力。 随着人工智能、感知技术和机械工程的进步,机器人能够模拟和执行人类的动作和任

    2024年02月12日
    浏览(18)
  • ChatGPT——OpenAI推出的人工智能聊天机器人

    ChatGPT——OpenAI推出的人工智能聊天机器人 [ 编辑] ChatGPT 全称为“chat Generative Pre-trained Transformer”,翻译成中文就是生成型预训练变换模型。它是美国公司OpenAI在2022年11月30日发布研发的聊天机器人程序,能用于问答、文本摘要生成、机器翻译、分类、代码生成和对话AI。 [1

    2024年02月04日
    浏览(41)
  • 工业4.0 - Industrial 4.0领域的研究已经形成了一个完整体系,涉及机器人技术、生物技术、信息技术、工业控制系统、计算机视觉、大数据、人工智能、机器学习、人工神经网络等众多领域。

    作者:禅与计算机程序设计艺术 5月30日,由德国汉堡消费品有限公司发布了2020年度“汉堡行业报告”,预测,2020 年“汉堡市场规模将达到 2000亿美元”。这种估算引起轰动,而作为全球食品巨头,汉堡行业的估值也已超过了5000亿美元。与此同时,全球的“工业4.0”领域也走

    2024年02月10日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包