运筹视角下,体系化学习机器学习算法原理的实践和总结

文章目录

  • 引言
  • 目标设计
  • 目标实践
  • 文章汇总
  • 经验总结
  • 一则预告

引言

上两周总结了我在体系化学习运筹学基础知识方面的个人经验,看过那篇文章的人可能知道,今年我还花了很多时间学习机器学习中各种模型的算法原理。

在工业应用中,机器学习和运筹优化之间的交互是非常普遍的,很多场景都需要先用机器学习做预测,然后用运筹优化做决策。因此,机器学习技术对于像我这样的运筹从业者来说,也是需要了解甚至掌握的内容。

昨天把关于SVM的文章发表后,此前拟定的机器学习的体系化学习计划就算全部完成了。所以这篇文章来总结一下,机器学习体系化学习方面的个人经验。

一开始回顾今年在机器学习上的学习计划和完成度时,吓了一跳,因为里面的内容就只有贝叶斯、决策树、决策树集成、神经网络和SVM这5项。

查阅了此前的文章发表记录后才发现,有些内容是我在2022下半年的时候,就已经开始在做了。为了能体系化地梳理内容,本篇文章会把那些文章放到一起去总结。

正文见下。

目标设计

以下是我制定的学习计划和执行记录,其中带*的日期表示2022年,其他日期表示2023年。
在这里插入图片描述

作为一个机器学习方向的小白,首先需要了解机器学习中的基本概念。私以为,其中最重要的内容是如何评估一个模型的好坏,即性能指标。在实际场景时,性能指标不仅用于评估机器学习模型,还经常应用于其他模型的效果评估。

掌握基本概念后,再来学习各种不同的机器学习模型。从图上可以看出,我2023年规划的学习内容主要是经典机器学习模型,而不是现在应用更多的深度神经网络。这不表示学习深度神经网络不重要,而仅仅是因为在机器学习方面我基础薄弱,需要先打好基础。

最后,图中所示的几项内容肯定不是机器学习包含的全部内容,只是作为基础知识存在于我机器学习计划的第一阶段。这里还需要说明的是,机器学习之决策树集成模型中的xgboost和lightgbm在工业场景中的应用频率是非常高的,对于不太复杂的预测问题,它已经可以完美完成任务了。感兴趣的读者可以着重学习一下。

目标实践

对于机器学习中的每个模型,我给自己预设的目标是两周时间内学习完,最终在今年年中完成所有内容的学习。

从时间完成度来看,除SVM外,其他内容都按时完成了——SVM一直拖到昨天才完成,主要是因为之前已经放弃学习这个了,上个月发现除SVM外的机器学习和运筹优化学习任务都已经提前完成了,这才想着把SVM补上。所以,也算不上超时。

关于完成模型学习,我的定义是,写一篇与模型内容对应的文章,里面至少应该包含3个模块:

第一个是用自己的逻辑描述清楚算法原理。我对自己的要求是,让算法小白都能看懂内容,如果未来真的有机会教书育人,这应该是我宝贵的财富了;

第二个是自己编写代码实现算法全过程。我对自己的要求是,要使用Python实现模型逻辑,并和sklearn的结果做对比,以验证自己是否真的理解了模型的算法原理。

第三个是从运筹角度理解模型的算法原理。我对自己的要求是,对各种预测模型,都使用数学建模(优化变量/目标函数/约束条件)+算法求解这种运筹范式去理解它们。

从内容完成度来看,基本上每一篇模型相关的文章都达到预期了,这个方面,整体是令人满意的。

文章汇总

本节汇总了我体系化学习机器学习算法原理的相关文章和链接,并按照此前的目标设计进行了分类。

分类文章和链接
概念-性能指标机器学习性能指标
概念-交叉验证以K近邻算法为例,使用交叉验证优化模型最佳参数
概念-网格搜索以K近邻算法为例,使用网格搜索GridSearchCV优化模型最佳参数
模型-K近邻K近邻分类算法的Python代码实现
模型-线性模型线性回归和Python代码实现
线性模型优化:岭回归和Lasso回归
模型-逻辑回归逻辑回归模型和Python代码实现
模型-贝叶斯朴素贝叶斯分类算法和实例演示
模型-决策树决策树入门、sklearn实现、原理解读和算法分析
模型-决策树集成随机森林原理和性能分析
花了3周理解的xgboost算法原理
模型-神经网络多层感知机(MLP)算法原理和代码实现
模型-SVM半生不熟的SVM算法原理解读

我突然发现,我的链接打不开了,具体原因我也不太清楚。想看有链接的同学,可以参考我发布在同名公众号(我在开水团做运筹)上的同款文章。

经验总结

针对机器学习算法原理的体系化学习和感悟,总结如下:

首先,机器学习完美诠释了建模的重要性。 机器学习要解决的问题只有就分类和回归两种场景,但是预测模型就非常多了。从不同角度出发,可以得到不同的最优化模型,然后针对模型的个性化特点,选用不同的求解算法甚至是单独开发和改进出新的算法,最终得到不同的预测效果。而这一切的根源,就在于数学建模上的差异。

其次,尽量从运筹角度去理解机器学习的算法原理。 学习机器学习对我个人来说,可以理解为技术栈的拓宽,所以不需要像专业大佬一样全方位无死角地理解。为了能更好地将机器学习内容整合到我已有的知识框架中,我始终使用数学建模+算法求解这种运筹范式去学习各种模型。一方面,可以降低我学习的难度;另一方面,还能提升我学习的乐趣。

最后,心态上要能沉得下去。 零零散散的,我在机器学习上花了一年半左右的时间了。坦白来说,好像也没有带来什么直观的正向改变。但在学习过程中,我心态一直很平稳,不奢望有立竿见影的效果,甚至感觉只给自己画一张小饼;逐个完成那些预设的任务后,慢慢就会有一点点成就感,进而转化为继续学习的动力,然后循环往复。

一则预告

明年在拓宽技术栈方面的文章主题,偷偷预告一下,大概率是因果推断,即,判断某个动作(treatment)和最终结果之间的因果效应。

选择这个主题的主要原因是,我目前在工作上(最优定价)很需要因果推断方面的相关知识。希望明年能小有所得,继续给大家分享我的学习过程和经验总结。

最后的最后,依然是期待大家都能持之以恒地做一件件小事,积少成多,厚积薄发。

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

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

相关文章

Spring基础IoC(控制反转)与DI(依赖注入)

1. Spring 基础 1.1 什么是Spring框架?它能带来那些好处? Spring 是一个开源的轻量级的 Java 开发框架,可以帮助开发人员更高效的进行开发,主要优势在于简化开发和框架整合。 Spring框架整合了很多模块,这些模块可以…

智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于厨师算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.厨师算法4.实验参数设定5.算法结果6.参考文献7.MA…

2023/12/21作业

思维导图 代码 .text .global _start _start: 灯1 gpio时钟使能 [4]->1 0x5000A28 LDR R0,0x50000A28 指定寄存器地址 LDR R1,[R0]将寄存器取出放到R1 ORR R1,R1,#(0x1<<4)将第四位设置为1 STR R1,[R0]读取R0寄存器到R1 PE…

传统项目基于tomcat cookie单体会话升级分布式会话解决方案

传统捞项目基于servlet容器 cookie单体会话改造分布式会话方案 ##引入redis,spring-session依赖 <!--redis依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>&…

OKCC语音机器人的人机耦合来啦

目前市场上语音机器人的外呼形式基本就分为三种&#xff0c;一种纯AI外呼&#xff0c;第二种也是目前主流的AI外呼转人工。那么第三种也可能是未来的一种趋势&#xff0c;人机耦合&#xff0c;或者也叫人机协同。 那么什么是人机耦合呢&#xff1f; 人机耦合是为真人坐席创造相…

Featured Based知识蒸馏及代码(3): Focal and Global Knowledge (FGD)

文章目录 1. 摘要2. Focal and Global 蒸馏的原理2.1 常规的feature based蒸馏算法2.2 Focal Distillation2.3 Global Distillation2.4 total loss3. 实验完整代码论文: htt

逻辑卷学习

磁盘分区的缺点 1.无法扩容 2.必须使用的空间 3.没有备份: 一、逻辑卷的定义 LVM 是 Logical Volume Manager 的简称&#xff0c;译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备&#xff0c;并允许用户动态调整文件系统的大小…

【电商项目实战】MD5登录加密及JSR303自定义注解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《电商项目实战》。&#x1f3af;&#x1f3af; &am…

鸿蒙开发之崩溃信息收集FaultLogger

前申&#xff1a;果然系统的API没有让我失望&#xff0c;日志完全看不出来崩溃原因所在 一、使用 logCrash() {FaultLogger.query(FaultLogger.FaultType.JS_CRASH,(err,val) > {if (err) {console.log(fault log get an errJSON.stringify(err))return}let len val.lengt…

【C++】map和set

目录 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 4.set的介绍 接口count 接口lower_bound和upper_bound insert插入接口 5.map的介绍 接口insert 接口operator[] 6.multiset 7.multimap 8.map和set相关OJ 1. 关联式容器 vector 、 list 、 deque、forward_li…

electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新

一、前言 由于electron在macOS下的坑太多&#xff0c;本文不可能把所有的问题都列出来&#xff0c;也不可能把所有的解决方案贴出来&#xff1b;本文也不太会讲解每一个配置点为什么要这么设置的原因&#xff0c;因为有些点我也说不清&#xff0c;我尽可能会说明的。所以&…

运维实践|MySQL查询时如何正确使用正则表达式

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注、&#x1f44d;点赞、&…

Google Play上架:2023年度总结报告

今天是2023年的最后一个工作日&#xff0c;今天用来总结一下2023年关于谷歌商店上架的相关政策改动和对应的拒审解决方法。 目录 政策更新与改动2023 年 2 月 22 日2023 年 4 月5 日2023 年 7 月 12 日2023 年 10 月 25 日 开发者计划政策拒审邮件内容和解决办法 政策更新与改…

vue项目hdr格式文件放在assets下rgbeloader.load获取不到问题解决

如下图 我再App.vue组件中这样写 艾特符号定位 告诉系统 要src下的assets下的xhdr下的xidis.hdr 但是运行项目 他会告诉你找不到这个资源 我们改一下 我们组件时 App.vue 与assets同在 src目录下 用 ./去找 这样也是找不到的 我们需要将它放在静态资源包public下 public路…

【C++干货铺】STL中set和map的介绍和使用

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 序列式容器 关联式容器 键值对 树形结构的关联式容器 set set的介绍 set的使用 set的模板参数列表 set的构造 ​编辑 set的容量 set的删除和查找 mult…

HPM6750开发笔记《开发环境的搭建》

目录 一&#xff0c;下载完整的HPM—SDK 二&#xff0c;安装硬件驱动 二&#xff0c;软件激活 三&#xff0c;创建工程 1.用文档中给的方法创建工程&#xff1a; 2.用sdk_env_v1.3.0中提供的工具创建工程&#xff1a; 一&#xff0c;下载完整的HPM—SDK 下载网址&#x…

Jmeter 分布式压测

‍你可以使用 JMeter 来模拟高并发秒杀场景下的压力测试。这里有一个例子&#xff0c;它模拟了同时有 5000 个用户&#xff0c;循环 10 次的情况‍。 请求默认配置 token 配置 秒杀接口 结果分析 但是&#xff0c;实际企业中&#xff0c;这种压测方式根本不满足实际需求。下面介…

XPM_CDC_SINGLE(UG974)

Parameterized Macro: Single-bit Synchronizer&#xff08;参数化宏&#xff1a;单比特同步器&#xff09; MACRO_GROUP: XPMMACRO_SUBGROUP: XPM_CDCFamilies: UltraScale, UltraScale 1、 Introduction&#xff08;介绍&#xff09; 此宏将一个一位信号从源时钟域同步到目…

医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码

医院绩效定义&#xff1a; “医院工作量绩效方案”是一套以工作量&#xff08;RBRVS&#xff0c;相对价值比率&#xff09;为核算基础&#xff0c;以工作岗位、技术含量、风险程度、服务数量等业绩为主要依据&#xff0c;以工作效率和效益、工作质量、患者满意度等指标为综合考…

Python 操作 MySQL:使用 mysql-connector-python 操作 MySQL 数据库

大家好&#xff0c;我是水滴~~ 当涉及到使用 Python 操作 MySQL 数据库时&#xff0c;mysql-connector-python 库是一个强大而常用的选择。该库提供了与 MySQL 数据库的交互功能&#xff0c;使您能够执行各种数据库操作&#xff0c;如连接数据库、执行查询和插入数据等。在本文…