自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CPP, CUDA 扩展 PyTorch

使用 C++, CUDA 扩展 PyTorch准备工作用 C++ 扩展 PyTorch用 CUDA 扩展 PyTorch参考准备工作请先确定一下 PyTorch 版本:>>> torch.__version__‘1.9.1’>>> torch.version.cuda‘11.1’>>> torch.backends.cudnn.version()8005实验环境:用 C++ 扩展 PyTorch官网上案例使用的算子大多和 py

2021-10-03 23:04:16 871

原创 配置云服务器(Jupyter Notebook + PyTorch)

配置云服务器前言准备工作远程登陆密钥登陆安装 GPU更新系统安装 Anaconda安装 PyTorch安装 Jupyter Notebook参考前言因为之后可能还会用到 GPU 服务器,现在这里做个记录,主要涉及如何安装 PyTorch GPU 版本以及用 ssh 远程登陆 Jupyter Notebook准备工作Linux 主机云服务器的密钥文件远程登陆!!!这次忘记了在操作之前先创建一个普通用户,因此所有操作都是在 root 下进行的!!!密钥登陆首先,我们利用云服务器的密钥文件进

2021-10-01 10:08:59 622

原创 深度强化学习-DQN

Human-level control through deep reinforcement learning论文阅读方法模型架构算法深度 Q-网络的训练算法源码解读论文阅读尽管强化学习智能体已经在许多领域取得了一些成功,其适用性先前被限制在有用的特征可以手工提取,或者完全观测、低维状态空间的领域。这里我们使用最近在训练深度神经网络取得的进展来研发一个新型的人工智能体,叫作深度 Q-网络,其可以直接从高维感知输入中使用端到端强化学习来学到成功的策略。我们开始于创建一个单一的算法,其可以在许多具有挑战性

2021-09-14 21:29:19 606

原创 On-policy 控制近似方法

On-policy 控制近似方法回合半梯度控制案例:陡坡汽车任务半梯度 n-步 Sarsa平均奖励:持续性任务的新问题设置案例:一个访问控制队列任务弃用折扣设置差分半梯度 n-步 Sarsa参考回合半梯度控制将半梯度预测方法推广到动作价值上,这种情况下是动作-价值函数 q^≈qπ\hat{q} \approx q_\piq^​≈qπ​ 的近似,其表示为带有权重向量 w\mathbf{w}w 的参数化函数形式现在我们考虑形式 St,At↦UtS_t , A_t \mapsto U_tSt​,At​↦Ut

2021-09-14 14:58:51 155

原创 On-policy 预测近似方法

On-policy Prediction with Approximation前言价值函数近似预测目标 (VE‾\overline{VE}VE)随机梯度和半梯度方法案例:1000-状态随机行走上的状态聚合线性方法线性方法的特征构造多项式傅立叶基粗编码平铺编码径向基函数手动选择步长参数非线性函数近似:人工神经网络最小二乘 TD基于内存的函数近似基于核的函数近似深入研究 On-policy\text{On-policy}On-policy 学习:兴趣和重点参考前言这里近似值函数不是用表格表示,而是作为一个具

2021-09-14 14:43:20 140

原创 表格型方法

Planning and Learning with Tabular Methods模型和规划Dyna:集成规划,行动和学习案例:Dyna 迷宫模型和规划通过环境的模型,意味着智能体可以用来预测环境如何响应动作的任何事物给定状态和动作,一个模型产生对下一个状态和奖励的预测一些模型描述所有可能性及其概率,称之为分布模型;另一些只产生其中一个可能性,从概率中采样,称之为样本模型分布模型更加强大,但很多情况下,获得样本模型更加简单模型可以用来模拟经验,给定起始状态和动作,一个样本模型产生一个可能的转移

2021-08-30 00:19:27 204

原创 n-step Bootstrapping

n-步引导n-步 TD 预测n-步 Sarsan-步 Off-policy\text{Off-policy}Off-policy 学习具有控制变量的 per-decision\text{per-decision}per-decision 方法无重要性采样的 off-policy\text{off-policy}off-policy 学习:n-步树备份算法统一算法:n-步 Q(σ)Q(\sigma)Q(σ)参考n-步 TD 预测考虑使用策略 π\piπ 生成样本回合估计 vπv_\pivπ​,蒙特卡洛法基

2021-08-29 00:04:11 158

原创 HMM(mlpack)

隐马尔可夫模型定义Constructor概率计算方法EstimateForwardBackward参考定义隐马尔可夫模型由初始概率分布,状态转移概率分布以及观测概率分布确定Constructor头文件1/** * A class that represents a Hidden Markov Model with an arbitrary type of * emission distribution. This HMM class supports training (supervised

2021-08-28 00:23:56 390

原创 时序差分学习

Temporal-Difference LearningTD 预测Sarsa:On-policy\text{On-policy}On-policy TD 控制例题:有风的网格世界TD 预测TD 和蒙特卡洛方法都使用了经验来解决预测问题粗略地说,蒙特卡洛一直等到访问后的回报已知,接着使用该回报作为 V(St)V(S_t)V(St​) 的目标一个简单的适用于非平稳环境的每次访问蒙特卡洛法是:V(St)←V(St)+α[Gt−V(St)]V(S_t) \gets V(S_t) + \alpha [G_

2021-08-27 00:22:24 194

原创 Monte Carlo Methods

蒙特卡洛方法蒙特卡洛预测动作价值的蒙特卡洛估计蒙特卡洛控制非探索开端的蒙特卡洛控制蒙特卡洛预测给定一些遵循了策略 π\piπ 并且出现状态 sss 的回合,我们想要预测 vπ(s)v_\pi(s)vπ​(s)有两种蒙特卡洛方法:首次访问蒙特卡洛法:只计算所有回合中首次访问状态 sss 的平均回报每次访问蒙特卡洛法:计算所有回合中每次访问状态 sss 的平均回报书中给出的首次访问法的伪代码:动作价值的蒙特卡洛估计模型可用时,仅使用状态价值函数就足够确定一个策略了:看看哪个动作导致的回报和

2021-08-26 01:26:06 227

原创 Dynamic Programming

DP策略评估策略提升策略评估回顾之前我们提到的状态值函数:vπ(s)≐Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s]=Eπ[Rt+1+γvπ(St+1)∣St=s]=∑aπ(a∣s)∑s′,rp(s′,r∣s,a)[r+γvπ(s′)]v_\pi (s) \doteq \mathbb{E}_\pi [G_t | S_t = s] \\[5pt]= \mathbb{E}_\pi [R_{t+1} + \gamma G_{t+1} | S_t = s] \\[5pt]= \mathb

2021-08-25 00:08:14 107

原创 Finite-MDP

有限马尔可夫决策过程智能体和环境目标和奖励策略和价值函数状态-值函数动作-值函数贝尔曼方程最优策略和最优价值函数参考智能体和环境智能体和环境在离散时间序列的每一步交互:t=0,1,2,3,…t = 0, 1, 2, 3, \dotst=0,1,2,3,…借用一下书中的图:因此,MDP 和智能体一起产生如下的序列:S0,A0,R1,S1,A1,R2,S2,A2,R3,…S_0, A_0, R_1, S_1, A_1, R_2, S_2, A_2, R_3, \dotsS0​,A0​,R1​,S1

2021-08-24 00:01:57 147

原创 K-armed Bandit

k 臂赌博机环境环境

2021-08-23 00:17:06 482

原创 GAN(mlpack)

生成对抗网络GANConstructorTrainEvaluateGANConstructor头文件/** * The implementation of the standard GAN module. Generative Adversarial * Networks (GANs) are a class of artificial intelligence algorithms used * in unsupervised machine learning, implemented by

2021-08-22 00:09:24 142

原创 FFN(mlpack)

前馈神经网络ffnlayerffnlayer

2021-08-21 00:01:38 2941

原创 Adam(ensmallen)

AdamSGD源码AdamAdaMaxSGD源码构造函数头文件:/** * Stochastic Gradient Descent is a technique for minimizing a function which * can be expressed as a sum of other functions. That is, suppose we have * * \f[ * f(A) = \sum_{i = 0}^{n} f_i(A) * \f] * * and ou

2021-08-20 00:07:51 327

原创 AdaBoost(mlpack)

提升方法源码测试参考源码主要构造函数头文件:template<typename WeakLearnerType = mlpack::perceptron::Perceptron<>, typename MatType = arma::mat>class AdaBoost{ public: /** * Constructor. This runs the AdaBoost.MH algorithm to provide a trained

2021-08-19 00:41:12 149

原创 Logistic_regression

Logistic回归模型logistic 分布二项 logistic 回归模型参数估计多项 logistic 回归模型源码模型logistic 分布F(x)=P(X⩽x)=11+e−(x−μ)/γf(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2F(x) = P(\mathrm{X} \leqslant x) = \dfrac{1}{1 + e^{-(x-\mu)/\gamma}} \\[6pt]f(x) = F'(x) = \dfrac{e^{-(x-\mu)/\gamma}

2021-08-18 00:01:31 76

原创 L-BFGS(ensmallen)

L-BFGSBFGS源码参考BFGS设 x=(x1,x2,⋯ ,xn)\mathbf{x} = ( x_1, x_2, \cdots, x_n )x=(x1​,x2​,⋯,xn​), f(x)=f(x1,x2,⋯ ,xn)f(\mathbf{x}) = f(x_1, x_2, \cdots, x_n)f(x)=f(x1​,x2​,⋯,xn​) 是 Rn→R\mathbb{R}^n \to \mathbb{R}Rn→R 的标量函数构造目标函数在迭代点 xkx_kxk​ 处的二次模型:mk(p)=fk+

2021-08-17 00:39:02 357

原创 Perceptron(mlpack)

感知机源码测试参考源码/** * This class implements a simple perceptron (i.e., a single layer neural * network). It converges if the supplied training dataset is linearly * separable. * * @tparam LearnPolicy Options of SimpleWeightUpdate and GradientDescent. *

2021-08-16 00:06:15 203

原创 Python图论建模

Graph简单无向图创建展示最短路径测试数据格式数据处理简单无向图创建import networkx as nximport numpy as npfrom matplotlib import pyplot as pltG = nx.Graph()G.add_nodes_from(np.linspace(1, 27, 27))G.add_edges_from([(1, 2), (1, 25), (2, 3), (3,

2021-08-15 00:01:38 203

原创 Python线性规划

线性规划标准形式图解法软件求解(SALib)敏感度分析整数规划参考标准形式minimize  cTxsubject to  Ax=b  subject to  x⩾0where c∈Rn , b∈Rm , A∈Rm×n\mathrm{minimize} \ \ \mathbf{c}^\mathsf{T} \mathbf{x} \\\mathrm{sub

2021-08-14 00:01:55 454

原创 《具体数学》部分习题解答7

习题七7.17.27.37.47.57.67.77.87.97.107.117.127.137.147.157.167.177.187.197.217.237.247.267.297.307.337.357.377.397.1一位古怪的多米诺骨牌搜集者,搜集了 2×n2 \times n2×n 个骨牌。他为每个垂直的多米诺牌付 4 美元,而为每个水平的多米诺牌付 1 美元。根据这一标准,有多少种铺设恰好值 mmm 美元?例如当 m=6m=6m=6 时有三个解.用 \rule{1ex}{2ex} 表示一

2021-04-30 18:36:37 2643 1

原创 KMP-demo

文章目录简介核心代码运行示例完整程序参考简介一个用来演示KMP算法匹配过程的玩具程序从用户那接受Target字符串和Pattern模式串,自动计算出nextVal数组,显示出匹配过程核心代码//mainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"#include "widget.h"#include <QErrorMessage>MainWindow::MainWindow(QWidget *pare

2021-04-30 10:04:01 117

原创 《具体数学》部分习题解答6

习题六6.16.26.46.56.66.76.86.96.106.116.126.136.146.156.166.186.196.206.236.256.266.276.286.296.306.316.326.336.346.356.376.386.396.416.426.456.466.476.486.496.536.586.776.1{1,2,3,4} 恰好有两个轮换的 42=11\genfrac{[}{]}{0pt}{} {4}{2} = 1124​=11 个排列是什么?(轮换的形式出现在 (6.

2021-04-02 18:38:45 3056

原创 《具体数学》部分习题解答5

习题五5.15.25.35.45.55.75.85.95.105.115.135.145.155.165.175.185.195.205.215.225.235.245.255.265.275.285.295.305.315.325.335.345.355.365.375.385.395.405.415.425.435.455.505.605.655.985.995.1005.111411^4114 是多少?对一个知道二项式系数的人来说,为什么这个数容易计算?因此:114=1464111^4 = 1

2021-03-09 22:15:33 3592

原创 《具体数学》部分习题解答4

习题44.14.24.34.44.54.64.74.84.94.104.114.124.134.144.154.164.174.184.194.214.224.234.244.254.304.314.324.334.344.354.374.384.404.514.544.1对 1≤k≤61 \le k \le 61≤k≤6,恰有 kkk 个因子的最小正整数是什么?123456124616124.2证明 gcd(m,n)⋅lcm(m,n)=m⋅ngcd(m,

2021-02-15 14:03:10 3133 8

原创 《具体数学》部分习题解答3

习题三3.13.23.33.53.63.73.83.103.113.123.143.153.163.173.193.203.213.223.233.253.263.303.313.343.353.453.1在第一章分析约瑟夫问题时,将任意的一个正整数 nnn 表示成了 n=2m+ln=2^m+ln=2m+l 的形式,其中 0≤l<2m0 \le l < 2^m0≤l<2m 。请利用底括号或顶括号,给出将 lll 和 mmm 表示成为 nnn 的函数的显式公式3.2与一个给定实数

2021-02-05 22:14:57 6614 4

原创 《具体数学》部分习题解答2

习题二2.1记号 ∑k=40qk\sum\limits_{k=4}^0 q_kk=4∑0​qk​ 的含义是什么?∑k=40qk=q4+q3+q2+q1+q0\sum\limits_{k=4}^0 q_k = q_4 + q_3 + q_2 + q_1 + q_0k=4∑0​qk​=q4​+q3​+q2​+q1​+q0​2.2化简表达式:x([x>0]−[x<0])x([x>0]-[x<0])x([x>0]−[x<0])∵[x>0]={1 ,x&

2021-01-22 15:10:00 7356

原创 《具体数学》部分习题解答1

习题一1.2将原来汉诺塔中,从AAA直接到BBB的步骤转化为以CCC作为过渡进行移动,因此,解出T(n)=3n−1T(n)=3^n-1T(n)=3n−1下面用数学归纳法证明:当n=1n=1n=1时,将圆盘从AAA移到CCC再到BBB,共花费T(1)=31−1=2T(1)=3^1-1=2T(1)=31−1=2步假设当n=kn=kn=k时,将圆盘从AAA移到BBB需要花费T(k)=3k−1T(k)=3^k-1T(k)=3k−1步则当n=k+1n=k+1n=k+1时,先将前kkk个圆盘移到BBB桩,

2021-01-12 16:02:36 4416 2

原创 流(Stream)

文章目录流的引入流的实现初阶进阶Java中的流流的应用参考流的引入在用具有局部状态的对象来模拟真实世界里的对象时,我们引入了赋值,以此实现让模拟对象随着时间改变状态。然而,这么做时,我们也将真实世界中的复杂性引入了计算机世界,一个典型的例子就是关于并发的问题。人们不断尝试,试图让我们计算机里的对象与时间解耦。用数学函数的方式来思考这些,我们可以将一个量xxx随着时间而变化的行为,描述为一个时间的函数x(t)x(t)x(t)。这样,如果我们更多地关注在这些值的整个时间史,那么就不需要强调其中的变化了。

2021-01-02 23:55:11 182

原创 SICP-变动数据做模拟

变动的状态唯一不变的就是变化本身。 —斯宾塞·约翰逊为了构造出更符合人们对真实世界认知的计算模型,我们引入了变动的数据。将这个世界看作是由许多独立的对象构成,每个对象各自保有自己的局部状态,并且随着时间变化。对应到程序语言中,就相当于引入赋值预算符。从此以后,代换模型就不再适用了(因为我们不能期待同一个函数在不同的时间点返回相同的值),我们需要去考虑更加复杂的环境模型。变动的队列(FIFO)先进先出队列(FIFO),是一个典型的用来展示变动的数据结构的例子。我们提供以下过程:

2020-12-05 18:06:12 324

原创 SICP-Huffman

Mon 06Mon 13已完成 进行中 计划中 现有任务Adding GANTT diagram functionality to mermaid

2020-11-30 23:05:49 122

原创 信号流结构

抽象类似于流水线生产,我们也可以将数据处理中的过程抽象出来,形成信号流结构(signal-flow structure),如下图:#mermaid-svg-3ppLb4pKsTAf08PJ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3ppLb4pKsTAf08PJ .label text{fill:#3

2020-11-26 12:33:29 287

原创 高阶过程做抽象

引入数学家识别出序列求和中抽象模式,并提出专门的符号:p=∑n=1Nan=a1+a2+...+anp = \sum\limits_{n=1}^Na_n=a_1+a_2+...+a_np=n=1∑N​an​=a1​+a2​+...+an​同样,有关于序列的连乘的符号:q=∏n=1Nan=a1∗a2∗...∗anq = \prod\limits_{n=1}^Na_n=a_1*a_2*...*a_nq=n=1∏N​an​=a1​∗a2​∗...∗an​类似地,我们应该可以在程序语言中表达出这样的概念:

2020-11-21 19:24:19 165

原创 SICP-换零钱方式的统计问题

引入在《计算机程序的构造和解释》(第2版)P26页,作者用递归的方式为我们提供了一种解决思路:将总数为a的现金换成n种硬币的不同方式的数目等于将现金数a换成除第一种硬币之外的所有其他硬币的不同方式数目,加上将现金数a-d换成所有种类的硬币的不同方式数目,其中的d是第一种硬币的币值下面是我将书中Scheme的方言换成Common Lisp实现的代码:(defun first-denomination (kinds-of-coins) (cond ((= kinds-of-coins 1) 1

2020-11-19 15:52:22 308

原创 Lisp牛顿法求方程根

关于牛顿法的基本描述:设已知方程f(x)=0有近似根x_k(假定x_k处导数不为零),将函数f(x)在点x_k处展开,有f(x)≈f(xk)+f′(xk)(x−xk)f(x) \approx f(x_k)+f^{'}(x_k)(x-x_k)f(x)≈f(xk​)+f′(xk​)(x−xk​)于是方程f(x)=0可近似表示为f(xk)+f′(xk)(x−xk)=0f(x_k)+f^{'}(x_k)(x-x_k)=0f(xk​)+f′(xk​)(x−xk​)=0将其根记为x_(k+1),则x

2020-11-12 14:04:03 298

原创 Lisp--Shortest Path(bfs和dfs)

用Lisp实现寻找有向图中最短路径(深度优先算法和广度优先算法)先来看一下图的存储格式:(setf min '((a b c) (b c) (c d)))min:(setf min2 '((a b c) (b c d) (c d)))min2:;;;将所有node中未加入的节点加入path中(defun new-paths (path node net) (mapcar #'(lambda (n) (cons n path));;;注意此函数会依次作用于下面的参数上(ma

2020-11-09 21:05:44 303

原创 Lisp求平方根

Square root algorithm of Heron of Alexandria为了找到x的平方根:1.做出猜测guess2.用guess和x/guess的平均数代替guess,提高精度3.持续提高guess的精度直到满足精度要求4.用1作为初始guess//求绝对值(defun my-abs (x) (cond ((< x 0) (- x)) ((= x 0) 0) ((> x 0) x)))//计算平均数(defun my-average (x y

2020-11-06 23:59:00 1015

原创 ArchLinux安装(VirtualBox)

#VirtualBox配置1.启用EFI2.选择光驱#安装ArchLinux1.查看是否开启EFI# ls /sys/firmware/efi/efivars2.查看是否能上网# ping www.baidu.com3.更改镜像源# vim /etc/pacman.d/mirrorlist将中国镜像移动到上方vim:d:删除(剪切)p:粘贴4.更新时间# timedatectl set-ntp true5.硬盘分区# cfdisk选择gpt进行分区6.格

2020-10-28 16:08:41 976 4

空空如也

空空如也

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

TA关注的人

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