【初/高中生讲机器学习】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,但在这个示…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...
