Ivan

个人博客

[机器学习] 强化学习DQN入门Demo之CartPole

CartPole Pytorch

前言最近在入门强化学习(RL)及DQN,看了一些博文和文章,花了2天时间跑了下DQN的经典demo—CartPole。其中踩过一些坑,本篇文章就简单谈一谈强化学习、DQN和我跑的入门demo。 什么是强化学习?强化学习是一类算法,是让计算机实现从一开始完全随机的进行操作,通过不断地尝试,从错误中学习,最后找到规律,学会了达到目的的方法。这就是一个完整的强化学习过程。让计算机在不断的尝试中更新自己的行为,从而一步步学习如何操自己的行为得到高分。 强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。按给定条件,强化学习可分为基于模式的强化学习(m......

[软件安装] CUDA+cuDNN+Tensorflow-gpu+Keras安装教程

简介最近电脑重装,重新装了下深度学习数件套,结合之前安装遇到的一些问题和踩过的坑,决定写一篇安装教程。以下安装建议按照顺序进行,否则会有不必要的兼容性问题。软硬件环境如下: Windows 10NVIDIA MX350 CUDA首先打开N卡的控制面板界面,点击左下角的系统信息,如下图所示: 接着点组件,找到NVCUDA.DLL一项,查看显卡支持的最高版本号的CUDA版本,笔者的显卡支持的CUDA版本最高为10.2,如下图: 接下来是很重要的一步,不可跳过!打开https://tensorflow.google.cn/install/source_windows网站,查看tensorflow各......

[深度学习] 神经网络参数Batch size浅谈

Batch Size一次训练所选取的样本数 GD / batch-GDGradient Descent,没有Batch Size SGDStochastic Gradient Descent,Batch Size=1 mini-batch SGD选择合适Batch Size的SGD mini-batch优点 提高运行效率、相比GD,一个epoch更新多次参数,加速收敛解决训练集过大无法一次性读入内存的问题人为给训练带来噪声,带领算法走出鞍点 大Batch Size优缺点 并行化提高内存利用率、发挥GPU性能一次epoch所需迭代次数减少、数据处理速度快梯度准确、震荡小、稳定性高、容易收敛泛化性......

[其它] Editor.md 开源在线 Markdown 编辑器

Editor.md 目录 (Table of Contents) 目录 Editor.mdHeading 1Heading 2Heading 3Heading 4Heading 5Heading 6Heading 1 link Heading linkHeading 2 link Heading linkHeading 3 link Heading linkHeading 4 link Heading link Heading link Heading linkHeading 5 link Heading linkHeading 6 link Head......

[笔记] 2020-03-19

MySQL事务基本要素、事务隔离级别

事务的基本要素(ACID)1.原子性(Atomicity)要么全部做完,要么全部不做2.一致性(Consistency)事务开始之前和事务结束以后,数据库的完整性没有被破坏3.隔离性(Isolation)同一时间,只允许一个事务请求同一数据4.持久性(Durability)事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便系统故障也不会丢失 MVCC(Multi-Version Concurrency Control)多版本并发控制,通过保存数据在某个时间点的快照 事务隔离级别1.READ UNCOMMITTED(读未提交)脏读、不可重复读、幻读被读数据不加锁;更新数据加行级共享锁......

[笔记] 2020-03-04

加密算法

柯克霍夫原则密码学上的柯克霍夫原则(Kerckhoffs’s principle,也称为柯克霍夫假说、公理、或定律)系由奥古斯特·柯克霍夫在19世纪提出:即使密码系统的任何细节已为人悉知,只要密匙(key,又称密钥或秘钥)未泄漏,它也应是安全的。 信息论的发明者克劳德·香农则改成说:“敌人了解系统”,这样的说法则称为香农箴言。 它和传统上使用隐密的设计、实现、或其他等等来提供加密的隐晦式安全想法相对。依据柯克霍夫原则,大多数民用保密都使用公开的算法。 但相对地,用于政府或军事机密的保密器通常也是保密的。柯克霍夫为军用保密器所设计的这六个原则是: 即使非数学上不可破解,系统也应在实质(实用)程......

[Python] PyGame模拟PID算法控制小车循迹

PID算法简介PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应心最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到比较满意的效果。PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。 比例Kp成比例地反映控制系统的偏差信号,偏差一旦产生,立即产生控制作......

[数据分析] 链家二手房成交信息分析(二)

数据清洗接上篇,我们已经拿到了各区二手房成交信息excel,下图所示为其中一个区的房源详细信息每个房源包含名称、成交日期、成交价格、每平米单价、户型、建筑面积等信息。其中不乏有不满足要求的数据,如“浏览”一栏含有“暂无数据”字段,“供暖方式”有些为空等,这些非数值型数据不方便进行统计,后面的脚本会对其进行归一化处理。 数据统计有了excel数据之后,便要分析各数据之间的关联。最终的目的是将这些内在的关联通过可视化图表展示出来。我简单选取了几个属性:日期、成交价格、小区、建筑面积、每平米单价,作为统计的材料。将这几个热点属性组合、关联,得到了大约6个统计栏目。1.各区二手房成交数、2.全市各月二......

[软件安装] CentOS7安装Redis

下载redis安装包wget http://download.redis.io/releases/redis-5.0.7.tar.gz 解压压缩包tar -zxvf redis-5.0.7.tar.gz yum安装gcc依赖yum install gcc注意:yum使用python2编写,如果安装了python3并设置为默认版本会报错。如果报错,请编辑/usr/bin/yum文件,将第一行的 #!/usr/bin/python 改为 #!/usr/bin/python2.7 ,其中2.7为当前计算机上的python2版本。接着打开/usr/libexec/urlgrabber-ext-down......

[数据分析] 链家二手房成交信息分析(一)

数据爬取网页分析打开链家北京二手房成交首页:https://bj.lianjia.com/chengjiao,如下图所示:这里我们随便点击一个区,观察url变为https://bj.lianjia.com/chengjiao/加区拼音的格式,如下图所示,东城区的url为:https://bj.lianjia.com/chengjiao/dongcheng,再点击区下面的随便一个街道,url变为https://bj.lianjia.com/chengjiao/加镇/街道拼音的格式,如东城区安定门街道的url为https://bj.lianjia.com/chengjiao/andingmen/按......