自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 李航老师《统计学习方法》第二版第十九章马尔可夫链蒙特卡洛方法课后题答案

1、使用蒙特卡洛积分法求∫−∞∞x2exp(−x22)dx\int_{-\infty }^{\infty} x^{2}exp(-\frac{x^{2}}{2} )dx∫−∞∞​x2exp(−2x2​)dx.解:使用代码求解。有被积函数的形式可以看到,可以将该积分转化为期望的计算∫−∞∞x2exp(−x22)dx=2π∫−∞∞x212πexp(−x22)dx=2πE[x2]\int_{-\infty }^{\infty} x^{2}exp(-\frac{x^{2}}{2} )dx\\=\sqrt{2\

2021-05-30 18:02:10 2101

原创 李航老师《统计学习方法》第二版第十八章概率潜在语义分析课后习题答案

1、证明生成模型和共享模型是等价的。证明:1.1生成模型首先,生成模型基于假设:假设在话题zzz给定条件下,单词www和文本ddd条件独立,即:P(w,z∣d)=P(z∣d)P(w∣z,d)=P(z∣d)P(w∣z)(1)P(w,z|d) = P(z|d)P(w|z,d) = P(z|d)P(w|z)\tag{1}P(w,z∣d)=P(z∣d)P(w∣z,d)=P(z∣d)P(w∣z)(1)公式(1)的第二个等号成立是因为当随机变量x1,x2x_{1},x_{2}x1​,x2​独立时有P(x1∣x

2021-05-24 18:01:46 1248

原创 李航老师《统计学习方法》第二版第十七章潜在语义分析课后题答案

1、试将图17.1的例子进行潜在语义分析,并对结果进行观察。解:使用奇异值分解算法进行分析,该矩阵的阶数比较低,使用梯度下降算法感觉会麻烦一点,还可能无法达到最优解。程序是:import numpy as npdef solution(A): U,S,V_T = np.linalg.svd(A) return U, S, V_T if __name__ == '__main__': A = np.array([[2,0,0,0],

2021-05-22 16:27:36 1614

原创 李航老师《统计学习方法》第十六章主成分分析课后题答案

1、对以下样本进行主成分分析:[233457245568]\begin{bmatrix}2 & 3 & 3 & 4 & 5& 7\\2 & 4 & 5 & 5 & 6 &8\end{bmatrix}[22​34​35​45​56​78​]解:import numpy as npdef PCA(X): # 下面先对数据进行规范化 s = np.shape(X) for i in range(s[0]

2021-05-19 19:41:17 5764 2

原创 李航老师《统计学习方法》第二版第十五章奇异值分解课后题答案

1、试求矩阵A=[120202]A = \begin{bmatrix}1 & 2 & 0\\2 & 0 &2\end{bmatrix}A=[12​20​02​]的奇异值分解。解:感觉没有必要自己按照书上的算法流程算一遍,理论看懂,然后知道怎么计算就可以,无非也即是解个线性方程,将特征向量正交化等等简单的线性代数知识。import numpy as npdef SVD(A): U, s, V = np.linalg.svd(A) return U, s,

2021-05-16 19:04:03 5021 7

原创 李航老师统计学习方法答案汇总

由于博主本人还没把这本书的算法学完,所以答案还在持续更新中…第一章第二章第三章第四章第五章第六章第七章第八章第九章第十章第十一章第十四章第二十一章

2021-05-15 20:30:13 12751 2

原创 李航老师《统计学习方法》第十四章聚类方法课后题答案

1、试写出分裂聚类算法,自上而下地对数据进行聚类,并给出其算法复杂度。解:算法流程大致如下:输入:数据集T,指定需要划分的簇数k输出:k个数据集的子集将数据集T中的所有样本作为一个初始簇。在所有的簇中选择直径最大的簇记为C0C_0C0​。计算簇C0C_0C0​中所有的点到其他点的平均距离最大的点 p0p_0p0​放在一个新的簇CnewC_{new}Cnew​中,C0C_0C0​中剩余的样本构成的簇记为ColdC_{old}Cold​然后重复一下过程:对ColdC_{old}Cold​中的点

2021-05-15 20:20:19 3534

原创 李航老师《统计学习方法》第二版第九章课后习题答案

9.1、如例9.1的三硬币模型。假设观测数据不变,试选择不同的初值,例如π(0)=0.46,p(0)=0.55,q(0)=0.67\pi^{(0)}=0.46,p^{(0)}=0.55,q^{(0)}=0.67π(0)=0.46,p(0)=0.55,q(0)=0.67,求模型参数θ=(π,p,q)\theta = (\pi,p,q)θ=(π,p,q)的极大似然估计。解:如果按照书上提供公式计算,那么这一题是很简单,但是如果想要理解EM算法在该题上的应用思想,是十分重要的,三硬币模型的具体推导请参考我写的

2021-05-05 15:08:54 5235

原创 李航老师《统计学习方法》EM算法的三硬币模型

推导了很久,终于搞明白了!!!公式太多,直接上图,手写的。图片里面的内容有交叉的地方。

2021-04-30 12:06:24 785 1

原创 李航老师《统计学习方法》第八章课后习题答案

8.1、题目太长,懒得打字了因为训练数据实例的维度比书中的例子8.1的实例的维度大,也就是特征的数目比较多,因而需要进行特征选择。我在这里根据数据集里面数据的权重进行特征选择的,如果按照原始数据进行原则,那么除了强制排除已经选择的特征,否则每次构造决策树桩,都只能选择相同的特征进行构造决策树桩,这显然是不合理的。直接上代码:import numpy as npdef choose_character_by_data_weight(X,Y,w): ''' 该方法使用数据的每次迭代的权重

2021-04-28 13:08:04 4760 1

原创 李航老师《统计学习方法》第二版第七章课后题答案

1、比较感知机的对偶形式与线性可分支持向量机的对偶形式。1.1、感知机的对偶形式由于李航老师书上的感知机的对偶形式有点问题,这里先对其进行一下改进最后学习到的感知机的参数是:w=∑i=1Nαiyixi(1)w = \sum_{i = 1}^{N}\alpha _{i} y_{i} x_{i} \tag{1}w=i=1∑N​αi​yi​xi​(1)b=∑i=1Nαiyi(2)b = \sum_{i = 1}^{N}\alpha _{i} y_{i} \tag{2}b=i=1∑N​αi​yi​(2

2021-04-23 16:18:35 6266 12

原创 李航老师《统计学习方法》第二版第六章答案

1、确认逻辑斯谛分布属于指数分布族。证明:逻辑斯谛分布的概率密度函数是:f(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2(1)f(x) = \frac{e^{-(x-\mu )/\gamma } }{\gamma (1+e^{-(x-\mu )/\gamma})^{2} } \tag{1}f(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ​(1)而指数族分布是指概率密度函数可以表示为下面的形式:p(x)=h(x)eθTT(x)−A(θ)(2)p(x) = h(x)e^{\thet

2021-04-19 16:49:35 1743

原创 李航老师《统计学习方法》第二版第五章决策树课后答案

1、根据表5.1所给的训练数据集,利用信息增益比(C4.5算法)生成决策树。解:下面先给出计算信息增益比的程序,并且输出最好的特征import numpy as npdef info_ratio(D, Y, n): ''' 计算信息增益比 Parameters ---------- D : numpy array 训练数据集. Returns ------- 最优特征. ''' #下面开始修正数据

2021-04-18 14:25:51 7044 3

原创 李航老师《统计学习方法》第二版第四章答案

1、使用极大似然估计法推出朴素贝叶斯法概率估计公式(4.8)以及公式(4.9).解答:概率估计公式(4.8)是:P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,...,KP(Y = c_{k}) = \frac{\sum_{i=1}^{N}I(y_{i} = c_{k}) }{N},k = 1,2,...,K P(Y=ck​)=N∑i=1N​I(yi​=ck​)​,k=1,2,...,K概率估计公式(4.9)是:P(Xj=ajl∣Y=ck)=∑i=1NI(xij=ajl,yi=ck)∑i=

2021-04-11 18:42:19 2648 4

原创 李航老师《统计学习方法》第二版第三章课后题答案

1、参照图3.1,在二维空间中给出实例点,画出 kkk 为1和2时的 kkk 近邻法构成的空间划分,并对其进行比较,体会 kkk 值的选择与模型复杂度及预测准确率的关系。解:唉,这一题花了很长时间才搞明白到底是要干啥。下面先简单的介绍一下,到底要干嘛,和k近邻的关系是啥。我们知道,k近邻算法在对一个新的数据点 AAA 进行分类的时候(这里就以分类来介绍),需要以AAA为中心,寻找距离AAA最近的k个点,这k个点是由训练集给出的。然后我们计算这k个点里面,数量最多的类别,作为AAA的类别,完成分类。该题

2021-04-10 11:39:04 3754 3

原创 李航老师《统计学习方法》第二版第二章答案

1、Minsky与Papert指出:感知机因为是线性模型,所以不能表达复杂的函数,比如异或(XOR)。验证感知机为什么不能表示异或。解:下面是异或的运算结果:异或: 如果两个值相同则异或操作的结果是0,如果不相同则为1由此我们可以看到,这也是一个二分类的问题,异或的运算如表所示XORaba01b10如果我们去a = 0, b = 1,将上表的结果画在二维平面,如下图。我们可以看到,对于蓝色的圆点和橙色的星星,无论我们怎么画直线,都不可能将两者分开。也就

2021-04-07 16:11:41 3326 7

原创 李航老师《统计学习方法》第二版第一章答案详解

1、说明伯努利模型的极大似然估计和以及贝叶斯估计中的统计学习方法三要素。伯努利模型是定义在取值为0与1的随机变量上的概率分布。假设观测到伯努利模型n次独立的数据生成结果,其中k次的结果为1,这时可以用极大似然估计或贝叶斯估计来估计结果为1的概率。解:模型三要素是:模型策略算法极大似然估计概率模型经验风险最小化数值解贝叶斯估计概率模型结构风险最小化解析解设x1,x2,...,xnx_{1}, x_{2},..., x_{n}x1​,x2​,...,xn​为

2021-04-05 18:52:58 3906 5

原创 强化学习算法A2C(Advantage Actor-Critic)和A3C(Asynchronous Advantage Actor-Critic)算法详解以及A2C的Pytorch实现

一、策略梯度算法回顾策略梯度(Policy Gradient)算法目标函数的梯度更新公式为:▽Rˉθ=1N∑n=1N∑t=1Tn(∑t′=tTnγt′−trt′n−b)▽logpθ(atn∣stn)(1)\bigtriangledown \bar{R}_{\theta } = \frac{1}{N}\sum_{n=1}^{N}\sum_{t=1}^{T_{n}}(\sum_{{t}'=t}^{T_{n}}\gamma ^{{t}'-t}r_{{t}'}^{n}-b)\bigtriangledown lo

2021-03-27 15:28:46 8331 6

原创 Pytorch实现策略梯度(Policy Gradient)算法玩立火柴(CartPole-v0)小游戏

我测试的可以玩到15000+分import numpy as npimport gymimport torch.nn as nnimport torch as tfrom torch.nn import functional as Fimport matplotlib.pyplot as pltimport oscriterion = nn.CrossEntropyLoss(reduction = 'none')os.environ["KMP_DUPLICATE_LIB_OK"]="TR

2021-03-25 09:28:30 1533 1

原创 pytorch实现自注意力(self-attention)

import torchimport torch.nn as nnimport torch.nn.functional as Fclass Attention_Layer(nn.Module): #用来实现mask-attention layer def __init__(self, hidden_dim, is_bi_rnn): super(Attention_Layer,self).__init__() self.hi

2021-03-22 18:37:15 12092 22

原创 强化学习Proximal Policy Optimization(PPO)算法详解

强烈建议自己拿着笔在草稿纸上划拉划拉,公式推导很简单的!!!一、准备知识1.1、on-policy VS off-policyOn-policy:智能体agent(actor)学习并且和环境发生互动。Off-policy:一个智能体agent(actor)A1A1A1看另外一个智能体A2A2A2和环境互动,然后A1A1A1使用A2A2A2和环境互动的数据来进行学习例子1:打篮球。 你自己亲自去打就是On-policy,如果把投球的姿势看作一个你要学习的动作, 你发现动作a1a_{1}a1​可以

2021-03-17 21:35:11 9454 14

原创 使用python+stanfordcorenlp+dependency_parse(依赖句法分析)实现英文长句切分

一、问题引入–英文长句切分其实英文里面也是有一些短语,比如:I traveled to New York last year其中 New York 可以作为一个短语来看待,在情感分析以及别的任务里面可能会有更好的性能提升。英文长句的切分也是一个研究的方向:比如论文:Neural Text Segmentation and Its Application to Sentiment Analysis二、如何解决问题?我们使用依赖树(好像类似的还有什么依存句法分析等等)算法提供的各个单词之间的依赖关系,

2021-03-11 11:50:53 2147

原创 Deep QLearning算法详解(强化学习 Reinforcement Learning)

首先要明白一个前提,这里介绍的是没有使用神经网络的qlearning,而不是Deep QLearning。而且算法不使用梯度下降,而是迭代更新。一、算法详解1.1 几个概念1.1.1 什么是critic?critic:批评家,评论家。在这里算法要更新就是一个critic,而不是一个actor(agent),使用critic来间接指导actor做决策,critic的作用就是评估一个actor有多好,水平高不高。1.1.2 状态价值函数Vπ(s)V ^{\pi }(s)Vπ(s)和状态动作价值函数Q

2021-03-07 13:59:17 3467 1

原创 强化学习QLearning小例子以及注释代码

运行过程就是下面这样:下面是代码:# -*- coding: utf-8 -*-"""Created on Fri Mar 5 08:48:06 2021@author: DELL"""import cv2 as cvimport numpy as npimport pandas as pdimport random as rdnums_states = 8nums_action = 4gammma = 0.9 #衰减因子epslion = 0.4 # 随机选择动作因子

2021-03-05 14:23:45 541 2

原创 强化学习(RL)QLearning算法详解

这篇文章将要介绍传统的qlearning算法,使用的是迭代的方法更新q表,更新q表的方法类似于向前推进,而不是使用梯度下降方法,因为这里介绍的不是Deep QLearning方法。一、算法介绍以及推导注:这里更新的不是agent,而是一个q表,q表里面记录的是agent在某个状态采取某个的动作的好坏,q表可以起到间接决定agent采取什么决策。q表就类似一个critic,一个评论家,来指导agent。1.1、Q(s,a)Q(s,a)Q(s,a)是什么?Q(s,a)Q(s,a)Q(s,a)是状态动作价

2021-03-04 15:28:48 16956 2

原创 强化学习(Reinforcement Learning)之策略梯度(Policy Gradient)的一点点理解以及代码的对应解释

一、策略梯度算法推导以及解释1.1 背景设πθ(s)\pi_{\theta }(s)πθ​(s)是一个有网络参数θ\thetaθ的actor,然后我们让这个actor和环境(environment)互动或者说去玩一场游戏,在这个游戏中actor会观测环境处于的某种状态s,然后根据这个环境的状态做出一定的动作a(action)来应对环境的变化,从而得到一定的奖励r(reward)下面是一个使用神经网络搭建的actor,设他的参数是 θ\thetaθ图片来自:理解策略梯度算法设τ={s1,a1,r1

2021-03-03 20:05:12 2555 4

原创 SST数据集

链接:https://pan.baidu.com/s/1MPNKwZqv93tY3W1VY_iB0g提取码:2p5y复制这段内容后打开百度网盘手机App,操作更方便哦六个文件,train.csv和train_1.csv内容一样,train_1.csv是稍微做了点处理的,val.csv和val_1.csv;test.csv和test_1.csv也是一样的.这是五分类的数据集,也可以将中性情感的样本去掉,变为sst-2数据集...

2021-01-01 09:47:07 3161 4

原创 python3.6+torch1.2实现Sentiment Analysis(数据集MR)

总共是下面几个文件:注意,最后一个是json文件,里面是电影影评数据集MR的划分出来的训练集生成的词典。是个字典文件,也可以自己再弄一个。在训练集上训练了10个epoch,结果大概是上图这个样子1、创建model_para.py文件,里面是模型的超参数。import argparseclass Hpara(): parser = argparse.ArgumentParser() ############# insert paras #############

2020-12-23 13:57:03 1219 9

原创 使用torch加载模型时出现字典键对应不起来的问题

问题描述:RuntimeError: Error(s) in loading state_dict for Model:Missing key(s) in state_dict: “MLP.3.weight”, “MLP.3.bias”, “MLP.6.weight”, “MLP.6.bias”.Unexpected key(s) in state_dict: “MLP.2.weight”, “MLP.2.bias”, “MLP.4.weight”, “MLP.4.bias”.这几天天天改bug,改

2020-11-25 12:19:21 942 1

原创 Python3.7+Tensorflow2.0(TF2)实现Bilstm+mask-self-attention+CRF实现命名实体识别

一、他说的是对的前几天看到一篇关于大连理工大学的研三学长的去世新闻,仔细看了他的遗书,很是泪目。他说同样的条件,做出的实验结果是不同的。在训练我这个模型的时候,深深体会到了这个感受,有时候收敛,有时候无论怎么也不收敛。可能这个还容易解释一点,模型的很多参数是初始化的,不同的参数会跑到局部最you,模型陷在了一个局部最优点,出不去。可能我这个模型的结构和参数都有问题,在训练过程中,损失最低也就是0.9+,然后别的一直就很高,都是三位数的损失,然后在测试集上训练的损失也很高,很是头疼的。希望大家一起加油

2020-10-20 15:41:08 4329 11

原创 Tensorflow2.0 Tensorflow_addons实现CRF(条件随机场)

最近想使用TF2.0实现一下命名实体识别,但是不大知道条件随机场该怎么实现,在网上搜了一下也没看到。今早吃饭的时候还在想我一定要亲自实现TF2版本的条件随机场。结果就在上课的时候突然发现了谷歌把contrib迁移到Tensorflow_addons里面import tensorflow_addons as tfaimport tensorflow as tfimport numpy as npinputs=tf.random.truncated_normal([2,10,5])target=tf

2020-10-16 11:13:53 4824 4

原创 李航老师《统计学习方法》第二版第十章课后题答案

10.1解:话不多说,上代码,自己写的哦,通用版,看到网上有多个不同版本的答案,还都是手算的,也是很佩服这些大佬的耐心,那么多的小数,还一点点的算。第一个函数Bw_Recurrent(A,B,start_p,list_observation)为后向算法,名字里面的Bw表示BackWards# -*- coding: utf-8 -*-"""Created on Sun Oct 11 13:38:34 2020@author: DELL"""import numpy as npdef

2020-10-13 20:00:25 3609 6

原创 Python+numpy实现隐马尔可夫模型的前向后向算法

一、两种算法大致弄一下吧,如果你已经看到了我的博客,说明你已经对这个算法有了一定的了解,我就不介绍了,大致看下李航老师书上的吧,很简单的,下面的算法我是直接从这篇博客上截的图刘建平Pinard十分感谢,我不想打公式,如有侵权,立马删除二、一点点思考:为什么可以使用这种递归计算除了里面具有动态规划的思想 我觉得可以这样实现还得益于概率计算的链式法则也就是P(a,b,c,d)=p(a)p(b∣a)p(c∣a,b)p(d∣a,b,c)P(a,b,c,d)=p(a)p(b|a)p(c|a,b)p(d|a

2020-10-11 15:41:06 543 1

原创 Python3.6和tensorflow1.14实现Bi-LSTM+Self-Attention+CRF实现命名实体识别

一、自己亲自实现过程中踩的坑跑通别人的模型可能很简单,但是自己亲自实现的时候却遇到各种各样的问题。不过还算比较幸运,自己目前遇到的问题,基本上都被前人解决了。其实这个模型网上一大堆,至于为什么要亲自实现,我给自己的理由是:如果我们想做点比较新颖的东西,那网上一定是没有的,终究还是要自己亲自实现,或者说去修改别人的代码。厚积薄发吧!!和大家分享一下自己遇到的坑,也算是警示后来人吧。1.1、TF1.14版本如何构建多层的LSTM或者别的RNN模型网上看到这样实现的。这样是不正确的,要是这样写,会各种报错

2020-10-10 17:26:37 3100 4

原创 李航老师《统计学习方法》第二版第十一章课后习题答案

11.1、写出图11.3中无向图描述的概率图模型的因子分解式。解:根据最大团的定义可知,该最大团共有两个最大团,李航老师的书上也指了出来。分别是:c1=(Y1,Y2,Y3),c2=(Y2,Y3,Y4) c_{1}=(Y_{1},Y_{2},Y_{3}), c_{2}=(Y_{2},Y_{3},Y_{4})c1​=(Y1​,Y2​,Y3​),c2​=(Y2​,Y3​,Y4​)那么根据Hammersley-Clifford定理,可以将图11.3上面的无向图的联合概率分布表示为:P(Y)=1Z∗Ψc1(

2020-10-05 16:50:23 3951 4

原创 Python和TensorFlow2实现ELMO(Embedding From Language Model)模型,并对源码做了一些改进

一、ELMO模型简介1.1、模型概要该模型主要是结合了字符卷积神经网络和双向LSTM网络。其中字符卷积网络是生成上下文无关的词向量表示,接着将该字符卷积神经网络的输出大小调整的LSTM需要的大小512(论文里面是这个)。再利用LSTM结构提取上下文相关的词向量表示。在这里我想要介绍下这个完整的模型,花了我很多时间,看了无数博客和文章以及近2000行的论文源码才把这个模型彻底搞清楚。啊哈哈哈,也不能说彻底吧,我自己的理解肯定是有限的。希望各位能批评指正,大家一起进步1.2 、字符卷积模块卷积层的构成

2020-10-01 12:33:15 2978 1

原创 NLPcc2013-2014微博文本情感分类数据集

从xml中提取的,文件格式为tsv,和csv差不多在这里插入代码片

2020-08-04 20:13:41 5780 8

原创 multiprocessing,_Thread,threading多线程多进程编程各种方法总结

如果您使用的是Windows系统,那么这一节的所有的程序都需要在cmd里面运行,例如python xxx.py。或者加上详细的路径进行运行,例如python python E:\并发编程\08使用继承方式创建进程.py。只有这种方法才可以在交互模式下看到子进程的输出结果。现在好像还没有很好的解决方法。在此特别感谢微信公众号:小猿学Python和北京尚学堂提供的资料和教程并发编程1、多任务在现实生活中,有很多场景中的事情是同时进行的。例如:开车的时候,手和脚需要共同操作来完成驾驶。再比如演唱会中唱歌和

2020-07-26 23:56:13 643 2

原创 李航老师《统计习方法》第二版第二十一章课后题答案以及关于PageRank的改进算法

1、李航老师《统计学习方法》第二版第二十一章课后题答案21.1 假设方阵A是随机矩阵,即其每个元素的非负,每列元素的和为1,证明AkA^{k}Ak仍然是随机矩阵,其中k是自然数。证明:为了方便的使用矩阵乘法,我们令A=ATA=A^{T}A=AT,也就是A是一个行随机矩阵,每行的元素之和为1.设eee是一个元素全为1的列向量,他的维数和矩阵A的位数是一样的。那么Ae=e(1)Ae=e\tag{1}Ae=e(1)在公式(1)的两边同时用AAA作用,得A∗Ae=A2e=Ae=e(2)A*Ae=A^{

2020-07-22 18:30:32 6506 1

空空如也

空空如也

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

TA关注的人

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