- 博客(87)
- 资源 (2)
- 收藏
- 关注
原创 (转载)简述马尔可夫链
马尔科夫链的思想:过去所有的信息都已经被保存到了现在的状态,基于现在就可以预测未来。状态转移矩阵有一个非常重要的特性,经过一定有限次数序列的转换,最终一定可以得到一个稳定的概率分布 ,且与初始状态概率分布无关。参考:https://zhuanlan.zhihu.com/p/448575579。”,即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。马尔科夫链为状态空间中一个状态到另一个状态的转换随机过程,该过程要求具备“可以用来求一段时间变化后的转移概率矩阵,直接用执行矩阵乘法。
2023-04-22 12:56:37 535
原创 DIDL笔记(pytorch版)(十二)
文章目录图像增广锚框图像增广import d2l as d2lfrom PIL import Imagefrom matplotlib import pyplot as plt # 画布import torchvisiondef show_images(imgs, num_rows, num_cols, scale=2): figsize = (num_cols * scale, num_rows * scale) _, axes = plt.subplots(num_
2021-06-15 18:44:43 674
原创 DIDL笔记(pytorch版)(十一)
文章目录前言AdaGrad算法代码RMSProp算法代码AdaDelta算法Adam算法补充前言已知梯度下降会因为不同维度收敛速度不同导致震荡幅度加大的问题,动量法提出当前梯度方向应充分考虑之前的梯度方向 缓解了梯度震荡幅度大的问题。但是上面两种对于每个维度的梯度值使用同样的学习率,这会导致个别维度收敛速度过慢。AdaGrad算法,它根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题。AdaGrad算法AdaGrad算法还是有问题的:当学习率在
2021-06-10 16:07:49 475
原创 DIDL笔记(pytorch版)(十)
文章目录前言前言优化方法中,梯度下降、随机梯度下降、小批量随机梯度下降已经在前面讲过线性支持向量机的随机梯度下降和逻辑斯蒂回归的梯度下降。核心在与我们需要得到的多维参数x(或者w),都是先初始化后(0或者随机),依靠下面公式不断迭代,满足最终条件结束得到的。梯度下降也是有问题的,它对于自变量的迭代方向仅仅取决于自变量当前位置,不考虑之前的方向,这带来的问题明显的表达就是震荡。...
2021-06-08 17:14:46 533
原创 DIDL笔记(pytorch版)(九)
文章目录标准化和归一化全连接层批量归一化卷积层批量归一化预测时批量归一化残差网络背景残差块标准化和归一化标准化处理:(x - x.mean()) / (x.std())处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据使各个特征的分布相近:这往往更容易训练出有效的模型。对深层神经网络来说,即使输入数据已做标准化,训练中模型参数的更新依然很容易造成靠近输出层的输出剧烈变化。在模型训练时,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各
2021-06-05 11:35:11 458
原创 DIDL笔记(pytorch版)(八)
文章目录前言NiNGoogLeNet前言LeNet、AlexNet和VGG都是不断的加深模型的层数,看网络结构可以看出后者有前者的影子,并且都是一系列卷积+最后全连接的操作。NiN却是网络串联网络,并且NiN最后的分类方法也很不同。NiN之前的网络都是卷积提取特征之后带全连接做分类。NiN提供另一个思路,卷积层和全连接层交替。因为全连接层的输入输出要是二维,卷积通常是四维,为了方便全连接层使用1 ×\times× 1 卷积代替。原理之前解释过。贡献:空间信息有效的传递到后层。最后分类采用输
2021-06-03 21:40:06 275
原创 DIDL笔记(pytorch版)(七)
文章目录前言LeNetAlexNetVGGNet前言大致总结一下深度学习的流程:配置变量:批次,学习率,迭代次数设备等。导入数据:数据预处理(标准化,清洗,去噪,划分数据集),弹性形变等。搭建网络:卷积、池化、激活函数等。训练模型:选择损失函数,选择优化方法,迭代循环嵌套批次循环。(训练外层可以套k折交叉验证)内层循环执行过程:x输入网络得到输出y->y与标签比对得到损失->梯度清零->计算梯度->反馈->记录损失以及正确率方便每次迭代后展示。LeN
2021-06-02 11:18:48 474 1
原创 VGGNet论文总结
文章目录VGG简介VGGNet目的和结果VGGNet架构和特点VGGNet的训练训练时图像处理测试测试的两种策略VGG简介论文名称:《VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION》。作者团队:Karen Simonyan ∗ & Andrew Zisserman +;Visual Geometry Group, Department of Engineering Science, University o
2021-06-01 15:49:00 1886 2
原创 DIDL笔记(pytorch版)(六)
文章目录前言卷积运算和互相关运算卷积之后输入输出大小问题填充步幅前言只记录感兴趣的知识点。卷积是网络中的一些操作。卷积运算和互相关运算互相关运算就是输入子数组与核数组按照元素相乘并且求和得到。但是卷积运算其实是数学中比较重要的运算,是一种特殊的加权求和。卷积运算与互相关运算的不同体现在"卷",意思是核数组需要在原来的基础上翻折或者旋转(180度)再和输入按位相乘并求和。但其实没有关系,在深度学习领域里面,我们一般把互相关运算就叫做卷积运算,因为核数组旋转与否不影响最终结果。参考:https
2021-06-01 12:05:10 457
原创 DIDL笔记(pytorch版)(五)
模型构造方法一:继承nn.Module类(常用)nn.Module类是所有神经网络模块的基类。用这么类构造模型需要重载__init__函数和forward函数(正向传播)。文中说这个类无须定义反向传播函数,因为系统会自动生成,其解释看下面参考。参考:https://zhuanlan.zhihu.com/p/37213786https://www.cnblogs.com/luckyplj/p/13378293.html虽然最后的结果会grad_fn会显示AddmmBackward,但是这个并没有
2021-05-28 14:59:59 329
原创 DIDL笔记(pytorch版)(四)
文章目录正向传播反向传播衰减和爆炸正向传播白话总结:输入xxx与W(1)W^{(1)}W(1)做乘运算得到zzz,zzz经过激活函数得到中间层输入hhh,hhh与W(2)W^{(2)}W(2)做乘运算得到输出结果ooo,到这里就如果是预测就结束了,但是如果是训练的话还需要其他步骤。ooo与真值yyy经过损失函数得到损失值LLL,LLL再与正则化项sss(W(1)W^{(1)}W(1)、W(1)W^{(1)}W(1)得到)相加得到目标函数JJJ,我们在学习的时候就知道,我们要做的就是最小化目标函数JJJ
2021-05-26 16:29:40 293
原创 DIDL笔记(pytorch版本)(三)
文章目录拟合问题权重衰减拟合问题在训练数据集大小一定的情况下,模型越简单,但是数据复杂。训练初期误差下降后,后面难以继续降低,即使在最后一次结束,训练误差还是很高。训练数据集过少,甚至少于模型参数数量时,这样会显得模型过于复杂,容易被训练数据中的噪声影响。即使经过迭代训练误差下降,但是在测试数据集上误差很高。欠拟合指模型无法得到较低的训练误差,过拟合指模型的训练误差远小于它在测试数据集上的误差。权重衰减权重衰减 = 正则化;正则化通过为模型损失函数添加惩罚项使学出的模型参数值较小。为什么呢?
2021-05-26 14:53:11 213
原创 dive into deep learning 笔记(pytorch版本)(二)
文章目录前言softmax的原始代码前言softmax回归其实和普通线性回归很像,只是普通的线性回归是二分类,但是softmax可以是多分类。oi=xiW+b,yi=softmax(oi) o^i = x^iW+b, \\y^i= softmax(o^i)oi=xiW+b,yi=softmax(oi)softmax的原始代码在这里插入代码片...
2021-05-24 19:48:34 385
原创 dive into deep learning 笔记(pytorch版本)(一)
文章目录前言算数操作索引前言只记录感兴趣的东西,详细参考如下。参考:http://tangshusen.me/Dive-into-DL-PyTorch/#/《dive into deep learning》pytorch文档:https://pytorch.org/docs/stable/torch.html算数操作pytorch算数运算+、-、*、/,除了最常见的表示方法,还有in-place(原地)形式y.add_(x)# 注:PyTorch操作in-place版本都有后缀_,
2021-05-22 17:07:48 941 1
原创 普通用户git安装、使用git上传与下载
文章目录前言linux安装git安装yum和依赖包安装git前言虽然普通用户可以安装git,但是一些依赖包还是要用root来解决,依赖包太多,让root来安装最快。linux安装git安装yum和依赖包输入一下命令,在root用户下面:apt-get updateapt-get upgradeapt-get install yum这几步安装好了发现没有源,接着在root下输入下面命令apt-get install build-essentialcd /etc/yum/repos.d/
2021-03-23 15:18:39 829
原创 非线性支持向量机与SMO
文章目录前言常用的核函数smo个人白话理解smo的两个变量如何选择参考前言其实在学过线性支持向量机的学习算法以及它的最优化问题数学形式的时候,非线形支持向量机的就很好理解了,唯一不同的是xi∗xjxi *xjxi∗xj变成K(xi∗xj)K(xi*xj)K(xi∗xj)了常用的核函数带进去就完事。smo个人白话理解smo算法要做的基本思路是,如果所有的αi\alpha_{i}αi都满足KKT那么这个最优解就找到了。它选择两个变量(α1,α2\alpha_{1},\alpha_{2}α1,
2021-03-07 19:35:23 379
原创 python *在矩阵和数组中的区别
前言写代码的时候发现用*不用具体的函数,在矩阵和数组中是不同的。如果矩阵和数组是*一个数,结果相同。数组使用.T不会报错但不会发生变化。矩阵中import numpy as np# 先设置三个矩阵a = np.mat(np.array([1,2,3]))b = a.T # 转置变化c = np.mat(np.arange(6).reshape(2,3))print(a*b) # *相当于矩阵乘法print(a*c) # 会报错,(1,3)与(2,3)无法用矩
2021-03-06 20:29:30 241
原创 vscode远程连接+调试代码
前言本地系统为windows10;提前下载好vscode;已知跳板机ip和密码,内网服务器ip和密码;Vscode安装remode development插件(安装后出现电脑图标)Windows上安装openssh在windows上VSCode使用的默认ssh工具存在实现上的问题 ,会有报错:过程试图写入的管道不存在。需要下载openssh!!!以管理员身份运行window Powershell(windows键+x,然后选(A))输入如下两条命令:第一条命令:Get-Wind
2021-02-04 18:48:04 793
原创 记录向——图
文章目录并查集拓扑排序并查集最先接触到并查集是在克鲁斯卡尔算法中,构建最小生成树。并查集在这里最核心的作用就是看有没有环。最核心的几句代码就是://首先初始化parents[i]=i//再定义查找函数int find(int *parents, int f){ while(parents[f]!=f){ f=parents[f]; } return f;}//当分别从两个点出发,查找的结果相同说明构成回路,否则就是出现一条可以走的路径n=find(parents,a)m=find
2021-01-12 13:51:40 119
原创 线性可分的支持向量机与线性支持向量机的个人白话总结
文章目录前言几何间隔函数间隔线性可分的支持向量机如何求解算法流程线性支持向量机算法流程代码前言支持向量机包括:线性可分的支持向量机;线性支持向量机;非线性支持向量机。本篇文章总结前面两种。支持向量机与感知机的关系:间隔最大化的感知机==支持向量机,它是唯一的。从这里也可以看出,我们在满足正确分类的前提下,还要最大化间隔。感知机不用,只要别误分类就行。几何间隔先想一想点到直线的距离公式,再看几何间隔公式:r=ywTx+b∣∣wT∣∣r=y\frac{w^Tx+b}{||w^T||}r=y
2021-01-11 20:56:13 720
原创 Pytorc学习笔记
文章目录基础知识机器学习的操作数据集的处理基础知识创建tensorimport torch# 构造5x3的矩阵,不初始化result = torch.empty(3,3) # 构造一个随机初始化的矩阵x = torch.rand(5,3) # 直接用数据构造一个张量x = torch.tensor([5.5,3]) # 数据类型是int32的0矩阵y = torch.zeros(3,3,dtype=torch.float) # 默认返回一个与y有同样torch.
2021-01-11 15:41:46 365 1
原创 算法思想
算法思想名称定义问题满足递归定义一个函数,出现调用函数本身的操作1. 问题需要转换为多个子问题解决,而且这些子问题的解法和原问题相同,只是数量规模不同;2. 递归调用的次数必须有限;3. 有递归结束条件来终止。递归不仅是一个算法思想,它还是实现其他算法思想的工具分治原问题分解为相互独立的子问题,子问题的解合并为原问题的解1. 大问题可以分解为相互独立的与原问题形式相同的小问题;2. 各小问题的解合并成为原问题的解。3. 相互独立意味着子问题之间互不干扰这个算法思想需...
2021-01-09 10:15:58 124 1
原创 以普通用户的身份安装tensorflow+cuda
大前提在安装任何都东西之前我们先想好自己要安装什么版本的,在tensorflow官网可以查看。这里我选择的是python3.6+tensorflow2.0.0+cuda10.0+cudnn7.4安装anaconda用python永远逃不了环境问题,老老实实先安装个anaconda再说。参考这里安装temnsorflow安装好anaconda以后也有了一个python为3.6的环境,我们进入环境安装tensorflowconda install tensorflow==2.0.0安装cuda+
2021-01-08 21:55:45 129
原创 线性支持向量机的随机梯度下降
算法和代码之间的误区在看统计学习方法的时候,线性支持向量机学习算法变成代码时,下面这个函数不知道如何构造成算法:为什么我认为需要上面这个函数呢,是因为随机梯度下降,需要求梯度,也就说求导,没有函数如何求导。(这是我当时单纯的想法)。后来经过老师的解答发现,现实中从来不写这种函数,因为现实给你数据,你不会知道这个数据会满足什么样的函数的。所以一般的求梯度这个过程直接由数据完成,也就是说知道x,y,就可以求梯度。参考:https://www.jianshu.com/p/9d8e8db52dde
2021-01-08 21:42:10 1116
原创 0经验使用Mac遇到的问题(持续更新)
文章目录界面问题快捷键问题菜单栏问题界面问题左上角时菜单栏,右上角是状态栏,下面一行叫程序坞快捷键问题牢记Mac键盘的command == 普通键盘的win;Mac中常用快捷键:菜单栏问题打开某个应用发现没有菜单栏了,其实在电脑的左上角!(各种窗口的都是,比如safari、pycharm)...
2020-12-26 18:27:30 168
原创 MAC本地python环境的迁移到Linux服务器上
#1. 先在服务器上下载anacondawget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.2.0-Linux-x86_64.sh#2. 安装sh Anaconda3-5.3.1-Linux-x86_64.sh#3. 更改配置vim .bashrcexport PATH=/home/wuxin/anaconda3/bin:$PATH #添加source .bashrc#4. 搭建、激活、退出环境con
2020-12-26 18:23:51 888
原创 hadoop多节点以及mapreduce数词
文章目录Single-Node HadoopConfigure Hadoop Cluster and Run Mapreduce JobWordcount 小文件Single-Node Hadoop准备工作在阿里云服务器上面购买云服务器,购买配置可为2vCPU,2GB内存,40GB的硬盘。修改主机名称以及添加host1). vim /etc/hosts # append (云服务器的私网地址) master master2). vim /etc/hostname #modify ma
2020-12-01 11:15:35 229
原创 最大熵模型以及拉格朗日对偶性
文章目录前言最大熵原理模型策略算法前言最大熵模型(maximu entropy model)是多类分类方法,属于判别模型。最大熵原理最大熵模型是由最大熵原理推导实现。最大熵原理是概率模型学习的一个准则,它认为在满足所有约束条件下,把不确定部分当作等可能的概率模型中,熵最大的模型是最好的模型。不确定部分等可能是因为我们没有更多的信息,对于不确定的地方我们不清楚不了解,那么公平起见,都是等可能性的吧。举个例子:给你一个骰子,没有任何其他信息我们认为每个面的概率都是等可能的1/6。模型首先提取
2020-11-09 17:40:05 1493
原创 逻辑斯蒂回归以及它的梯度下降法
预测任务分为:前面提到用感知机进行分类时,得到了是离散变量。但是实际上是因为signsignsign函数,如果用这个函数,不就是线性回归了嘛!逻辑斯蒂回归(logistic distribution)模型适用于多类分类问题,它是对数线性模型,属于判别模型。它源自于逻辑斯蒂分布。优点:计算代价不高,易于理解和实现。缺点:容易欠拟合,分类精度可能不高。首先我们需要知道什么是sigmoidsigmoidsigmoid函数?sigmoidsigmoidsigmoid是一个在生物学中常见的S型生长曲线,sig
2020-11-06 16:37:52 4240
原创 同济教材的函数凹凸性与最优化问题的图像凹凸函数
参考:https://baike.baidu.com/item/%E5%87%BD%E6%95%B0%E7%9A%84%E5%87%B9%E5%87%B8%E6%80%A7/4583322?fr=aladdinhttps://www.zhihu.com/question/31160556在同济教材中学到的函数凹凸性但是看下面的函数凹凸判别法,这个国内外的说法是一致的。最优化问题的凹凸函数在使用梯度下降法求目标函数的解,如果函数是凸函数的时候就是全局最优解。此时的凸函数的形状是:定义:这.
2020-11-06 10:32:28 2271
原创 python——numpy基本用法学习笔记
文章目录生成数组数组基本信息数组修改数组操作1. 矩阵操作2. 基本索引3. 布尔索引生成数组# N维数组对象——ndarraydata = np.random.randn(n, m) # 随机生成(n,m)维数组arr = np.array() # array函数可以接受任意序列型对象np.zeros(n) # 生成长达n*1维数字为0的数组np.zeros((n, m)) # 生成长达n*m维数字为0的数组np.empty((2, 3, 2)) # 生成2*3*
2020-10-30 15:42:58 576
原创 决策树——ID3、C4.5、CART、剪枝
文章目录前言一.模型二.策略前言决策树(decision tree)是一种基本的分类与回归方法,属于判别模型。《统计学习方法》重点讨论分类决策树。一.模型分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点类型包括:内部结点和叶结点。内部结点表示一个特征或属性,叶结点表示一个类。每一个实例的特征都只会与一条路径上的特征一致。二.策略...
2020-10-29 18:00:41 1063
原创 朴素贝叶斯的原理以及代码
朴素贝叶斯前言一. 模型二. 策略三. 算法四. 求先验概率和条件概率的不同方法极大似然估计贝叶斯估计前言朴素贝叶斯法(naive bayses)是基于贝叶斯定理和条件独立假设的分类方法,属于生成模型。贝叶斯定理:条件独立假设:用于分类的特征在类确定的条件下都是条件独立的(作用是简化运算)。一. 模型通过训练集学习联合概率分布P(X,Y)。不过在此之前需要先学习先验概率和条件概率分布。先计算P(Y=c_k)这个先验概率分布:根据条件独立性假设计算P(X=x|Y=c_k)这个条件概率分布:
2020-10-15 11:40:30 888
原创 k近邻算法原理以及代码
前言K近邻(k-nearest neighbor, K-NN),从名字可以看出是找到k个最近的邻居。它是一种基本的分类与回归方法。虽然在《统计学习方法》中只讨论他的分类问题,但是其实回归问题也与分类问题类似。k近邻算法在我看来就是一个近朱者赤,近墨者黑的算法。一. 模型KNN没有显式的学习过程,它不像感知机需要学习得到一个超平面划分区间,收到新样本后按照划分的区域分类。KNN不对已知数据点做处理学习,待收到新样本后根据数据点直接进行处理(数k个近邻分类)。利用训练数据对特征空间的划分得到的特征空间是
2020-10-13 17:35:05 784
原创 机器学习基石笔记
一. 机器学习什么时候用事物本身存在某种潜在规律某些问题难以使用普通编程解决有大量的数据样本可供使用二. 机器学习的基本流程x 表示输入y 表示输出f: x->y 表示目标函数。要得到,但是不知道的理想函数D:{(x1,y1),(x2,y2),(x3,y3),…} 表示训练集or资料H 表示假说,一个机器学习模型可有多个假设g: x->y 从H中得到一个最好的假设,它对应的函数g与f很像,表示最终的实际函数A 机器学习的核心演算法机器学习的流程示例:三
2020-09-16 10:31:11 333
原创 excel——宏表函数
返回NA表示禁用了宏get.cell(type_num,reference) 获取单元格的信息formulatext() 获取单元格公式get.workbook()type_num:1 获得的数据是一个数组,想要获得数组中的数位index(数组,row())hyperlink(链接,名字)实现点击链接切换工作簿:hyperlink(index(数组,1)&"!a1")evaluate() 运算substitute(字符串,目标字符,替换为什么字符)...
2020-07-13 20:40:04 781
原创 excel——几个美观的图形实例
一. 中心坐标选中数据->插入二维条形图->选中其中一个颜色的数据->右键设置数据系列格式设置为次坐标轴->在选择坐标轴变成逆序刻度值;让蓝红数据分开,选中坐标轴,设置坐标刻度为固定值,最小值为-1,最大值为1;次要坐标轴可以把文本选项设置为无,线条也设置为无,或者直接删除;设置坐标轴->标签,选择位置在高的一边或者低的一边;阴影,数据标签。。。;把数值都已正表示,设置坐标轴格式,数字设置为:0%;0%,添加然后关闭;复制图片->右键图表的白色边缘->
2020-07-06 16:47:45 814
原创 excel——动态图表
勾选显示的图表在功能区显示开发工具:文件->选项->自定义功能区的右侧->开发工具开发工具->插入->插入复选框复选框关联:右键设置控件格式->控制->单元格链接->选择单元格->确定->公式选项卡定义名称->输入名称->输入引用为if(复选框的结果,选择数据,选择空白数据)->创建空白的折线图->右键选择数据->添加->系列值为:=excel表名!定义的名称动态数据透视表数据透视表建立好以后如果
2020-07-06 14:41:17 349
python hadoop mapreduce 相似用户|mapreduce.rar
2020-12-01
python 图像金字塔 模版匹配
2020-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人