一、机器学习到底是什么?
简单说,机器学习就是让计算机像人一样 “从经验中学习”。比如我们学骑自行车,摔多了就知道怎么保持平衡;计算机处理任务时,也能通过分析大量 “经验数据”,自己找到规律,把任务做得越来越好。

最经典的例子就是 2016 年的阿尔法围棋大战:阿尔法围棋通过学习海量棋谱数据(经验),不断优化下棋策略,最终以 4:1 战胜了世界顶级棋手李世石。这就是机器学习的核心 —— 用数据 “喂” 模型,让模型自己进步。

具体来说,机器学习要满足三个条件:

针对特定任务(如下棋、判断西瓜好坏);
有大量经验数据作为基础;
有评判任务好坏的标准,通过分析数据让任务完成得更出色。

二、机器学习的 “基础语言”:关键术语
想要看懂机器学习,得先认识这些 “行话”:
1. 数据相关的基本概念
数据集:就是一堆数据的集合。比如要研究西瓜好坏,收集的所有西瓜数据(包括色泽、根蒂等信息)就是一个数据集。
样本:数据集中的每条记录。比如数据集中的 “第 1 个西瓜”“第 2 个西瓜”,每个西瓜的信息就是一个样本。
特征(属性):描述样本的具体信息。比如西瓜的 “色泽”(青绿、乌黑)、“根蒂”(蜷缩、硬挺)、“敲声”(浊响、沉闷)等,这些都是特征。

属性空间(样本空间):把所有特征组合起来形成的 “空间”。比如西瓜有 “色泽”“根蒂”“敲声” 3 个特征,每个特征有不同取值,这些取值组合起来就像一个三维空间,每个西瓜样本都是这个空间里的一个点。
向量表示:为了方便计算,每个样本可以用数字 “向量” 表示。比如一个西瓜的特征是(青绿、蜷缩、浊响),可以转换成数字(1, 2, 3),这个数字列表就是向量,特征的数量就是向量的 “维数”(比如 3 个特征就是 3 维向量)。
2. 训练和测试相关概念
训练集:用来 “教” 模型的数据集,里面有 “正确答案”(专业叫 “标记”)。比如判断西瓜好坏时,训练集里的西瓜会明确标注 “是好瓜” 或 “否”,模型通过学习这些数据找规律。

测试集:用来 “考” 模型的数据集,里面没有 “正确答案”,模型需要根据训练时学到的规律预测结果。比如测试集里的西瓜没有 “好瓜” 标注,模型预测后,再对比真实结果判断模型好坏。

三、机器学习的 “门派”:学习类型
机器学习主要分为两大 “门派”,还有一个 “混合门派”:
1. 监督学习(有老师教的学习)
就像学生有老师给答案一样,监督学习的数据集有 “正确答案”(标记)。模型通过学习这些带答案的数据,学会预测新数据的答案。

分类任务:预测结果是有限的 “类别”(离散值)。比如判断西瓜是 “好瓜” 还是 “坏瓜”,判断邮件是 “垃圾邮件” 还是 “正常邮件”。
回归任务:预测结果是连续的数值。比如根据房屋面积、位置预测房价(价格可以是 88 万、150 万等任意数值),根据身高预测体重。

2. 无监督学习(自学成才的学习)
没有 “正确答案”,模型自己从数据中找规律。最典型的是聚类:把相似的样本分成一组。比如电商平台分析用户购物记录,自动把喜欢买零食的用户、喜欢买家电的用户分成不同群体。
还有关联推荐,比如超市发现 “买尿布的人经常买葡萄酒”,就会给买尿布的顾客推荐葡萄酒,这就是无监督学习从数据中发现的隐藏规律。
3. 集成学习(团队合作的学习)
不是单个模型 “孤军奋战”,而是把多个模型组合起来,一起完成任务。就像考试时多个同学一起讨论,答案往往更准确。集成学习通过结合多个模型的优势,减少单个模型的误差,提升性能。
四、怎么判断模型好不好?模型评估方法
训练出模型后,得知道它好不好用。这就需要 “评估指标” 和 “评估方法”:
1. 常用评估指标
错误率和精度:分类任务最常用。
错误率:预测错的样本数 ÷ 总样本数(比如 100 个西瓜,预测错了 10 个,错误率就是 10%)。
精度:1 - 错误率(上面的例子中,精度就是 90%)。
残差:回归任务中,模型预测值和真实值的差距。比如预测房价 100 万,实际是 110 万,残差就是 10 万,残差越小模型越好。
训练误差和泛化误差:
训练误差:模型在训练集上的误差(“课后作业” 的错误率)。
泛化误差:模型在新数据(测试集)上的误差(“期末考试” 的错误率)。我们更关心泛化误差,因为模型最终要处理新数据。
损失函数:衡量模型预测偏差的 “工具”。损失函数值越小,说明模型预测得越准。比如用一条直线预测房价,损失函数就是所有点到直线的距离总和,总和越小,直线拟合得越好。
2. 分类任务的专项指标
对于分类任务(比如判断好瓜 / 坏瓜),还有更细致的指标:

TP(真正例):实际是好瓜,模型也预测为好瓜(对的)。
FP(假正例):实际是坏瓜,模型却预测为好瓜(错的)。
TN(真反例):实际是坏瓜,模型也预测为坏瓜(对的)。
FN(假反例):实际是好瓜,模型却预测为坏瓜(错的)。

在此基础上,有两个关键指标:

查准率(P):模型预测的 “好瓜” 中,真正是好瓜的比例(P=TP÷(TP+FP))。比如预测了 10 个好瓜,其中 8 个真的是好瓜,查准率就是 80%。
查全率(R):所有实际好瓜中,被模型正确预测为好瓜的比例(R=TP÷(TP+FN))。比如实际有 10 个好瓜,模型只预测对了 7 个,查全率就是 70%。

查准率和查全率通常 “此消彼长”:想让预测的好瓜尽量都是真的(高查准率),可能会漏掉一些好瓜(低查全率);想把所有好瓜都找出来(高查全率),可能会把一些坏瓜当成好瓜(低查准率)。
3. 评估方法
怎么合理划分训练集和测试集,才能准确评估模型?

留出法:直接把数据集分成两部分,比如 70% 做训练集(教模型),30% 做测试集(考模型)。注意两点:
训练集和测试集的分布要一致(比如好瓜和坏瓜的比例要和原数据集一样),避免偏差。
可以多次随机划分,取平均结果,避免一次划分的运气成分。
交叉验证法:把数据集分成 k 个相似的子集(比如 10 个),每次用 9 个子集训练,1 个子集测试,重复 10 次,最后取 10 次结果的平均值。这种方法更稳定,常用的是 “10 折交叉验证”。
五、模型常见 “毛病” 及解决办法
模型训练时可能会出两种问题:欠拟合和过拟合。
1. 欠拟合:模型 “学不会”
表现:模型在训练集和测试集上误差都很大,连简单的规律都没学会。比如判断西瓜好坏时,模型只看 “色泽”,忽略了 “根蒂”“敲声” 等重要特征,导致预测不准。
解决办法:

给模型更多 “线索”:添加新特征(比如纹理、脐部等)。
让模型更 “聪明”:增加模型复杂度(比如从简单规则升级为更复杂的算法)。
减少约束:如果用了正则化(防止过拟合的技术),可以减小正则化系数,让模型更自由地学习。
2. 过拟合:模型 “学太死”
表现:模型在训练集上误差很小,但在测试集上误差很大。就像学生死记硬背课后题,考试换了新题就不会了。比如模型记住了训练集中每个好瓜的细节,甚至把噪声当成规律(比如误以为 “青绿 + 蜷缩” 一定是好瓜,忽略了其他特征),遇到新西瓜就预测错。
解决办法:

给模型更多 “练习材料”:增加训练数据,让模型见更多情况,减少对噪声的依赖。
给模型 “减负”:删除无关特征(降维),避免模型被干扰信息误导。
加 “约束”:用正则化技术,限制模型参数的大小,防止模型过度学习细节。
团队合作:用集成学习,多个模型一起预测,减少单个模型的偏见。
六、选模型的 “黄金法则
1. 奥卡姆剃刀原理:简单的才是最好的
“如无必要,勿增实体”—— 如果简单模型能解决问题,就不用复杂模型。比如判断西瓜好坏,用 “根蒂蜷缩 + 敲声浊响” 的简单规则就能准确预测,就不用非要用复杂的算法,避免 “杀鸡用牛刀”。
2. 没有免费的午餐(NFL):没有万能算法
不存在一种算法对所有问题都有效。比如 A 算法预测房价很准,但用来判断西瓜好坏可能不如 B 算法。评价算法好坏,必须结合具体任务,脱离实际问题谈 “最好的算法” 都是空谈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93126.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93126.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/93126.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Boost库中boost::function函数使用详解

1. 函数作用 boost::function 是 Boost 库提供的一个 通用函数封装器,可用于存储、传递和调用任意可调用对象(如普通函数、函数指针、Lambda、函数对象、成员函数指针等)。它类似于 C11 及以上标准的 std::function。 作用总结: 可…

SQL Server安全删除数据并释放空间的技术方案

在SQL Server中执行大规模数据删除时,直接使用DELETE语句可能导致日志文件暴涨、事务阻塞和性能下降。以下提供一种安全删除数据并释放磁盘空间的完整方案: 方案核心步骤 -- 设置读未提交隔离级别(避免锁竞争) SET TRAN ISOLATION…

EgoVLA——根据第一视角的人类视频中训练的VLA模型:助力家具组装等人形灵巧操作任务的攻克(利用可穿戴手部追踪)

前言 我在此文《ForceVLA——将具备力感知的MoE整合进π0的动作专家中:从而融合“视觉 语言 力反馈”三者实现精密插拔》的开头说过,我司「七月在线」目前侧重以下两大本体的场景落地 人形层面,侧重 1.1 人形灵巧操作 1.2 人形展厅讲解机械…

厨具新风尚,解锁厨房新体验

在快节奏的现代生活中,厨房已不仅仅是烹饪的场所,更是家庭温馨与创意的源泉。一款好的厨具,不仅能让烹饪变得轻松愉悦,更能为餐桌增添无限风味。今天,就让我们一起走进厨具的新世界,解锁那些令人爱不释手的…

手机长焦进化史:攀过十年,终抵云巅

今天,华为相机解决方案专家熊谌飞在《长焦十年之路对谈》直播中,首次系统揭秘了华为手机长焦技术的十年进化史。从P9双摄到Pura 80系列“一镜双目”,每一代影像旗舰,都有一段鲜为人知的诞生秘辛。不少观众这才恍然大悟&#xff1a…

钙钛矿光伏:十年磨一剑,产业化突围路在何方?

2013年,一种具有高效太阳能转化率、高电荷传输率、低成本、制作简单等优点的新型太阳能电池材料——钙钛矿突然出现在大众视野。相比于又重又硬、转换效率通常只有22%-26%的传统晶体硅太阳能板,钙钛矿太阳能电池薄如蝉翼可弯曲&am…

断言:assert()的实用指南

目录 一、断言概述 二、基本用法 三、工作原理 四、断言的优点 五、启用和禁用断言 六、性能考虑 七、最佳实践 八、示例代码 一、断言概述 assert.h 头文件定义了宏 assert(),用于在运行时验证程序是否符合指定条件。如果条件不满足,程序会报错并…

开发避坑指南(27):Vue3中高效安全修改列表元素属性的方法

需求 Vue3 中如何遍历list并修改list元素的属性的值? 解决办法 1、‌使用 map 方法‌ const newList list.value.map(item > {return {...item,modifiedProperty: newValue // 修改的属性名称和属性值} })Vue 中的 map() 函数是 JavaScript 数组的高阶函数&…

L4 级别自动驾驶 硬件架构设计

L4 级自动驾驶(根据 SAE 标准,属于 “高度自动化”)的核心是系统在特定场景下(如城市道路、高速路)可完全自主完成驾驶任务,无需驾驶员干预,且在系统失效时能自动实现安全降级。其硬件架构需满足…

【网络安全测试】手机APP安全测试工具NowSecure 使用指导手册(有关必回)

以下是 NowSecure安全测试工具 的详细使用指导,涵盖从环境准备、测试配置到报告分析的完整流程,适合团队协作或合规性审计场景: NowSecure 使用指导手册 1. 工具简介 定位:自动化移动应用(Android/iOS)安全…

Matlab(5)进阶绘图

一、Advanced 2D plots1. Logarithm Plotsx logspace(-1,1,1000); % 从-1到1生成等间隔的1000个点 y x .^ 2; subplot(2,2,1); plot(x,y); title(Plot); subplot(2,2,2); semilogx(x,y); title(Semilogx); subplot(2,2,3); semilogy(x,y); title(Semilogy); subplot(2,2,4);…

运维学习Day22——Anisible自动化与基本使用

文章目录01-Ansible 自动化介绍Ansible 自动化介绍手动执行任务和自动化执行任务基础架构即代码Ansible 与 DevOps什么是 ANSIBLE?Ansible 特点Ansible 概念和架构Ansible WayAnsible 用例Ansible 部署准备实验环境控制节点受管节点LinuxWindows网络设备02-Ansible …

Codeforces Deque工艺

题目来源: 问题 - 2128B - Codeforces 这道题有些地方表达的并不是特别准确,首先就是从最左端与最右端移除一个元素,实际含义是从原数组的最左端或者最右段依次取出一个元素构成一个新的数组,使得这个新数组的数组符合题目的“好…

谈谈《More Effective C++》的条款30:代理类

在《More Effective C》的条款30中,Scott Meyers深入探讨了**代理类(Proxy Classes)**的设计与应用。代理类是一种通过重载运算符模拟原始对象行为的设计模式,其核心目标是在不直接暴露原始对象的情况下,提供额外功能、…

实用AI在线开发工具网址汇总(含免费限额,国内可访)

AI在线开发工具 标题分类属性在线开发工具1https://www.builder.io/介绍详见:AI在线编码三剑客对决:Replit/Builder/Blot在线开发工具2https://replit.com/介绍详见:AI在线编码三剑客对决:Replit/Builder/Blot在线开发工具3https…

react+vite来优化下每次使用hook函数都要引入的情况

前言:react项目中,每个页面都得引入react/react-dom等元素,就像uniapp的项目中得onload,onshow等生命周期一样,这里也可以用vite的插件:unplugin-auto-import 来解决我们每次都需要调用才能使用hook方法的问题。安装&a…

【排序算法】⑤冒泡排序

系列文章目录 第一篇:【排序算法】①直接插入排序-CSDN博客 第二篇:【排序算法】②希尔排序-CSDN博客 第三篇:【排序算法】③直接选择排序-CSDN博客 第四篇:【排序算法】④堆排序-CSDN博客 第五篇:【排序算法】⑤冒…

如何使用gpt进行模式微调(2)?

对 GPT(Generative Pre-trained Transformer)类大模型进行微调(Fine-tuning),是将其适配到特定任务或领域的关键步骤。以下是 ​​全流程指南​​,涵盖方法选择、数据准备、训练配置、评估部署等核心环节&a…

基于飞算JavaAI实现图书管理系统框架部署

摘要 本文详细介绍了如何利用飞算JavaAI技术实现图书管理系统的框架部署。首先阐述了飞算JavaAI的基本概念、特点和优势,接着对图书管理系统的需求进行分析,然后按照软件开发流程,从系统设计、代码生成、框架搭建到部署测试,逐步展…

ODE-by-Matlab-01-人口增长模型

博客地址:Matlab微分方程01-模型 马尔萨斯模型 马尔萨斯模型是人口增长模型中最简单的模型,它由英国牧师家马尔萨斯在1798年提出。 他利用在教堂工作的机会,收集英国100多年的人口数据,发现人口的相对增长率是常数。 在这个基础…