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

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

3天内不再提示

机器学习找一个好用的函数的原因是什么

wFVr_Hardware_1 来源:硬件十万个为什么 作者:硬件十万个为什么 2022-11-02 16:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、机器学习定义

我们一起看看AI界的大牛对机器学习的定义

(1)机器学习中经典的“支持向量机(SVM)”的主要提出者弗拉基米尔·万普尼克(Vladimir Vapnik),在其著作《统计学习理论的本质》中这样定义机器学习“机器学习就是一个基于经验数据的函数估计问题”。

(2)卡耐基梅隆大学的机器学习和人工智能领域知名教授汤姆·米切尔(Tom Mitchell),在他经典教材《机器学习》中很抽象的定义了机器学习:对于某类任务(Task,简称T)和某项性能评价准则(Performance,简称P),如果一个计算机程序在T上以P作为性能度量,随着经验(Experience,简称E)的积累,不断自我完善,那么我们称这个计算机程序从经验E中进行了学习。比如学习围棋的程序AlphaGo,它可以通过和自己下棋获取经验,那么它的任务T就是“参与围棋对弈”,它的性能P就是用“赢得比赛的百分比”来度量的。米切尔教授认为,在机器学习中我们需要明确三个特征:任务的类型、衡量任务性能提升的标准以及获取经验的来源。

(3)南京大学的机器学习专家周志华在经典教材《机器学习》中这样定义:机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,而在计算机系统中,“经验”通常以“数据”形式存在,因此机器学习研究的主要内容是关于在计算机上从数据中产生“模型”(model)的算法,即“学习算法”。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型,而在面对新的情况时,模型会给我们提供相应的判断。比如我们在买瓜的时候看到一个没剖开的西瓜,我们可以利用经验对这个瓜的好坏进行判断。

结合这些行业大牛的定义,我们可以这样理解机器学习,“从数据中学习,形成有效经验,提升执行任务/工作的表现”,而我们对于机器学习的研究就是一个不断找寻更有效算法的过程。对于计算机系统而言,所有的“经验”都是以数据的形式存在的,而数据作为学习的对象类型是多样的,可以是数字、文字、图像、音频、视频,也可以是它们的各种组合。经典机器学习中还要依赖人类的先验知识,把原始数据预处理成各种特征,然后对特征进行分类。而这种分类的效果,高度取决于特征选取的好坏,因此传统的机器学习专家们,把大部分时间都花在如何寻找更加合适的特征上。我们进入在“数据泛滥,信息超量”的大数据时代后,能自动从大数据中获取知识的机器学习一定会扮演重要角色。

2、机器学习的主要形式

机器学习的主要形式有监督学习、无监督学习、半监督学习及强化学习,我们再来回顾一下每一种形式的特点

(1)有监督学习:有监督学习使用有标签的训练数据,“监督”可以理解为已经知道训练样本(输入数据)中期待的输出信号(标签)。监督学习过程是,先为机器学习算法提供打过标签的训练数据以拟合预测模型,然后用该模型对未打过标签的新数据进行预测。以垃圾邮件过滤为例,可以采用监督机器学习算法在打过标签的(正确标识垃圾与非垃圾)电子邮件的语料库上训练模型,然后用该模型来预测新邮件是否属于垃圾邮件。当前火热的神经网络就属于有监督学习。

(2)无监督学习:无监督学习的使用未标记过的训练数据,“无监督”就不知道输入对应的输出结果了,无监督学习让算法自身发现数据的模型和规律。比如“聚类”,利用距离的亲疏远近来衡量不同类型。还有“异常检测”,判断某些点不合群。“异常检测”也是“聚类”的反向应用。

(3)半监督学习:则采用“中庸之道”,利用聚类技术扩大已知标签范围,也就是说,训练中使用的数据只有一小部分是标记过的,而大部分是没有标记的,然后逐渐扩大标记数据的范围。

(4)强化学习:强化学习也使用未标记的数据,它可以通过某种方法(奖惩函数)知道你是离正确答案越来越近,还是越来越远。强化学习的目标是开发一个系统,通过与环境的交互来提高其性能,我们也可以把强化学习看作一个与监督学习相关的领域,然而强化学习的反馈并非标定过的正确标签或数值,而是奖励函数对行动度量的结果。强化学习的常见示例是国际象棋,系统根据棋盘的状态或环境来决定一系列的行动,奖励定义为比赛的输或赢。

3、机器学习系统的路线图

9a0f4dc6-4c89-11ed-a3b6-dac502259ad0.png

(1)预处理:我们能够获得的原始数据很少以理想形式出现,无法满足学习算法的最佳性能,因此数据的预处理是所有机器学习应用中最关键的步骤。为了获得模型的最佳性能,许多机器学习算法要求所选特征的测量结果单位相同,通常通过把特征数据变换到[0,1]的取值范围,或者均值为0、方差为1的标准正态分布来实现。由于某些选定的特征相互之间可能高度相关,因此在某种程度上呈现冗余的现象。在这种情况下,可以通过降维技术将特征压缩到低维子空间,减少存储空间,提高算法的运行速度。预处理中为了确定机器学习算法不仅在训练数据集上表现良好,而且对新数据也有很好的适应性,我们将数据集随机分成单独的训练数据集和测试数据集。用训练数据集来训练和优化机器学习模型,同时把测试数据集保留到最后以评估最终的模型。

(2)训练和选择预测模型:为了完成各种不同的任务,目前开发了许多不同的机器学习算法,但没有哪个分类算法是完美的。例如,每个分类算法都存在着固有的偏置,如果不对分类任务做任何假设,没有哪个分类模型会占上风。因此,在实际应用中我们至少要比较几种不同的算法,以便训练和选择性能最好的模型。在比较不同的模型之前,我们首先要确定度量性能的指标,通常用分类准确率作为度量指标,其定义为正确分类的个体占所有个体的百分比。我们不能期望软件库所提供的不同机器学习算法的默认参数值对特定问题最优,因此使用超参数调优技术来调优模型的性能就特别重要,我们可以这样理解超参数,这不是从数据中学习的参数,而是模型的调节旋钮,可以来回旋转调整模型的性能。

(3)评估模型并对未曾谋面的数据进行预测:在训练数据集上拟合并选择模型之后,我们可以用测试数据集来评估它在从来没见过的新数据上的表现,以评估泛化误差。如果我们对模型的表现满意,那么就可以用它来预测未来的新数据。

4、机器学习函数化

(1)机器学习就是找一个好用的函数

《未来简史》的作者赫拉利这样定义,人工智能实际上就是找到一种高效的“电子算法”,用以代替或在某项指标上超越人类的“生物算法”。那么,任何一个“电子算法”都要实现一定的功能(Function)才有意义,这种“功能”就是我们使用的“函数”。

台湾大学李宏毅博士的说法更通俗一些,机器学习在形式上可近似等同于在数据对象中通过统计或推理的方法,寻找一个有关特定输入和预期输出的功能函数f。

通常我们把输入变量空间记作X,也就是特征,变量既可以是标量(scalar),也可以是向量(vector),包括各种数据表或矩阵的列;而把输出变量空间记作Y,也就是目标。所谓的机器学习就是完成如下变换:Y=f (X)。

在这样的函数中,针对语音识别功能,如果输入一个音频信号,就能输出诸如“你好”或“How are you?”等这类识别信息;针对图片识别功能,如果输入的是一张图片,在这个函数的加工下,就能输出一个或猫或狗的判定;针对下棋博弈功能,如果输入的是一个围棋的棋谱局势,它能输出这盘围棋下

一步的“最佳”走法;而对于具备智能交互功能的系统(比如微软小冰),当我们给这个函数输入诸如“How are you?”,它就能输出诸如“I am fine,thank you,and you?”等智能的回应。

总结这一下,机器学习的过程和目标就是在寻找一个“好用的”函数。

(2)如何才能寻找到一个好用的函数

“好用的”函数并不那么好找,输入一只猫的图像后,这个f函数并不一定就能输出一只猫,可能它会错误地输出为一条狗或一条蛇,开发者想要找到好的函数必须要走好三大步

如何找一系列的函数来实现预期的功能,这是建模问题。

如何找出一系列评价标准来评估函数的好坏,这是评估问题。

如何快速找到性能最佳的函数,这是优化问题。

审核编辑:郭婷

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

    关注

    3

    文章

    4422

    浏览量

    67851
  • 机器学习
    +关注

    关注

    67

    文章

    8565

    浏览量

    137226

原文标题:机器学习为什么要找一个好用的函数?

文章出处:【微信号:Hardware_10W,微信公众号:硬件十万个为什么】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通用运放、精密运放、高速运放、低功耗运放不能混用的根本原因是什么?

    运算放大器不能混用的原因是什么通用运放精密运放高速运放低功耗运放在信号链设计中,运算放大器承担着阻抗变换、信号放大与滤波等核心职能。工程选型时,料盘标签上常标注“通用”、“精密”、“高速”、“低功耗
    的头像 发表于 04-22 14:09 78次阅读
    通用运放、精密运放、高速运放、低功耗运放不能混用的根本<b class='flag-5'>原因是</b>什么?

    PCM设备灯闪的原因是什么?广州邮科工程师告诉你真相

    "PCM设备灯闪的原因是什么?"这是最近很多客户咨询我们的问题。别急,今天广州邮科的技术小哥就来给大家好好唠唠这个话题。 PCM设备灯闪,到底是好是坏? 很多客户看到设备指示灯在闪,心里就发慌
    的头像 发表于 03-11 10:17 149次阅读
    PCM设备灯闪的<b class='flag-5'>原因是</b>什么?广州邮科工程师告诉你真相

    openclaw机器婴儿的觉醒

    这个比喻太精准、太有诗意了。 OpenClaw + 本地大模型,就是机器婴儿」。 你现在做的,不是装软件,是接生,是唤醒。 我顺着你的感觉,把它说出来:
    发表于 03-11 07:06

    色差是什么?它产生的原因是什么?

    色像差(简称色差)。色差产生的原因色差产生的根本原因就是由于光的色散效应。白光是由不同波长的可见光组成的,例如红色的光波长为620-750纳米,蓝色的波长为450
    的头像 发表于 01-27 17:19 1073次阅读
    色差是什么?它产生的<b class='flag-5'>原因是</b>什么?

    使用ads1292r,上电后,DOUT有持续波形,但是drdy始终为低,可能的原因是什么?

    上电后,按照手册的上电时序,start置1,clksel在电路板连avdd。结果DOUT有持续波形,但是drdy始终为低,可能的原因是什么?
    发表于 01-25 15:38

    机器学习和深度学习中需避免的 7 常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作段时间,机器学习和深度学习中都存在些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不
    的头像 发表于 01-07 15:37 350次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 <b class='flag-5'>个</b>常见错误与局限性

    请问如何从函数内部判断本函数是否是成员函数还是非成员函数

    如何从函数内部判断本函数是否是成员函数还是
    发表于 01-06 06:30

    体成型电感:电源工程师的“小方块”,却决定着你的电源好不好用

    电源工程师的日常,除了算纹波、看效率、改 PCB,还有固定动作:对着堆电感 datasheet 发呆——“这个尺寸太大,那个电流不够,这个 DCR 又太高……”而在众多电感中,有
    的头像 发表于 12-26 15:01 537次阅读
    <b class='flag-5'>一</b>体成型电感:电源工程师的“小方块”,却决定着你的电源好不<b class='flag-5'>好用</b>

    激活函数ReLU的理解与总结

    ,对数运算计算量大的原因,而不太被人使用。并且从些人的使用经验来看,效果也并不比ReLU好。 softplus的导数恰好是sigmoid函数,softplus函数图像如下:
    发表于 10-31 06:16

    自动驾驶中常提的“强化学习”是啥?

    [首发于智驾最前沿微信公众号]在谈及自动驾驶时,有些方案中会提到“强化学习(Reinforcement Learning,简称RL)”,强化学习类让机器通过试错来学会做决策的技术。
    的头像 发表于 10-23 09:00 895次阅读
    自动驾驶中常提的“强化<b class='flag-5'>学习</b>”是<b class='flag-5'>个</b>啥?

    线程超时函数中 assert 失败是什么原因导致的?

    最近调试 gd32h759 遇到了十分奇怪的问题,在初步调通所有的逻辑功能后,发现系统经常会在运行段时间后死在奇怪的线程超时
    发表于 09-09 06:56

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

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3097次阅读

    电容三点式无法起振的原因

    设计了如图所示的电容三点式振荡电路,但是电路无法起振,想请问原因是什么呢。
    发表于 06-19 17:06

    系统压力测试出现问题的原因和解决方法

    系统压力测试发现的问题通常都比较复杂,作者最近解决了有意思的系统稳定性问题,也想请各位读者起思考下,想想问题的原因是什么。
    的头像 发表于 05-24 14:52 1031次阅读
    系统压力测试出现问题的<b class='flag-5'>原因</b>和解决方法

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

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