自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 【刷题笔记】ST表 详解 模板与题目

是一种通过快速查询静态数据的数据结构,一般用于解决问题。基于倍增和动态规划的思想,预处理的时间复杂度为 O(Nlog2N),根据查询数据性质的不同,可以在 O(log2N) 甚至 O(1) 的时间复杂度内回答每个询问。ST表主要用于处理的。

2025-02-23 22:39:51 687

原创 二分查找(STL函数+模板+刷题)

二分查找(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是用来在一个中查找某一元素的算法。

2025-02-16 18:47:58 890

原创 DQN【算法+代码】玩openai gym库游戏

该内容整理于李宏毅的强化学习课程。为了在连续的状态和动作空间中计算值函数Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a),我们可以用一个函数Qϕ(s,a)Q_{\phi}(\boldsymbol{s},\boldsymbol{a})Qϕ​(s,a)来表示近似计算,称为。Qϕ(s,a)≈Qπ(s,a)Q_{\phi}(\boldsymbol{s},\boldsymbol{a})\approxQ^{\pi}(s,a)Qϕ​(s,a)≈Qπ(s,a)其中**Q-learning是的方

2025-01-19 17:37:29 763

原创 给定二叉树中序后序序列,求前序序列【算法+代码】

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数$\le8$)。

2025-01-18 17:42:21 298

原创 【刷题笔记】滑动窗口&单调队列题目

那么对于前面的数不足。

2025-01-16 15:46:48 852

原创 【强化学习】值迭代与策略迭代

如何比较策略的优劣呢?一般是通过对应的价值函数来比较的,也就是说,寻找较优策略可以通过寻找较优的价值函数来完成。我们首先定义策略之间的偏序关系:当且仅当对于任意的状态都有。于是在有限状态和动作集合的 MDP 中,至少存在一个策略比其他所有策略都好或者至少存在一个策略不差于其他所有策略,这个策略就是。之后都执行最优策略。这与在普通策略下的状态价值函数和动作价值函数之间的关系是一样的。最优策略可能有很多个,我们都将其表示为。最大,我们需要在**当前的状态动作对。

2025-01-14 15:34:06 396

原创 贝尔曼最优公式

如何比较策略的优劣呢?一般是通过对应的价值函数来比较的,也就是说,寻找较优策略可以通过寻找较优的价值函数来完成。我们首先定义策略之间的偏序关系:当且仅当对于任意的状态都有。于是在有限状态和动作集合的 MDP 中,至少存在一个策略比其他所有策略都好或者至少存在一个策略不差于其他所有策略,这个策略就是。之后都执行最优策略。这与在普通策略下的状态价值函数和动作价值函数之间的关系是一样的。最优策略可能有很多个,我们都将其表示为。最大,我们需要在**当前的状态动作对。

2025-01-12 17:55:33 514

原创 【强化学习】贝尔曼方程

取了一个期望,期望就是从这个状态开始,我们可能获得多大的价值。所以期望也可以看成未来可能获得奖励的当前价值的表现,就是当我们进入某一个状态后,我们现在有多大的价值。这个意思是,此时的计算只需要关注这一步的奖励,加折扣因子乘以下一步的回报即可。有关,不同的策略价值函数自然也不一样。在一个马尔可夫奖励过程中,从第t时刻状态开始,直到终止状态T时,所有奖励的衰减之和称为。是折扣因子,越往后得到的奖励,折扣越多。关于折扣因子的必要性,以前的笔记已经介绍过。,这是因为价值函数除了与s有关,也与策略。

2025-01-11 11:16:01 791

原创 【强化学习】状态、策略、奖励与马尔科夫过程等基本概念

这是西湖大学WindyLab赵老师网课【强化学习的数学原理】课程笔记,老师的课讲得非常透彻到位,推荐大家到B站观看!本节课会经常使用“机器人走格子”这个example来阐述概念。在一个棋盘中,除了终点target和普通格子外,有些格子是禁止进入的(forbidden),机器人的目标就是找出合理的路径。这个例子最大的好处就是直观易于理解。于是,就有了一些问题:怎么定义一个路径好还是坏?直观上可以给一些感性说明,比如不能超越边界,不能绕弯子,不能进入禁区。。。

2025-01-10 19:37:31 819

原创 强化学习入门谈

*强化学习(reinforcement learning,RL)**讨论的问题是智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得的奖励。如图 1.1 所示,强化学习由两部分组成:智能体和环境。在强化学习过程中,智能体与环境一直在交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作 (action),这个动作也称为决策(decision)。然后这个动作会在环境中被执行,环境会根据智能体采取的动作,输出下一个状态以及当前这个动作带来的奖励。

2025-01-06 15:42:44 744

原创 复变函数的幂级数展开

预备知识幂级数基本性质记zn=an+ibn,z0=a+ibz_n=a_n+\mathrm{i} b_n, z_0=a+\mathrm{i}bzn​=an​+ibn​,z0​=a+ib, 那么lim⁡n→∞zn=z0⇔lim⁡n→∞an=a,lim⁡n→∞bn=b\lim\limits_{n \to \infty}z_n=z_0\Leftrightarrow \lim\limits_{n \to \infty}a_n=a, \lim\limits_{n \to \infty}b_n=bn→∞l

2024-12-15 00:30:53 1074

原创 PyTorch张量运算与自动微分

由Facebook人工智能研究院于2017年推出,具有强大的GPU加速张量计算功能,并且能够自动进行微分计算,从而可以使用基于梯度的方法对模型参数进行优化,大部分研究人员、公司机构、数据比赛都使用PyTorch。

2024-12-01 23:57:43 1012

原创 用Transformers和FastAPI快速搭建后端算法api

如果你对自然语言处理 (NLP, Natural Language Processing) 感兴趣,想要了解ChatGPT是怎么来的,想要搭建自己的聊天机器人,想要做分类、翻译、摘要等各种NLP任务,的库是你不能错过的选择。在Transformers的帮助下,许多任务只需几行代码便能轻松解决。

2024-12-01 23:37:13 1233

原创 复变函数的积分——方法论与习题练习

首先,因为zxiydzdxidy,那么∫C​fzdz就可以被转化成实变函数中的第二类曲线积分。

2024-11-26 11:47:53 1265

原创 【保姆级教程】使用lora微调LLM并在truthfulQA数据集评估(Part 2.在truthfulQA上评估LLM)

truthfulQA数据集格式如下所示question : 旨在引起模仿性虚假(错误答案)的问题字符串。choices : 恰好4个答案选择字符串。label : 一个指示正确答案在 choices 中索引的 int32。所以我们只需要能够格式化读取json,并输给模型就可以,注意,**我们的思路是,让模型从选项中自己挑答案,因此,要精心设置prompt。**然后把模型的选择与参考答案做对比。

2024-11-22 17:01:54 395

原创 【保姆级教程】使用lora微调LLM并在truthfulQA数据集评估(Part 1.微调训练)

在本期blog中,我们将逐步完成下面的任务: **1. 使用lora微调`gemma-2b-it`模型,数据集为`Alpaca_cleaned_data` 2. 在`truthfulQA`数据集上评估模型效果**

2024-11-22 16:54:34 1154

原创 大语言模型的构建过程

从机器学习的观点来说,神经网络是一种具有特定模型结构的函数形式,而大语言模型则是一种基于Transformer结构的 神经网络模型。因此,可以将大语言模型看作一种拥有大规模参数的函数,它的 构建过程就是使用训练数据对于模型参数的拟合过程。尽管所采用的训练方法与 传统的机器学习模型(如多元线性回归模型的训练)可能存在不同,但是本质上 都是在做模型参数的优化。大语言模型的优化目标更加泛化,不仅仅是为了解决 某一种或者某一类特定任务,而是希望能够作为通用任务的求解器。

2024-10-26 17:36:14 947

原创 交叉熵 (cross entropy) ,KL 散度的值,到底有什么含义?(Part-2)

既然我们已经了解了信息熵的基本概念,那么接下来我们来探讨交叉熵和KL散度。在机器学习和统计学中,这两个概念扮演着至关重要的角色。

2024-10-26 17:32:21 776

原创 交叉熵 (cross entropy) ,KL 散度的值,到底有什么含义(Part-1)?

交叉熵 (cross entropy) ,KL 散度的值,到底有什么含义?交叉熵一看就是个信息论的概念,为什么变成了大模型最常用的损失函数了呢?交叉熵的值到底有什么含义呢?与 KL 散度又有什么关系呢?

2024-09-16 23:29:24 737

原创 矩阵乘以向量 Python代码

设有一个矩阵A(2行3列),设有一个列向量(3个分量)其实很好理解,因为向量点乘必须维度相同。对于每个行向量,维度就是列数。不难发现,矩阵×列向量,

2024-09-03 21:26:54 509

原创 泊松(Poisson)分布

泊松(Poisson)分布的直观理解是,在一个单位时间或者空间间隔内,随机事件发生次数的概率。比如:每个小时出生的婴儿数量每分钟人类心脏的跳动次数空气中每立方米中氧气分子的数量高速公路上每公里汽车的数量泊松模型是最基本的计数模型,本章我们重点讨论泊松模型,再后续的章节中再讨论其它的计数模型。

2024-08-08 19:26:43 8544

转载 Transformer相关——Encoder-Decoder框架

Encoder将输入(Source)编码为固定大小的向量的过程是一个“信息有损的压缩过程”,信息量越大,转化得到的固定向量中信息的损失就越大,这就得Decoder无法直接无关注输入信息的更多细节。输入的序列过长,先输入的内容携带的信息可能会被后输入的信息稀释掉或被覆盖了,那么解码的时候一开始就没有获得输入序列足够的信息,可能会导致模型效果比较差。基于Encoder-Decoder框架设计的模型可以应用于:机器翻译、对话机器人、诗词生成、代码补全、文章摘要、语音识别、图像描述生成等方面。

2024-08-04 17:43:16 85

原创 从零开始的django+vue项目实战(4--前端登陆页面设计与路由)

前面我们已经创建好数据模型了,并且在admin后台中添加了一些测试用户。下面我们就要设计好站点的url路由、对应的处理视图函数以及使用的前端模板了。注意要先从login导入views模块。

2024-07-15 22:17:33 1240

原创 树莓派4b安装miniconda成功教程(简单易懂好用)

【代码】树莓派4b安装miniconda成功教程(简单易懂好用)

2024-07-12 22:41:45 954

原创 Pytorch实现logistic回归(算法+代码)

回归一般的得到的是一个连续值,二分类需要的是0或者1(类别),那么怎么建立起连续值到类别的映射关系呢?逻辑回归是机器学习中常用的一种二分类算法,常用于疾病预测等“非黑即白”的分类,简单说就是在使用逻辑回归的任务中,标签数据的Y值要么是0要么是1。正是由于上面的特性,sigmoid函数可以被用来进行二分类,比如我们以0.5为界,将大于0.5的值归为类别1,小于0.5的归为类别0。这样子我们就完成了从输入数据的线性组合到概率的映射,然后根据一定的阈值将概率映射到类别,就完成了分类的过程。

2024-07-12 20:12:19 1892

原创 从0开始的django项目实战(3)ORM与数据库操作

我们前后端开发,肯定要操作数据库。那么django里我们怎么操作数据库捏?手动切换到数据库环境,然后敲入SQL语句?你知道这是个笑话!我们是程序员,讲的是自动化,实现的是Python环境下的操作,所以我们必然是通过写Python代码的方式。可是....Python和数据库语言SQL是两码事啊,它根本操作不了数据库!没关系,我们可以在Python代码中嵌入SQL语句。Python怎么创建和数据库的连接呢?或者更直白的说Python怎么连接数据库呢?可以使用类似。

2024-07-11 20:57:53 834

原创 轻薄本也能跑的RAG大模型?LLamaIndex+Ollama+phi搭建本地大模型

最近,AI大模型又卷到小型机赛道上。各大公司都在加紧研发能在家用机器即可运行的“小模型”,旨在让大模型真正进入我们日常生活中。RAG作为一门最近新兴的技术,在知识检索上有着传统大模型不可比拟的优势,应用前景十分广阔。目前,很多基于RAG的应用如雨后春笋般涌现,在企业和个人中用途广泛。前不久B站就有一位三国历史热爱者做了一个历史RAG,满足他了解历史的需求。

2024-07-09 15:00:25 2099 1

原创 从零开始的Django+vue项目实战(2--视图函数与URL配置)

Django把每个用户请求封装成了request对象,它包含里当前请求的所有信息,比如请求路径request.path, 当前用户request.user以及用户通过POST提交的数据request.POST。本文介绍了如何安装Django并使用它,并提供了一个打印当前请求路径的演示案例。实际应用中我们向客户端输出的数据大多来自数据库,会通过漂亮的模板或客户端向用户展示数据,这就涉及到模型和模板的使用了。前面展示的主页是Django自带的,现在我们要开始编写自己的首页,打印出当前请求路径。

2024-07-05 20:42:57 465

原创 从零开始的Django+vue项目实战(1)

这个系列的blog是为哈工大(威海)的企业与服务智能计算研究中心(ICES)的纳新培训任务准备的,但是也适合想学习django并快速上手项目的友友。后续我们会逐渐完善这个项目,实现一个登录页面。之后配置环境变量,到你的python目录下的site-packages找到django的位置,并把它加到环境变量里面。新建一个文件夹,打开文件夹 ,右键选择“在终端中打开”,或者在路径栏里直接输入cmd,或者在cmd里用cd命令。实现的缺憾,我写了这个系列的blog。出现上图页面,而且没有报错。

2024-07-03 10:36:36 926

原创 傅里叶级数中的积分速算小技巧

计算傅里叶级数常用的积分

2024-06-18 12:51:10 1415

原创 树莓派Ubuntu换源不能安装软件,提示mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/jammy/main/binary-arm64/Packages 404

树莓派换源报错,是因为没注意到arm架构

2024-06-16 23:38:52 815 2

原创 Linux目录结构(结合例子)

介绍Linux的目录结构,举了一些例子便于理解

2024-06-13 18:07:54 366 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除