二月半 发表于 2023-10-6 17:26:23

机器学习的原理是什么?

机器学习的原理是什么?

wyc9867 发表于 2023-10-6 17:27:20

训过小狗没?没训过的话总见过吧?
你要能理解怎么训狗,就能非常轻易的理解机器学习的原理。
比如你想教小狗学习动作“坐下”,一开始小狗根本不知道你在说什么。但是如果你每次都说坐下”然后帮助它坐下,并给它一块小零食作为奖励,经过多次重复,狗就会学会当听到“坐下”这个词时就要坐下。
以此类推,小狗可以听懂各种指令,比如坐下,蹲下,握手等等。
机器学习本质上跟教小狗一摸一样,只不过机器学习不是一条狗或者一只猫,而是用的“模型”。
我们用电脑和特殊的程序(叫做“模型”)来代替小狗。我们给电脑一堆数据,比如一堆照片,其中有些是猫,有些是狗。然后我们告诉电脑哪些是猫,哪些是狗(这叫“标签”)。电脑就像小狗一样,通过这些“示范”和“奖励”(或“惩罚”)来学习怎么区分猫和狗。
比如“模型”每区分正确一张照片,就给它奖励一分,否则扣一分,然后我们设定了目标是分数越高越好,那么“模型”就会根据这个机制进行不断的学习,最后就成为了一个非常优秀的区分猫狗的“好模型”。
但与教小狗不同,电脑可以快速地查看成千上万张照片,并从中学习。电脑也可以学习很多其他复杂的任务,比如识别人的声音、推荐你可能喜欢的音乐,甚至帮助医生诊断疾病。
从上面我们可以总结出来几个名词:

[*]模型(Model): 模型就像是电脑的“大脑”,用来处理和学习数据。你可以想象它为一个迷你的决策工厂,输入数据进去,输出结果。
[*]数据集(Dataset): 数据集就是用来训练模型的大量信息。这些信息可能是文字、图像、声音等。
[*]标签(Label): 标签是对数据集中每一项数据的解释或标记。比如,在一个由猫和狗照片组成的数据集中,每张照片会被标签为“猫”或“狗”。
[*]训练(Train)和测试(Test): 训练是让模型从标签好的数据集中学习的过程。测试则是检查模型是否真的学会了某件事。
[*]奖励(Reward)和惩罚(Punishment): 在某些机器学习模式中,模型会根据其预测的准确性获得奖励或惩罚。
[*]监督学习(Supervised Learning)和无监督学习(Unsupervised Learning): 在监督学习中,模型从带有标签的数据中学习。在无监督学习中,数据没有标签,模型需要自己找出数据的结构。
从上面来看其实我们归纳一下,机器学习就是让电脑通过数据和例子来学习做某件事,而不是由人直接编程告诉它每一步应该怎么做。
这一句话会有点儿难懂,那么还是拿训练计算机去分辨猫狗照片来举例。
我们想要做的是让计算机去自动的学会分辨猫和狗,而不是告诉计算机这是一张哈士奇的图,另一张是金毛。
这跟自动的分辨有什么区别呢?
区别就在于“学习”,因为猫和狗不像是阿拉伯数字,只有从0到9的10个数字,你直接硬塞给计算机这10个数字是没问题的。
但是猫和狗不一样,世界上有很多种的猫和狗,纯种的,杂交的,国内的,国外的,还有不同角度拍的,俯拍的,正面拍的,背后拍的,照片不是很清楚的。
你没有办法告诉计算机所有的关于猫和狗的照片,另外给所有的照片打上标签也是不现实的,因为工作量太大,如果我们现在要把大象,老虎,狮子,马等等动物都进行分类呢?
每种动物都要打标签的话那工作量简直是天文数字。
事实上,你想想自己分辨这些动物的过程,需要看很多的照片吗?
比如老虎和狮子,你基本上看个2,3张照片就可以轻松的进行分辨。
根本不需要成千上万张,甚至一张不太清楚的照片也不会影响你去做分辨。
而我们想要计算机实现的功能就是学习能力,我们提供给计算机每种动物几百张照片,然后告诉它每张照片对应的动物。
我们希望它可以通过学习这些图片来获得识别动物的能力。
比如根据他们的毛色,提醒大小,形体特征等等。
对于机器学习以及人工智能的学习,与ChatGPT结合,这是对于新手来说避免被落下太多,甚至被取代的好方法。它比多数书籍更强大,像个知无不言的老师,它可以放大你的能力,比如说你不擅长代码,那么它可以帮助你实现你的想法,无论什么语言它都可以做的非常棒。其实无论是从业者,还是对这一行感兴趣的朋友,都特别推荐去看看「知乎知学堂」的2天公开课,快速掌握大模型的潜力和应用。
这就是「机器学习」Machine Learning这个名词的来源,主要原理可以概括为“从经验中学习”。
明确目标: 首先,你需要明确你想让模型(或小狗)完成的任务。例如,区分猫和狗。
收集数据: 接着,你需要准备一个数据集。就像你会有很多“坐下”的场景来教狗一样。
标签与示范: 在监督学习中,你需要标签来告诉模型数据集中每项数据的意义。这像是每次帮助小狗坐下并说“这是坐下”。
训练与调整: 使用数据和标签来训练模型,模型会尝试找出数据之间的规律或关系。如果模型做得好,它会获得“奖励”;做得不好,则会受到“惩罚”。
测试与评估: 一旦模型经过足够的训练,你就可以用没有标签的新数据来测试它,看看其表现如何。
应用与拓展: 一旦模型经过测试并证明有效,它就可以用于各种其他任务,从识别声音到医疗诊断。
总的来说,机器学习是一种通过数据和算法来训练模型,使其能够完成特定任务或做出预测的技术。与训练小狗不同,模型可以处理非常大量的数据,并用于解决各种复杂的问题。
最后,我们来区分下几个经常会被混淆的名词:机器学习/人工智能/深度学习。
从下图可以看到,
人工智能AI是一个广泛的概念,包括所有模仿、延伸或者扩充人类智能的技术。
机器学习是AI中的一个分支,主要关注通过数据来训练模型。
深度学习则是机器学习中的一个子集,专注于使用类似人脑的神经网络进行高级、复杂的任务。

http://pica.zhimg.com/v2-83942f6bcfd59be902c0c5095c17896f_r.jpg?source=1940ef5c
他们是从抽象到具体的关系,不过现实中被混用的情况也不少,如果你看完了这篇文章,大概率以后不会被搞混了。

xchenxjiex 发表于 2023-10-6 17:27:55

先附上Scikit-learn中文文档: scikit-learn中文社区
在百度中输入“什么是机器学习?”并进行搜索后,就仿佛打开了一个潘多拉的魔盒,里面有各种网站,论坛,百度知道,视频,学术性研究等,当然还会这篇文章要讲的,那就是什么是机器学习等一系列相关的认知文章,和相关视频的推荐。而这篇文章的目的也就是为了简化机器学习的定义和方便人们理解什么是机器学习。
除了了解什么是机器学习(ML),机器学习的定义之外,我们还旨在简要概述机器学习的基本原理,让机器“思考”的挑战和局限性,以及今天深入了解的一些问题学习(机器学习的“前沿”),以及开发机器学习应用程序的关键要点。
本文将分为以下几个部分:

[*]什么是机器学习?
[*]我们是如何得出我们的定义的(也就是:专家研究人员的观点)
[*]机器学习的基本概念
[*]ML模型的可视化表示
[*]我们如何让机器学习
[*]ML的挑战和局限概述
[*]深度学习简介
无论你对机器学习是否有兴趣,我们都将把这些资源整合在一起,以帮助你解决有关机器学习的问题 - 所以你可以查看任何你感兴趣的话题,或者按照顺序阅读这篇文章都可以,那么我们就从下面的机器学习定义开始:
什么是机器学习?

“机器学习是让计算机像人类一样学习和行动的科学,通过以观察和与现实世界进行互动的形式向他们提供数据和信息,随着时间的推移,以自主的方式提高计算机的学习能力。”上述定义包含了机器学习的理想目标或最终目标,正如该领域的许多研究人员所表达的那样。本文的目的是为具有商业头脑的读者提供有关机器学习的定义及其工作原理的专家观点。 机器学习和人工智能在许多人的脑海中具有相同的定义,但读者也应该认识到他们其中的一些明显的差异。
我们是如何得出我们的定义的:

(我们的整理的机器学习定义可以在本文开头找到)
与任何概念一样,机器学习的定义可能略有不同,具体取决于你向谁问机器学习的概念。我们梳理了在互联网中对机器学习的定义,从一些著名的来源中找到五个实用的定义:

[*]“最基本的机器学习是使用算法解析数据,从中学习,然后对世界上的一些事情做出决定或者是预测。” - Nvidia
[*]“机器学习是一门不需要明确编程就能让计算机运行的科学。” -斯坦福大学
[*]“机器学习基于算法,可以从数据中进行学习而不依赖于基于规则的编程。” - 麦肯锡公司
[*]“机器学习算法可以通过例子从中挑选出执行最重要任务的方法。” - 华盛顿大学
[*]“机器学习领域旨在回答这样一个问题:”我们如何建立能够根据经验自动改进的计算机系统,以及管理所有学习过程的基本法则是什么?“ - 卡内基梅隆大学
我们将这些定义发送给我们采访过和/或包含在我们之前的研究共识中的专家,并要求他们回答他们最喜欢的定义或提供他们自己的定义。我们的介绍性定义旨在反映不同的反应。以下是他们的一些回复:
蒙特利尔大学Yoshua Bengio博士:
ML不应由否定来定义(因此判定2和3)。而我的定义如下:
机器学习研究是人工智能研究的一部分,旨在通过数据,观察和与世界的互动为计算机提供知识。获得的知识允许计算机能够正确地推广到新设置。
Danko Nikolic博士,CSC和Max-Planck研究所:
(选择上面的数字2):“机器学习是让计算机在没有明确编程的情况下采取行动的科学,而是让他们自己学习一些技巧。”
路易斯维尔大学Roman Yampolskiy博士:
机器学习是一门让计算机学习和人类做得更好或更好的科学。
华盛顿大学Emily Fox博士:
我最喜欢的定义是第五个。
机器学的习基本概念

有许多不同类型的机器学习算法,每天都会有新发布数百种的算法,并且它们通常按学习风格(即监督学习,无监督学习,半监督学习)或通过形式或功能的相似性(即分类,回归,决策树,聚类,深度学习等)。无论学习风格或功能如何,机器学习算法的所有组合都包含以下内容:

[*]表示(一组分类器或计算机理解的语言)
[*]评估(又名目标/评分功能)
[*]优化(搜索方法;通常是评分最高的分类器;使用现成的和自定义的优化方法)

http://pica.zhimg.com/50/v2-df3e567d6f16d040326c7a0ea29a4f41_720w.gif?source=1940ef5c

http://picx.zhimg.com/v2-a0f092ba5ffcffec50f406183f344fd5_r.jpg?source=1940ef5c
图片来源:华盛顿大学Pedro Domingo博士
机器学习算法的基本目标是在训练样本的基础上进行泛化,即成功解释之前从未“见过”的数据。
机器学习模型的可视化表示

到目前为止,概念和要点只能走这么远。当人们问“什么是机器学习?”时,他们经常想看看它是什么以及它做了什么。以下是机器学习模型的一些可视化表示。

[*]决策树模型

http://picx.zhimg.com/v2-2000c0c87a1362c192f1b58d89f5f909_r.jpg?source=1940ef5c

[*]高斯混合模型

http://pic1.zhimg.com/v2-4318dc4af8a4ffbe3ad38aec40a83ca9_r.jpg?source=1940ef5c

[*]drop神经网络

http://picx.zhimg.com/v2-bd7a10b5372c8bee98df99406a7d4505_r.jpg?source=1940ef5c

[*]卷积神经网络合并色度和亮度

http://pic1.zhimg.com/v2-4acc3094e057f840fba025d515ea0397_r.jpg?source=1940ef5c
我们如何让机器去学习

有许多不同的方法让机器学习,从使用基本决策树到聚类再到人工神经网络层(后者已经让位于深度学习),这取决于你要完成的任务和类型以及你可用的数据量。这种动力在各种应用中发挥作用,如医疗诊断或自动驾驶汽车。
虽然重点通常放在选择最佳学习算法上,但研究人员发现,一些最有趣的问题没有可用的机器学习算法的执行标准。大多数情况下,这是训练数据的问题,但这也发生在使用机器学习在新领域上。
在处理实际应用程序时所做的研究通常会推动该领域的进展,原因有两个:1.发现现有方法的界限和局限性的趋势2.研究人员和开发人员与领域专家合作,利用时间和专业知识来提高系统性能。
有时这也是由“意外”发生的。我们可能会考虑模型集合或许多学习算法的组合来提高准确性,但有一个例子。2009年Netflix Price的团队发现,当他们将学习者与其他团队的学习者结合起来时,他们取得了最好的成绩,从而改进了推荐算法。
在商业和其他领域的应用方面,一个重要的观点(基于对该领域专家的访谈和对话)是,机器学习不仅仅是一个经常被误解的概念,甚至与自动化有关,这是一个经常被误解的概念。如果你这样想,你一定会错过机器学习可以提供的宝贵见解和由此产生的机会(重新思考整个商业模式,就像制造业和农业等所做的那样)。
学习的机器对人类很有用,因为它们具有所有的处理能力,能够更快地突出显示或找到人类可能错过的大数据(或其他)中的模式,否则人类就会错过这些模式。机器学习是一种工具,可用于增强人类解决问题的能力,并从广泛的问题中做出明智的推断,从帮助诊断疾病到提出全球气候变化的解决方案。
挑战与局限

“机器学习无法从无到有......它的作用是从更少的东西中获得更多。” - 华盛顿大学Pedro Domingo博士
机器学习中两个最大的,历史性的和持续的问题都涉及过度拟合(其中模型表现出对训练数据的偏见,并且不会推广到新数据,和/或变化,即在训练新数据时学习随机事物)和维度(具有更多特征的算法在更高/更多维度上工作,使得理解数据更加困难)。在某些情况下,访问足够大的数据集也是主要问题。
机器学习初学者中最常见的错误之一是成功地测试训练数据并产生成功的假象; Domingo(和其他人)强调在测试模型时保持一些数据集独立的重要性,并且仅使用该保留的数据来测试所选模型,然后对整个数据集进行学习。
当一个学习算法(即学习者)不起作用时,通常更快的成功之路是为机器提供更多的数据,其可用性现已成为近期机器学习和深度学习算法进步的主要驱动因素。 然而,这可能导致可扩展性问题,在可扩展性中,我们有更多的数据,但是否有时间了解数据仍然是一个问题。
就目的而言,机器学习本身并不是目的或解决方案。此外,尝试将其用作一揽子解决方案即“BLANK”并不是一项有用的做法; 相反,带着一个问题或目标来到谈判桌上往往最好由一个更具体的问题来驱动 - “BLANK”。
深度学习与神经网络的现代发展

深度学习涉及机器算法的研究和设计,用于在多个抽象级别(安排计算机系统的方式)学习数据的良好表示。最近通过DeepMind,Facebook和其他机构进行深度学习进行了宣传,突显了它作为机器学习的“下一个前沿”。
机器学习国际会议(ICML)被广泛认为是世界上最重要的会议之一。该会议在今年6月在纽约市举行,汇集了来自世界各地的研究人员齐聚一堂,他们致力于解决当前深度学习中的挑战:

[*]小数据集中的无监督学习
[*]基于模拟的学习和对现实世界的可转移性
深度学习系统在过去十年中在诸如对象检测和识别,文本到语音,信息检索等领域取得了巨大的进步。研究现在专注于开发数据高效的机器学习,也就是在个性化医疗、机器人强化学习、情绪分析等前沿领域,开发更搞笑的深度学习系统,在更短的时间和更少的数据下,以同样的性能进行跟高效的学习。
应用机器学习的关键

下面是一系列应用机器学习的最佳实践和概念,我们已经从我们对播客系列的采访以及本文末尾引用的选择来源进行了整理。我们希望这些原则中的一些将阐明如何使用ML,以及如何避免公司和研究人员在启动ML相关项目时可能容易受到的一些常见陷阱。

[*]可以说,在成功的机器学习项目中最重要的因素是用来描述数据(特定于领域)的特性,并具有足够的数据来训练你的模型
[*]大多数情况下,当算法表现不佳时,这是由于训练数据存在问题(即数据量不足/数据偏差;数据噪声较大;或者描述数据的功能不足以做出决策
[*]“简单并不意味着准确性” - 根据多明戈的说法,模型的参数数量和过度拟合的趋势之间没有特定的联系
[*]如果可能的话,应该尽可能的获得实验数据(而不是我们无法控制的观察数据)(例如,从向随机观众进行抽样发送不同的电子邮件中收集的数据)
[*]无论我们是否标记数据因果关系或相关性,更重要的都是预测我们行为的影响
[*]始终留出一部分训练数据集进行交叉验证; 你希望你选择的分类器或学习算法在新数据上表现良好

hslxwu 发表于 2023-10-6 17:28:12

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

xiaoji1543 发表于 2023-10-6 17:29:04

脚踏实地,仰望星空。
我真的想说这个问题问的"假""大""空"。这种问题给我的感觉就是“人生的意义是什么?”
机器学习是个太大的范畴,涉及到太多知识,并且仍然在不断变化。你让Bengio,Lecun他们来回答,也没办法给你一个定性的答案。
这种问题的答案只有你自己慢慢积累慢慢感受才有体会。立足于某一个领域某一类方法才有谈原理的意义。

whymaomi 发表于 2023-10-6 17:29:27

找一类样本(数据集)中的规律,用一个复杂的公式(模型)表示出来。
页: [1]
查看完整版本: 机器学习的原理是什么?