【初/高中生讲机器学习】0. 本专栏 “食用” 指南——写在一周年之际⭐
创建时间:2025-01-27
首发时间:2025-01-29
最后编辑时间:2025-01-29
作者:Geeker_LStar
你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~
我是 Geeker_LStar,一名高一学生,热爱计算机和数学,我们一起加油~!
⭐(●’◡’●) ⭐
那就让我们开始吧!
好耶!!(撒花)
这个专栏一岁啦!!从初三寒假写到高一寒假,它见证了我一年的成长。
一周年之际,也算是完结之际,这篇文章是对整个专栏的介绍~!
关于这个专栏的 2W1H
- What:这个专栏是什么?
- Why:为什么我会写这个专栏?
- How:如何使用这个专栏?
- Passion Is All You Need.
What:这个专栏是什么?
正如标题中【】框起来的部分,这是一个由高中生写的机器学习专栏。
这个专栏从 2024.01.29 开始更新,这篇介绍写于 2025.01.29,恰好是一周年,也恰好是专栏(第一次)完结的时间。
这个专栏的宗旨是 “用最具象的方式讲最抽象的东西”。(此处的 “抽象” 有两层意思啊不是(
专栏中每一篇文章我都写得很认真,每一篇的思路链条都经过了一次次地修改和完善。除了对算法和公式的讲解,我也会加入自己在学习这个算法的时候遇到的问题,以及我更多的思考。
我努力把每个算法背后的 motivation 展现出来,在我看来,这是一个算法最核心的东西。理解了 motivation,数学推导也就没有那么难了。
这是专栏中所有文章的合集:
【机器学习】全系列合集,戳这里!(更新中)
\begin 注意:
序号 3-15 的文章是初三(主要是初三寒假)的时候写的,可能会出现一些漏洞(理解 & 符号使用 & 公式,等等很多方面),如果觉得有问题欢迎找我!!! 这部分的文章会在后面的一年中进行更多的打磨和修改!
序号 15 往后的文章主要是高一上学期写的,相对来讲会更专业一些~后面也会进行一些打磨!
\end 注意
(噗哈哈哈这个 \begin 和 \end 不是渲染的问题,我就是这么打的))
Why:为什么我会写这个专栏?
——因为我觉得现有的机器学习资料对初学者太不友好了😭。
“默认” 的数学基础、堆在一起还缺乏解释的公式,无处不在的 “显然” 和 “省略”…
这真的会让人爆炸的🤯,我初学机器学习的那两个月几乎每天都处在这种 “爆炸” 当中。
所以我想写一点对初学者,对很多和我一样的初学者友好的东西,说得再直白点就是让人能看懂的东西。包括但不限于轻松的语言风格,丰富具体的例子,包含详细解释的数学推导,等等。
这个想法在当时可以说是一种冲动,这种冲动大约持续了一个月,随后则成为了一种习惯——在后来的十一个月当中。
That’s all.
接着,我们来说点执行层面的事情(???bruh 这个词为什么这么熟悉)——这个专栏应该怎么看?以什么样的顺序看?每一篇文章有没有具体需要注意的点?
How:如何使用这个专栏?
好呀~那我们就来聊聊具体应该如何使用这个专栏吧!
首先,在深入学习每一个算法之前,你需要对机器学习的一些基础知识有一个大致的了解。
嗯…这个专栏的第一、二篇文章一直没有写,其实它们就是给 “机器学习概述” 留的位置啦!等我写好了会放在这里的!
不过其实,虽然现在还没写好,但是写过的一些内容也涵盖了机器学习的基础知识,如下啦~
用于参数估计(模型优化)的两大方法:
12. 似然函数和极大似然估计:原理、应用与代码实现
15. EM 算法一万字详解!一起来学!
一些可以评估模型性能的指标:
6. 分类算法中常用的模型评价指标有哪些?here!
11. 回归算法中常用的模型评价指标有哪些?here!
确定模型超参数的方法:
7. 交叉验证是什么?有哪些?怎么实现?来看!
同时,还可以简单了解一下熵的概念,有助于更好地理解后面具体算法中的内容:
22. 信息论基础:信息熵、交叉熵、相对熵
okay!把这些看完之后,你对机器学习应该已经有了一个不错的了解!接下来我们可以进入具体算法的研究了…
先从监督学习开始吧!
不妨让线性回归成为第一个算法,这估计是最简单的一个算法了:
10. 新手向,线性回归算法原理一篇吃透!
接着我们可以学习一下 KNN,它是最简单的分类算法:
8. KNN 算法原理 & 实践一篇讲清!
里面 KD-tree 相关的部分如果看不懂可以先跳过。
接下来可以看一看朴素贝叶斯,核心公式只有一个,相对来讲是比较简单的:
5. 从概率到朴素贝叶斯算法,一篇带你看明白!
嗷,后面的部分会变得稍微难一些。
逻辑回归是用得很广的分类模型,公式比前面几个稍多一些,但难度不大:
14. 手撕公式,一篇带你理解逻辑回归!
从逻辑回归出发,我们可以拓展到更为一般化的最大熵原理:
23. 最大熵模型详解+推导来啦!解决 why sigmoid!
然后我们来看一个非常经典的分类模型,也是我学的第一个模型——支持向量机:
3. 支持向量机(SVM)一万字详解!超全超详细超易懂!
注意,支持向量机对偶问题那部分很难,可以 jump jump jump()
ok 呀,接下来我们进入树模型的部分,树模型是机器学习中很重要的组成部分。
first 是基础的决策树,比较直观,公式不难:
13. 决策树算法一万字详解!一篇带你看懂!
决策树之后就是绕不开的集成学习。这里可以先了解一下偏差—方差分解,理解集成学习出现的原因:
24. 从偏差—方差分解到集成学习!包全的!
其中的很多数学细节可以跳过。
然后可以分别学习 Bagging 和 Boosting。建议先学 Bagging,因为数学部分比较简单:
28. 集成学习之 Bagging & 随机森林!
然后是 Boosting:
25. AdaBoost 算法详解+推导来啦!
26. 梯度提升树 GBDT 超详细讲解!
oh,接下来就是更为进阶的主题了——概率图模型。
概率图模型可以分为贝叶斯网络和马尔可夫网络两个部分去学,建议先从贝叶斯网络开始:
27. 贝叶斯网络详解!超!系!统!
这个里面也写了概率图模型的介绍。
贝叶斯网络的一大实例是经典的标注算法隐马尔可夫模型:
20. 隐马尔可夫模型好难?看过来!(上篇)
21. 隐马尔可夫模型好难?看过来!(下篇)
学完贝叶斯网络,再来看看它的另一半——马尔可夫网络:
29. 马尔可夫随机场 2w 字详解!超!系!统!
条件随机场是马尔可夫网络的实例,也是经典的标注算法之一:
30. 理解条件随机场最清晰的思路!(上篇)
31. 理解条件随机场最清晰的思路!(下篇)
好耶!!学完这些,基本的监督学习算法你就已经全都 get 到啦!!!
接下来我们进入无监督学习吧!
无监督学习的算法相对少一些。
我们可以先了解一下几种经典的聚类算法,聚类比较简单,不涉及太多的数学:
19. 各种经典聚类算法,一篇带你过完!(上)
接下来我们来学习一个经典的降维算法——主成分分析。
降维算法的数学普遍比较复杂,如果觉得太难,可以适当跳过一些数学推导:
16. 线代小白也能看懂的矩阵奇异值分解!
17. 讲人话的主成分分析,它来了!(上篇)
18. 讲人话的主成分分析,它来了!(下篇)
无监督学习的基本算法其实也就这两个啦~
恭喜你!!!如果你看完了以上所有文章,你已经成功入门了机器学习!!
(再次撒花!)
嘿嘿~ 那对这个专栏的介绍就到这里啦~ 欢迎帮我宣传呀嘿嘿!!祝学习顺利!!❤~
Passion Is All You Need.
最后,这句话送给你,也送给我。
这篇文章介绍了整个专栏⭐。
欢迎三连!!一起加油!🎇
——Geeker_LStar
相关文章:
【初/高中生讲机器学习】0. 本专栏 “食用” 指南——写在一周年之际⭐
创建时间:2025-01-27 首发时间:2025-01-29 最后编辑时间:2025-01-29 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名高一学生,热爱计…...
虚幻基础11:坐标计算旋转计算
能帮到你的话,就给个赞吧 😘 文章目录 坐标line startget actor rotationget forward vector 旋转计算 坐标 ue中通常使用向量计算坐标。 line start 起始坐标点。 get actor rotation 获取旋转值: 当前角色朝向 get forward vector 获…...
Rust:Rhai脚本编程示例
当然,以下是一个简单的Rhai脚本编程示例,展示了如何在Rust中使用Rhai执行脚本。 首先,你需要确保你的Rust项目中包含了rhai库。你可以在你的Cargo.toml文件中添加以下依赖项: [dependencies] rhai "0.19" # 请检查最…...
关于el-table翻页后序号列递增的组件封装
需求说明: 项目中经常会用到的一个场景,表格第一列显示序号(1、2、3...),但是在翻页后要递增显示序号,例如10、11、12(假设一页显示10条数据),针对这种情况,封…...
【深度学习】softmax回归
softmax回归 回归可以用于预测多少的问题。 比如预测房屋被售出价格,或者棒球队可能获得的胜场数,又或者患者住院的天数。 事实上,我们也对分类问题感兴趣:不是问“多少”,而是问“哪一个”: 某个电子邮…...
设计模式-建造者模式、原型模式
目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,…...
【Redis】List 类型的介绍和常用命令
1. 介绍 Redis 中的 list 相当于顺序表,并且内部更接近于“双端队列”,所以也支持头插和尾插的操作,可以当做队列或者栈来使用,同时也存在下标的概念,不过和 Java 中的下标不同,Redis 支持负数下标&#x…...
三个不推荐使用的线程池
线程池的种类 其实看似这么多的线程池,都离不开ThreadPoolExecutor去创建,只不过他们是简化一些参数 newFixedThreadPool 里面全是核心线程 有资源耗尽的风险,任务队列最大长度为Integer.MAX_VALUE,可能会堆积大量的请求ÿ…...
mybatis(78/134)
前天学了很多,关于java的反射机制,其实跳过了new对象,然后底层生成了字节码,创建了对应的编码。手搓了一遍源码,还是比较复杂的。 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE …...
Progressive Pretext Task Learning for Human Trajectory Prediction | 文献翻译
祥龙回首留胜景,金蛇起舞贺新程。 概述 行人轨迹预测是一项旨在预测行人未来位置的任务,它通常涵盖了从短期到长期的整个时间范围内的轨迹。然而,现有的研究试图通过单一、统一的训练范式来解决整个轨迹预测问题,往往忽视了行人轨…...
54.数字翻译成字符串的可能性|Marscode AI刷题
1.题目 问题描述 小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…...
【数据结构】_链表经典算法OJ(力扣版)
目录 1. 移除链表元素 1.1 题目描述及链接 1.2 解题思路 1.3 程序 2. 反转链表 2.1 题目描述及链接 2.2 解题思路 2.3 程序 3. 链表的中间结点 3.1 题目描述及链接 3.2 解题思路 3.3 程序 1. 移除链表元素 1.1 题目描述及链接 原题链接:203. 移除链表…...
【Linux】统计文本中每行指定位置出现的字符串的次数
统计文本中每行指定位置出现的字符串的次数 假定情景 某些项目,会把某个特定事件记录到Log中并且落盘(保持到硬盘)。基于落盘后的日志,要统计这些日志里产生该特定事件的次数 统计脚本 可以写一个sh脚本,来解析某个…...
【赵渝强老师】K8s中Pod探针的ExecAction
在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针,分别是:livenessProbe(存活探针)、readinessProbe&#…...
商品信息管理自动化测试
目录 前言 一、思维导图 二、代码编写 1.在pom.xml文件中添加相关依赖 2.自动化代码编写 三、代码测试 小结 前言 1. 针对商品信息管理项目进行测试,商品信息管理项目主要有商品列表页、部门列表页、员工列表页,主要功能:对商品信息的…...
Redis实战(黑马点评)——redis存储地理信息、位图、HyperLogLog 用法
Redis存储geo数据类型基本介绍 geo 就是 geolocation 的简写形式,代表地理坐标。redis 在 3.2 版本中加入了对 geo 的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: geoadd:添加一个地理空…...
判断1到100之间有多少个素数,并输出所有的素数。
def is_prime(num): #判断一个数是否素数if num<1:return False #因为1和负数都不是素数for i in range(2,int(num**0.5)1): #从2开始到根号num的整数结束,因为一个数num不是素数,那么把必定有一个小于或等于根号num的因素if num%i0:return False #如…...
JAVA:利用 Content Negotiation 实现多样式响应格式的技术指南
1、简述 Content Negotiation(内容协商) 是 RESTful 服务的重要特性,允许客户端和服务器根据请求的不同特性动态选择适合的响应格式。它是一种在 HTTP 协议中实现的机制,通过它,服务器能够根据客户端需求返回适合的内…...
layui Table单元格编辑支持Enter键换行,包括下拉框单元格
layui Table表格编辑支持Enter键换行 可编辑单元格 $(".layui-table td").keydown(function (e) {// console.log("111",e);var index $(this).index(),tr $(this).parent(tr),isKeydown (event.type "keydown");if (e.code "Enter&q…...
Swoole的MySQL连接池实现
在Swoole中实现MySQL连接池可以提高数据库连接的复用率,减少频繁创建和销毁连接所带来的开销。以下是一个简单的Swoole MySQL连接池的实现示例: 首先,确保你已经安装了Swoole扩展和PDO_MySQL扩展(或mysqli,但在这个示…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
技术栈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 主题模式…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
