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盘…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
