DeepSeek基础之机器学习
文章目录
- 一、核心概念总结
- (一)机器学习基本定义
- (二)基本术语
- (三)假设空间
- (四)归纳偏好
- (五)“没有免费的午餐”定理(NFL 定理)
- 二、重点理解与思考
- (一)泛化能力的重要性
- (二)归纳偏好的影响
- (三)NFL 定理的启示
- 三、应用场景联想
- (一)电商推荐系统
- (二)医疗诊断
- 四、机器学习的基本流程
- (一)问题定义
- (二)数据收集与预处理
- (三)模型选择与训练
- (四)模型评估与优化
- (五)模型部署与应用
- 五、机器学习的挑战
- (一)数据质量
- (二)模型选择与优化
- (三)过拟合与欠拟合
- (四)可解释性
- 六、机器学习的未来发展方向
- (一)深度学习的进一步发展
- (二)强化学习的广泛应用
- (三)跨学科融合
- (四)伦理与可持续性
一、核心概念总结
(一)机器学习基本定义
机器学习致力于研究如何通过计算机模拟或实现人类的学习行为,以获取新的知识或技能,并不断改善自身性能。简单来说,就是让计算机从数据中自动学习规律,进而对未知数据进行预测和判断。
(二)基本术语
术语 | 定义 | 示例 |
---|---|---|
数据集 | 一组记录的集合 | 包含多个学生成绩、身高、体重等信息的表格 |
示例/样本 | 数据集中的每条记录 | 表格中的每一行,代表一个学生的具体信息 |
属性/特征 | 反映事件或对象某方面表现或性质的事项 | 学生的成绩、身高、体重等 |
属性值 | 属性上的取值 | 成绩为 80 分,身高为 175cm |
属性空间/样本空间/输入空间 | 属性张成的空间 | 以成绩和身高为坐标轴构成的二维空间 |
特征向量 | 与示例对应的空间中的点 | 在上述二维空间中代表某个学生的坐标点 |
维数 | 描述示例的属性个数 | 如果用成绩、身高、体重三个属性描述学生,则维数为 3 |
学习/训练 | 从数据中学得模型的过程 | 使用学生的历史成绩数据训练一个预测成绩的模型 |
训练数据 | 训练过程中使用的数据 | 上述用于训练成绩预测模型的学生历史成绩数据 |
假设 | 学得模型对应的数据潜在规律 | 成绩预测模型所依据的数学公式或算法 |
标记 | 关于示例结果的信息 | 判断学生是否优秀的“是”或“否” |
样例 | 拥有标记信息的示例 | 带有“优秀”或“非优秀”标记的学生信息记录 |
分类 | 预测离散值的学习任务 | 判断邮件是垃圾邮件还是正常邮件 |
回归 | 预测连续值的学习任务 | 预测股票价格、房屋价格等 |
聚类 | 将训练样本分成若干簇的任务 | 将客户按照消费习惯分成不同的群体 |
监督学习 | 训练数据包含标记信息的学习 | 基于有标记的图像数据进行图像分类 |
无监督学习 | 训练数据不包含标记信息的学习 | 对无标记的文本数据进行聚类 |
泛化能力 | 模型适用于新样本的能力 | 一个成绩预测模型能准确预测未参与训练的学生的成绩 |
(三)假设空间
学习过程可看作在所有假设组成的空间中搜索与训练集匹配的假设的过程。假设空间的规模由属性的取值范围和特殊情况(如通配符、无合适情况)决定。例如,在判断西瓜是否为好瓜的问题中,考虑色泽、根蒂、敲声三个属性,每个属性有若干取值,再加上通配符和无好瓜的情况,就构成了一个特定规模的假设空间。
(四)归纳偏好
由于可能存在多个与训练集一致的假设,学习算法需要有归纳偏好来选择假设。归纳偏好体现了学习算法在假设空间中选择假设的启发式或“价值观”。常见的归纳偏好原则如“奥卡姆剃刀”,即选择最简单的假设,但在机器学习中,“简单”的定义并非总是清晰明确。
(五)“没有免费的午餐”定理(NFL 定理)
该定理表明,在所有问题出现机会相同或所有问题同等重要的前提下,无论学习算法有多聪明或笨拙,它们的期望性能是相同的。但在实际应用中,我们通常只关注特定的问题,所以 NFL 定理提醒我们,脱离具体问题讨论学习算法的优劣是没有意义的。
二、重点理解与思考
(一)泛化能力的重要性
泛化能力是衡量一个机器学习模型好坏的关键指标。一个只在训练数据上表现良好,但在新数据上表现不佳的模型是没有实际应用价值的。在实际应用中,我们往往无法获取所有的数据,因此模型需要能够从有限的训练数据中学习到普遍的规律,以应对未知的数据。为了提高模型的泛化能力,我们可以采用多种方法,如增加训练数据的多样性、进行正则化处理等。
(二)归纳偏好的影响
归纳偏好直接影响学习算法的性能。不同的归纳偏好会导致学习算法选择不同的假设,从而产生不同的模型。例如,在多项式回归中,如果我们的归纳偏好倾向于简单的模型,可能会选择低阶多项式;如果更注重对训练数据的拟合程度,可能会选择高阶多项式。因此,在选择学习算法和调整算法参数时,需要考虑归纳偏好与具体问题的匹配程度。
(三)NFL 定理的启示
NFL 定理让我们认识到,没有一种学习算法能够在所有问题上都表现最优。在实际应用中,我们需要根据具体问题的特点选择合适的学习算法。例如,对于图像识别问题,深度学习算法可能表现更好;对于一些简单的分类问题,决策树算法可能更合适。同时,我们也可以通过集成多种学习算法的方式,综合利用它们的优势,提高模型的性能。
三、应用场景联想
(一)电商推荐系统
在电商推荐系统中,数据集可以是用户的浏览记录、购买记录、评价信息等。属性包括商品的类别、价格、销量等。通过监督学习,利用这些数据训练一个推荐模型,预测用户可能感兴趣的商品。模型的泛化能力很重要,因为用户的行为和兴趣是不断变化的,模型需要能够适应新的用户和商品。同时,在选择学习算法和调整模型参数时,需要考虑归纳偏好,例如更倾向于推荐热门商品还是个性化商品。
(二)医疗诊断
在医疗诊断中,数据集可以是患者的病历、检查报告等。属性包括症状、体征、实验室检查结果等。分类任务可以是判断患者是否患有某种疾病,回归任务可以是预测疾病的严重程度。由于医疗数据的复杂性和多样性,模型需要有良好的泛化能力。同时,归纳偏好也需要谨慎选择,例如在诊断疾病时,需要平衡误诊率和漏诊率。
四、机器学习的基本流程
(一)问题定义
- 明确任务类型:首先要确定面临的是分类、回归、聚类等哪种类型的任务。例如在判断邮件是否为垃圾邮件的场景中,这就是一个分类任务;而预测房屋价格则属于回归任务。
- 确定输入输出:清晰界定模型的输入数据和期望得到的输出结果。以图像识别为例,输入是图像数据,输出是图像所属的类别。
(二)数据收集与预处理
- 数据清洗:去除数据中的噪声,例如错误的记录、异常值等;填补缺失值,可以采用均值、中位数、众数填补,或者使用更复杂的机器学习算法进行预测填补。
- 数据转换:进行归一化、标准化操作,使不同特征的数据具有相同的尺度,有助于模型的训练和收敛。例如,将特征值缩放到 [0, 1] 区间的归一化,或者使特征具有零均值和单位方差的标准化。
- 特征工程:进行特征选择,挑选出对模型预测最有帮助的特征,减少冗余信息;还可以进行特征构造,结合已有的特征创造出新的特征,以提高模型的表达能力。
(三)模型选择与训练
- 选择合适的算法:根据问题的类型和数据的特点,选择合适的机器学习算法,如决策树、神经网络、支持向量机等。例如对于简单的分类问题,决策树算法可能易于理解和实现;而对于复杂的图像和语音处理任务,神经网络通常表现更好。
- 使用训练数据训练模型:将预处理好的训练数据输入到选定的模型中,通过不断调整模型的参数,使模型能够尽可能准确地拟合训练数据。
(四)模型评估与优化
- 使用验证集评估模型性能:使用验证集来评估模型的性能,常用的评估指标包括准确率、召回率、F1 值、均方误差等。根据不同的任务和需求,选择合适的评估指标。
- 调整超参数,优化模型:超参数是在模型训练前需要手动设置的参数,如学习率、树的深度等。通过调整超参数,找到使模型性能最优的参数组合。
(五)模型部署与应用
- 将训练好的模型部署到实际应用中:将训练好的模型集成到实际的系统中,使其能够处理真实的数据。
- 持续监控模型性能,必要时重新训练:在实际应用中,持续监控模型的性能,当数据分布发生变化或者模型性能下降时,及时重新训练模型以保证其有效性。
五、机器学习的挑战
(一)数据质量
- 数据噪声:数据中存在错误或异常的值,会干扰模型的学习,导致模型性能下降。
- 缺失值:数据中某些属性的值缺失,可能会影响模型对数据的理解和分析。
- 不平衡数据:不同类别的样本数量差异较大,会使模型倾向于多数类,而忽略少数类,导致对少数类的预测性能较差。
(二)模型选择与优化
面对众多的机器学习算法,如何选择合适的算法来解决具体的问题是一个挑战。同时,每个算法都有许多超参数需要调整,如何找到最优的超参数组合也是一个难题。
(三)过拟合与欠拟合
- 过拟合:模型在训练集上表现很好,但在测试集上表现差,原因是模型过于复杂,学习到了训练数据中的噪声和细节,而没有学到数据的普遍规律。
- 欠拟合:模型在训练集上表现就不好,说明模型过于简单,无法捕捉到数据的复杂特征和规律。
(四)可解释性
复杂的模型,如深度学习模型,通常由大量的参数和复杂的网络结构组成,很难解释模型为什么做出这样的预测,这在一些对解释性要求较高的领域,如医疗、金融等,会限制模型的应用。
六、机器学习的未来发展方向
(一)深度学习的进一步发展
不断探索和开发更强大的模型架构,提高模型的性能和效率。例如,Transformer 架构在自然语言处理领域取得了巨大的成功,未来可能会有更多创新的架构出现。
(二)强化学习的广泛应用
强化学习在自动驾驶、智能决策等领域具有巨大的应用潜力。通过智能体与环境的交互和试错学习,找到最优的行为策略,未来将在更多的实际场景中得到应用。
(三)跨学科融合
机器学习将与生物学、物理学等其他领域进行更深入的融合,解决一些复杂的科学问题。例如,在生物学中,利用机器学习分析基因序列、蛋白质结构等;在物理学中,辅助进行实验数据分析和模型构建。
(四)伦理与可持续性
随着机器学习的广泛应用,需要关注其伦理问题和社会影响,如数据隐私、算法偏见、就业影响等。同时,也要考虑机器学习的可持续性,降低计算资源的消耗和对环境的影响。
相关文章:
DeepSeek基础之机器学习
文章目录 一、核心概念总结(一)机器学习基本定义(二)基本术语(三)假设空间(四)归纳偏好(五)“没有免费的午餐”定理(NFL 定理) 二、重…...

QSplashScreen --软件启动前的交互
目录 QSplashScreen 类介绍 使用方式 项目中使用 THPrinterSplashScreen头文件 THPrinterSplashScreen实现代码 使用代码 使用效果 QSplashScreen 类介绍 QSplashScreen 是 Qt 中的一个类,用于显示启动画面。它通常在应用程序启动时显示,以向用户显…...
Python 循环嵌套
Python 循环嵌套 引言 在编程语言中,循环嵌套是一种常见且强大的编程技术。它允许开发者重复执行一段代码块,并在每个循环迭代中执行另一个循环。在Python中,循环嵌套广泛应用于数据分析和算法实现等领域。本文将详细介绍Python循环嵌套的概念、语法以及应用场景。 循环嵌…...

性能测试项目实战
项目介绍和部署 项目背景 轻商城项目是一个现在流行的电商项目。我们需要综合评估该项目中各个关键接口的性能,并给出优化建议,以满足项目上线后的性能需要。 项目功能架构 前台商城:购物车、订单、支付、优惠券等 后台管理系统:商…...

Web自动化之Selenium实战案例2:东方财富网股吧评论爬取
上一篇文章,我们使用Selenium完成了网页内文件的自动下载,本文我们将使用Selenium来爬取东方财富网股吧内笔记的评论数据。 网页内容分析 网页内容的分析是web自动化中的关键一步。通过分析网页结构,我们可以确定需要抓取的数据位置以及操作元素的方式。…...

【Java八股文】09-计算机操作系统面试篇
文章目录 计算机操作系统面试篇用户态和内核态的区别?用户态和内核态的区别? 进程管理线程和进程的区别是什么?进程,线程,协程的区别是什么?创建一个协程的过程线程运行过程中申请到的东西在切换时是否全部…...

【Redis】在Java中以及Spring环境下操作Redis
Java环境下: 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…...

MFC—加法器
1.需要为编辑框添加变量 2.在cpp文件中的按钮中添加代码 void CMFCAddtionDlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码UpdateData(true);//把控件里的值更新给变量m_add m_add1 m_add2;//加法UpdateData(false);//把控件相加的值赋值给控件 }...

SpringBoot五:Web开发
精心整理了最新的面试资料,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 要解决的问题 导入静态资源首页jsp,模板引擎Thymeleaf装配扩展SpringMVC增删改查拦截器国际化(非重点) 可以使用以下方式处理静态…...

电机控制的空间矢量调制 (SVPWM)
目录 概述 1 电机控制的空间矢量调制 (SVPWM)介绍 2 实现原理 2.1 设计要求 2.2 SVPWM 的实现 3 SVPWM的C语言 3.1 代码文件 3.2 STM32G4平台上验证 4 源代码文件 概述 本文主要介绍电机控制的空间矢量调制 (SVPWM),空间矢量调制 (SVPWM) 是感应电机和永磁…...
jupyterhub on k8s 配置用户名密码 简单版
如果只是小组内使用 不想共用密码 也不想搞复杂认证方案 那么就直接通过map(用户名,密码md5值)来制定密码 config.yaml部分内容 hub:config:JupyterHub:shutdown_on_logout: true # 用户logout 自动stop jupyter pod,家目录下所有文件会被保存到pvc 即启动后之前家目录下…...
c++笔试准备
一、 输入输出 1.多组数据【while】 cin #include <iostream> using namespace std;int main() {int a, b;while (cin >> a >> b) { // 当读取到EOF时,循环自动终止cout << a b << endl;}return 0; }getline #include <iostrea…...
【Docker】如何在Linux、Windows、MacOS中安装Docker
Linux安装Docker 在终端中执行一键安装脚本命令安装dockersudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun1.1 配置docker镜像源 在终端执行 一行命令,编辑配置文件sudo tee /etc/docke…...

欧拉回路与哈密尔顿回路: Fleury算法与Hierholzer 算法(C++)
图论中的回路是指一个路径, 它从某个顶点开始, 经过所有边恰好一次, 并回到起始顶点. 定义 欧拉回路: 从一个顶点出发, 经过每条边恰好一次, 并且最终回到起始顶点. 哈密尔顿回路: 从一个顶点出发, 经过每个顶点恰好一次, 并且最终回到起始顶点. 欧拉路径: 从一个顶点出发, …...
JavaSE学习笔记26-集合(Collection)
集合 Java 中的集合(Collection)是 Java 标准库中非常重要的一部分,用于存储和操作一组对象。Java 集合框架(Java Collections Framework)提供了一套丰富的接口和类,用于处理各种数据结构,如列…...
本地开发用ASP.NET Core Web API项目创建及测试
1. 服务端代码(C#) 1.1 创建ASP.NET Core Web API项目 打开Visual Studio 2022。 选择“创建新项目”。 选择“ASP.NET Core Web API”模板,点击“下一步”。 输入项目名称(如OracleApi),选择项目位置&…...

Redis——用户签到BitMap,UV统计
目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器(Bloom Filter) BitMap介绍 Redis中的使用 Redis功能示例 添加: 获取: 批量获取: java中实现 统计本月连续签到次数 UV统计 UV 统计…...

一文详解U盘启动UEFI/Legacy方式以及GPT/MBR关系
对于装系统的老手而说一直想研究一下装系统的原理,以及面对一些问题时的解决思路,故对以前的方法进行原理上的解释,主要想理解其底层原理。 引导模式 MBR分区可以同时支持UEFI和Legacy引导,我们可以看一下微pe制作的启动盘&#…...

Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果
目录 一、基本的后处理流程 - 以将画面转化为灰度图为例 1. C#调用shader 2. Shader实现效果 二、Bloom辉光效果 1. 主要变量 2. Shader效果 (1)提取较亮区域 - pass1 (2)高斯模糊 - pass2&3 (3ÿ…...

小迪安全-24天-文件管理,显示上传,黑白名单,访问控制
上节课回顾,token问题 没有更新token值,造成了复用 加上这段代码就好了,就不会复用了 文件管理-文件上传 upload.html文件,找ai生成就行 uoload.php接受文件上传的信息 这里在写个临时文件存储换个地方 因为上面临时文件存在c盘…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...