![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 63
水野与小太郎
blockchain & tensorflow ...learner...
展开
-
git 使用记录
上传 Task 1,上传文件,本地 cmd>> git config --global user.email 17768058801@163.com cmd>>git config --global user.email syyxtl cmd>> git init create two files cmd>> git add . cmd>> git commit -m "some tips" cmd&...原创 2021-03-07 12:51:02 · 241 阅读 · 0 评论 -
pytorch 输出网络结构(fine-tune 常用)
sudo pip3 install torchsummaryimport torchvision.models as modelsfrom torchsummary import summarydevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')vgg = models.vgg19().to(device)summary(vgg, (3, 224, 224))#print(vgg)转载 2020-12-22 10:32:59 · 1495 阅读 · 1 评论 -
强化学习: Natural Gradient Descent
一、ProblemsPolicy gradient 存在不少问题:比如:1、Poor sample efficiency as PG is on-policy learning,2、Large policy update or improper step size destroy the training 1 This is different from supervised learning where the learning and data are independent...原创 2020-09-02 23:49:30 · 831 阅读 · 0 评论 -
强化学习 策略梯度方法
一、策略估计方法 行为控制到目前为止,几乎所有的方法都是基于动作-价值函数的方法,它们都是先学习动作价值函数,然后再根据估计的动作价值函数选择动作,如果没有动作价值函数的估计,那么策略也将不再存在。下面会讲直接学习参数化的策略,这里给出一个例子:如果在上述游戏中,游戏者在灰色格子中难以分辨自己的位置,那么如果基于价值函数的方法会得到如下的策略:在灰色的格子上要么都是左,要么都是右,这很显然不能拿到金币,但如果直接学习策略函数,你用参数 theta 去估计策略函数pi,让他得到行动的.原创 2020-08-30 00:09:52 · 840 阅读 · 0 评论 -
Double Q-Learning 阅读记录
1、Overoptimism problem && maximization bias problemQ学习会带来很多问题,比如会导致最大化偏差问题,使得估计的动作价值偏大。2、Double DQNdouble DQN就是为了解决上面的问题,Double DQN很简单,对于DQN的改变如下所示:简单的理解是double-DQN,由于DQN中已经存在了target network,不需要构造额外的网络了,直接用target network去代表第二个Q表,其更新的.原创 2020-08-29 20:31:24 · 425 阅读 · 0 评论 -
DQN:强化学习 阅读记录
1、创新点1:Experience Replay与普通的TD-r不同的是,DQN采用了一种 experience replay的方式,experience replay会存储所有时刻agent的经验与回报。存储这些replay的数组结构被称为 replay memory。如上图所示,每一个replay memory被记录为(a, s, r, s)的元组,每次训练将随机选择memory中的一个进行训练。之所以这样做是因为:深度学习的输入是固定的,replay memory将记录保持为(a, .原创 2020-08-29 12:59:04 · 243 阅读 · 0 评论 -
强化学习 线性方法特征构造
线性方法是一种很好的价值函数拟合方式,不仅是因为他们有收敛性的保证,另外,他们在数据和计算方面都比较高效。然而,是否会具有这样的优势,即效果是否会很好,很大程度上取决于我们如何选取用来表达状态的特征。选择合适于任务的特征是将先验知识加入到强化学习系统的一个重要方式,直观的说,这些特征应该提取状态空间中最通用的信息。例如我们要对几何对象进行评估,那么我们可以选取形状,颜色,大小或者功能作为特征。如果我们正在评估一个移动机器人的状态,那么特征应该包括位置、电池电量、最近的声纳读数等等。线性形式.原创 2020-08-16 12:18:51 · 544 阅读 · 0 评论 -
强化学习 学习过程
https://github.com/syyxtl/RL-learn我会不断学习RL,然后跟着书籍编写RL学习代码:目前完成:K-bandits:了解ep-greedydp,dp2:dp methodrandom_walk:MC,TD(0) (doing)cliff_walking_sarsa, cliff_walking_Qlearning:sarsa,Q-learningrandom_walk_1000:linear-function fit method(doing..原创 2020-08-11 10:22:17 · 448 阅读 · 0 评论 -
强化学习 Sarsa & Q-learning:on & off policy策略下的时序差分控制
一、on policy & off policy所有的学习控制都面临着一个困境,他们希望学到的动作可以使随后的智能体行为是最优的,但为了搜索所有的动作(已找到最优动作),他们需要采取非最优的行动,如何在遵循探索策略采取行动的同时学到最优策略呢?第一种方式是:on policy,这种策略其实是一种妥协——他并不是找到最优的策略,而是学习一个接近最优而且扔能进行试探的策略动作值。另一种方式是:off policy,这种方式干脆使用两种策略,一个用来学习并最终称为最优策略,另一个则更加具有试.原创 2020-08-10 10:24:15 · 560 阅读 · 0 评论 -
强化学习 model free 蒙特卡洛增量 与 TD(0)
时序差分(TD)学习结合了蒙特卡洛方法和动态规划的方式:对于蒙特卡洛方法,其迭代的方式是用episode中所有的样本结果作为更新的目标,如下所示,Gt代表的是时刻t真实的回报,他是有所有根据样本得到。对于时序差分TD(0)则是用了其下一步状态的回报值作为 bootstrap 代替原样本的结果:所以对于蒙特卡洛方式,TD(0)只是改变了一个地方,即用 下一状态得到的真实值 + 下一状态的估计值 v(s+1)乘上一个折扣因子 gamma 代表全样本的sample 结果。这样的好处是,只.原创 2020-08-07 19:48:22 · 1257 阅读 · 0 评论 -
强化学习 蒙特卡洛模拟 一种model-free的强化学习方法
一、蒙特卡洛方法动态规划方法是建立在模型已知的情况下,但是往往大多数情况下模型是未知的,实际应用中我们不可能完全了解一个环境的所有知识,比如说得出它的状态转移矩阵。这个时候蒙特卡洛算法就派上用场了,它只需要从经验(experience)中去学习,这个经验包括样本序列的状态(state)、动作(action)和奖励(reward)。得到若干样本的经验后,通过平均所有样本的回报(return)来解决强化学习的任务。对于DP我们求解其价值函数V时,其方法是求解在当前状态下后续回报的期望即:蒙特卡.原创 2020-08-07 15:47:13 · 1096 阅读 · 0 评论 -
强化学习 有限马尔可夫决策过程
一、马尔可夫动力MDP(马尔可夫)是序列决策的经典形式化的表达,其动作action不仅影响当前的即时收益,还影响后续的状态以及未来的收益。MDP是一种通过交互式学习来实现目标的理论框架,进行学习及决策的机器被称为 agent。智能体之外所有与其相互作用的事物都被称为环境 environment。这些事物之间持续进行交互,智能体选择动作,环境对这些动作做出相应的响应,并向智能体呈现出新的状态。环境也会产生一个收益,通常是特定的数值,这就是智能体坐选择过程中最大化的目标(详见上文介绍:https://bl.原创 2020-07-02 21:58:46 · 667 阅读 · 0 评论 -
强化学习 了解强化学习的目标和回报
一、目标和收益智能体的目标被形式化的表征为一种特殊的信号,被称为收益,他通过环境传递给智能体,收益都是一个单一的标量数值,非正式的说,智能体的目标是最大化其收到的总收益,这意味这需要最大化的不是当前的收益,而是长期积累的收益。简单的说,我们所有的目标或者说目的,都可以被总结为,最大化智能体接受到的标量信号(即收益),累计和的概率期望值。-------使用收益信号来形式化目标是强化学习最显著的特征之一。二、回报和分幕我们已经知道了,智能体的目标就是最大限度地提高长期收益。那么我们应该怎样正式.原创 2020-07-02 16:34:08 · 3781 阅读 · 0 评论 -
Bounding Box regression
原创 2020-07-01 16:13:04 · 181 阅读 · 0 评论 -
强化学习从K-摇臂老虎机开始
0 K-摇臂老虎机如图所示,我们有几个单臂老虎机,组成一起我们就称作多臂老虎机,那么我们需要制定什么样的策略才能最大化得到的奖励。这里假设每个老虎机奖励的随机分布是不一样的。比如第一个分布,D1这个老虎机的分布大概率落在中间这部分,很小概率在两头的地方。假设用户是知道这些分布的,那么用户应当怎么选择?答案很简单,我们应当选择D5这个老虎机,因为它的平均值最高,而且有很大概率在靠右也就是正数范围内。但现在的问题是,用户实际上是不知道这些老虎机的概率分布的。那么我们需要一次次的尝试,尽可能快速.原创 2020-07-01 09:31:43 · 1564 阅读 · 0 评论 -
ROI pooling
https://github.com/deepsense-ai/roi-pooling https://github.com/yhenon/keras-spp原创 2020-06-29 15:20:33 · 187 阅读 · 0 评论 -
GYM 强化学习 文档 (一)
一、安装 Installation:pip install gym二、环境 Environments:以下是让强化学习运行的最小化的原始案例,首先,我们会初始化一个CartPole-v0(即手推车-杆子游戏的初始化环境) 环境,并渲染他的行为1000次,具体代码如下:[具体运行案例,放到本地环境运行]import gymenv = gym.make('CartPole-v0')env.reset()for _ in range(1000): env.render() e.翻译 2020-06-28 13:31:13 · 1113 阅读 · 0 评论 -
keras 迁移学习 50% — at least 70%
1、从模型中间层级获取特征向量# Step 1 , train a model and # model.save("demo.h5")# Step 2 , load model and watch the coresponding layer namebase_model = load_model('demo.h5')print(model.summary())'''____________________________________________________________.原创 2020-06-20 14:49:35 · 271 阅读 · 0 评论 -
keras mnist ___ 全连接方式、卷积方式,94.8% __ 96.4%
方式一:全连接方式:from keras.models import Sequentialfrom keras.layers import Reshape, Convolution2D, Activation, MaxPooling2D, Flatten, Densefrom keras.optimizers import SGDclass Inputs(object): def __init__(self): from tensorflow.examples.tutorials.m.原创 2020-06-17 16:33:27 · 192 阅读 · 0 评论 -
tf中的RNN
https://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/python/ops/rnn_cell_impl.py一、tensorflow:RNNCell、BasicRNNCell、BasicLSTMCellRNNCell只是一个抽象类,我们用的时候都是用的它的两个子类BasicRNNCell和BasicLSTMCell,对于每一个RNNCell都包含以下的属性的参数:即 inputs, state, scope..转载 2020-06-05 23:10:49 · 694 阅读 · 0 评论 -
以textCNN为例,搭建属于自己的tf风格的深度学习代码
建议在编写深度学习代码时分成以下几个步骤:Step 1:编写 网络结构 文件Step 2:编写输入文件——读写训练集,测试集样本Step 3:编写 训练网络文件 3.1:调整输入 格式 3.2:具体训练内容——优化函数等第一步:搭建model,即网络的结构,多少个卷积层,多少个池化层,全连接层等等,建议编写一个类如Class TextCNN:import tensorflow as tfimport numpy as npcla...原创 2020-06-03 22:32:20 · 343 阅读 · 0 评论 -
tf1.X 利用VocabularyProcessor制作词袋
import jiebaimport numpy as npfrom tensorflow.contrib import learnDOCUMENTS = [ '这是一条测试1', '这是一条测试2', '这是一条测试3',]def chinese_tokenizer(docs): for doc in docs: yield list(jieba.cut(doc))# 最长词袋长度,最小频率,分词函数vocab = learn.p..原创 2020-06-03 22:28:24 · 207 阅读 · 0 评论 -
深度学习学习日记_textCNN 文章解读
pdf下载:https://arxiv.org/pdf/1408.5882.pdf翻译 2020-06-03 16:32:07 · 643 阅读 · 0 评论 -
数据分析——假设检验
1 t检验t检验,亦称student t检验(Student's t test),主要用于样本含量较小,总体标准差σ未知的正态分布。 换句话说,如果样本量很小的时候,并且你不知道样本的方差,那么你可以用t分布去代表正太分布去做一些统计上的工作。如果方差已知,那么可以直接用正太分布去做统计。t检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。1.1 一个例子...原创 2020-05-02 20:24:44 · 1290 阅读 · 1 评论 -
数据分析——多重共线性检验
在做线性回归的时候,一般分为以下几个步骤:1、画散点图,简单的查看是否存在线性关系(3D以下)2、线性模型跑一遍试试效果3、其中需要查看以下几个指标: 3.1 正太分布检验 3.1 多重共线性 3.2 变量显著性 3.4 拟合效果4、解释变量上面一篇文章了解了如何利用t检验进行变量的显著性检验,下面着重学习如何进行多重共线性的检验一、辅助...原创 2020-05-03 11:20:35 · 50175 阅读 · 0 评论 -
keras steps_per_epoch=sample_numbers // batch_size
one epoch:所有的训练样本完成一次Forword运算以及一次BP运算batch size:一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数并不是由一个{data:label}获得的,而是由一组数据加权得到的,这一组数据的数量就是[batch size]。当然batch size 越大,所需的内存就越大,要量力而行iteratio...转载 2019-11-18 12:02:53 · 923 阅读 · 0 评论 -
Building powerful image classification models using very little data
一、主要内容在下面的教程中,我们会搭建一个有效的分类器,只有小数据量的数据,其中要学习到以下方面的知识:training a small network from scratch (as a baseline) #从头开始训练一个小的网络 using the bottleneck features of a pre-trained network #使用上层的、预训练的、网络的特征...翻译 2019-11-18 00:15:09 · 238 阅读 · 0 评论 -
深度学习学习日记:Keras接口记录
打算用Keras做迁移学习,书上和资料上说用keras做迁移学习比较方便(毕竟大部分迁移学习都是用的那些比较常用的数据集,keras比较适合和方便做)Keras有两种构建模型的方式:sequential(适用于简单模型)和 function API(适用于复杂的模型)sequential Modelsequential 有如下常用方法: compile(optimizer, l...翻译 2019-11-11 22:03:58 · 203 阅读 · 0 评论 -
机器学习学习日志_熵
信息熵1、信息量是度量 信息的单位2、信息的信息量的大小与 事件发生的概率相关:比如你想要得到(中国男足失利)这条信息,这条信息的信息量可以看做很小,因为你心里默认这是必然的,你学不到任何知识;相反的,如果你得到的是(中国男足夺冠)这条信息,这条信息的信息量将会很大,你就会点击相应的连接去了解(你的价值观都被颠覆了)3、设一条信息的信息量为 I(x),两条信息的信息量为 I(x)+I...原创 2019-11-09 15:47:51 · 432 阅读 · 0 评论 -
深度学习学习日记_图像处理_NMS
了解:http://www.360doc.com/content/19/1107/16/67231541_871698395.shtml1、为什么需要置信区间:误差范围(区间)在统计概率中就叫做置信区间;简单来说,置信区间就是误差范围。举例:假设一个同学考了两次才过英语四级,第一次53分,第二次63分。他两次考试的成绩可以不叫作进步,可以称为在某个正确值之间的测量误差范围之内。2、置信区...原创 2019-11-08 13:34:48 · 380 阅读 · 0 评论 -
深度学习学习日记_receptive field
经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感知域receptive field【有人翻译是感受野:我一直不知道为什么翻译成“野”,就叫他感受野吧....】(receptive field, RF)是anchor的基础。感受野定义:(https://zhuanlan.zhihu.com/p/441064...转载 2019-10-20 13:57:42 · 387 阅读 · 0 评论 -
深度学习学习日记_FCN_(1) shift_and_stitch
当网络最后一层输出的prediciton map size和label map size大小不匹配时,除了bilinea interpolation等暴力措施,且不采取unpooling,deconvolution等decoder结构, 为了实现dense prediction, 该怎么做呢?《Fully Convolutional Networks for Sema...转载 2019-10-17 09:44:11 · 843 阅读 · 0 评论 -
深度学习学习日记_FCN_(2) 文献阅读
Fully Convolutional Networks for Semantic Segmentation(SS)文献阅读记录用1、Abstract:训练端到端,pixel到pixel的卷积网络,使其适应任何大小的输入,并且给出对应输入大小的输出。(1)文章解释FCN需要做到主要任务是:网络的dense prediction(具体的pixel属于哪个类别)(2)主要过程是:将...原创 2019-10-18 16:20:02 · 367 阅读 · 0 评论 -
python 自然语言处理 统计语言建模 - (n-gram模型)
N-gram语言模型考虑一个语音识别系统,假设用户说了这么一句话:“I have a gun”,因为发音的相似,该语音识别系统发现如下几句话都是可能的候选:1、I have a gun. 2、I have a gull. 3、I have a gub. 那么问题来了,到底哪一个是正确答案呢?一般的解决方法是采用统计的方法。即比较上面的1、2和3这三句话哪一句在英语中出现的概率最高,哪句概率...转载 2018-11-30 15:49:38 · 3613 阅读 · 0 评论 -
博弈论 游戏寻路 搜索算法 A*算法
今天想跟大家聊的,是我们经常用到,但是却让大家觉得十分神秘的那个算法:A* 。想必大家都玩儿过对战类的游戏,老王读书那会儿,中午吃完饭就会跟几个好哥们儿一起来两局红警。后来升级了,玩儿星际(是不是暴露年龄了,哈哈~~)。 玩儿的时候,就会发现这里面的兵(为了方便描述,把坦克、飞艇、矿车、龙骑等统称为兵),你只要指定好地点,他们就会自己朝目的地进发转载 2018-02-28 21:14:56 · 932 阅读 · 0 评论 -
深度学习学习日记_Region proposal
定义:Region Proposal(候选区域),就是预先找出图中目标可能出现的位置,通过利用图像中的纹理、边缘、颜色等信息,保证在选取较少窗口。目前的目标检测也被分为:有Region Proposal的方式(Faster-RCNN等)和没有Region Proposal的方法区分(YOLO等)其他的必须了解一些概念:Bounding boxes、Region Proposal、...原创 2019-10-11 16:25:09 · 2531 阅读 · 0 评论 -
自然语言处理 gensim
这里我需要申明,我写的所有文章,都是为了我自己以后复习用的一、gensim基本上分为以下三个步骤Corpora and Vector Spaces //词向量和向量空间Topics and Transformations //主题变化Similarity Queries //相似性查询二、一个例子#step 1corpus = [[...原创 2019-03-20 23:29:17 · 702 阅读 · 0 评论 -
梯度下降法
梯度下降(Gradient Descent)小结 -2017.7.20在求解算法的模型函数时,常用到梯度下降(Gradient Descent)和最小二乘法,下面讨论梯度下降的线性模型(linear model)。1.问题引入 给定一组训练集合(training set)yi,i = 1,2,...,m,引入学习算法参数(parameters of learning algorithm)θ1...转载 2018-05-10 14:09:20 · 188 阅读 · 0 评论 -
python 决策树简单实现(2)
决策树简单实现(1)如何构建决策树?我们知道树的构建过程是递归,递归最终要的就是找到边界条件,决策树的递归结束条件是:1、程序遍历玩所有划分的数据集的属性;2、每个分支下的所有势力都具有相同的分类;def createTree(dataSet,labels): classList = [example[-1] for example in dataSet] if classList.c...原创 2018-04-21 21:22:22 · 415 阅读 · 0 评论 -
超好理解的PCA 特征选择
一、PCA简介1. 相关背景主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目,所以记录一下心得体会。转载 2018-03-31 08:56:01 · 21860 阅读 · 8 评论