- 博客(50)
- 收藏
- 关注
原创 通过热力图直观理解位置编码(Position Embedding)
在不同序列长度,输入维度下的位置编码的热力图,如果理解公式比较困难的话,看这个图就很直观了。序列长度=100,输入维度=100。序列长度=100,输入维度=10。序列长度=20,输入维度=20。
2025-01-23 20:22:51
293
原创 面试中最容易考的动态规划题
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?
2024-12-17 00:34:33
1024
原创 纳什均衡与帕累托最优
1. 囚徒困境(非零和博弈)考虑一个囚徒困境的例子,来解释非零和博弈下出现的稳态:纳什均衡:是指一种状态,这种状态是多个参与者在特定策略组下实现的稳定状态,此状态特点是:在该策略组下,任何人单独改变自己的策略都不会让自己变得更好,此时的策略被称为占优策略;囚徒困境中,无论对方选择什么,个人都选择背叛,这就是占优策略帕累托最优:也是指一种状态,这种是多个参与者在特定分配方案下实现的稳定状态,此状态特点是:在该分配方案下,任何人无法通过损害别人的利益来提高自己的利益,也就是自己利益的提高必然会带来其他人
2021-02-19 20:01:10
16313
原创 从一阶线性模型到FFM
前言FFM从Linear Model开始假设我们有下图这样的推荐数据,对于第一行样本,我们用语言翻译:用户1在语境3下对物体2有一个点击行为(click=1);这里,用户(user),语境(context)和物体(item)都是特征,点击行为是label,我们要用一个模型去拟合这个label,使这个模型能够预测一个用户在某语境下对某物体的的点击率。最简单的模型为线性模型,即:y=∑i∈Cw...
2019-01-13 01:22:01
11278
原创 Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
Problem Statement我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\{ y_t , t \in N \}{yt,t∈N},我们认为每个观测结果yty_tyt的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \in \{x_t , t \in N \}xt∈{xt,...
2018-12-21 15:49:27
10523
原创 ssh反向代理实现NAT内网穿透[ssh版teamviewer]
由于实验室服务器没有公网IP,如果在校外网的话只能通过teamviewer远程桌面连接,然而teamviewer的数据传输是基于图像的,反应太慢了,所以一直在寻找ssh版的teamviewer,经过谷歌,发现只需要一台公网服务器作为中转站,就可以实现在任何地方登录处于内网的实验室服务器,前提是实验室服务器要能正常连接外网。SSH反向代理假设有两台服务器A和B:A处于内网无公网IP,B是一个...
2018-12-20 17:02:24
9262
1
原创 进化策略优化算法CEM(Cross Entropy Method)
1. 进化策略与遗传算法进化策略算法(Evolutionary Strategies,ES)是一种基于进化理论的算法,通过适者生存的自然法则来淘汰和筛选样本,目的是获得更好的样本(参数),与遗传算法一样,它也是通过参数扰动来探索更好的解,但是进化策略可以看做是遗传算法的一种扩展:在遗传算法中,我们用一串0/1数组表示遗传DNA,用父代们的DNA重组和变异得到不同的子代DNA,然后通过适应性函数...
2018-06-08 16:09:28
21901
3
原创 变分自动编码机(VAE)理解和实现(Tensorflow)
你需要知道的:自动编码机Auto-Encoder (AE)由两部分encoder和decoder组成,encoder输入x数据,输出潜在变量z,decoder输入z然后输出一个x’,目的是让x’与x的分布尽量一致,当两者完全一样时,中间的潜在变量z可以看作是x的一种压缩状态,包含了x的全部feature特征,此时监督信号就是原数据x本身。变分自动编码机VAE是自动编码机的一种扩展,它假设输...
2018-05-04 10:21:58
16250
9
原创 Alphago杂谈
Alphago版本经历了Fan,Lee,Maser,以及后面的AlphaGo和AlphaZero,前三版Fan,Lee,Master用的是监督学习+强化学习训练,后两面Alphago Zero和AlphaZero则是直接使用强化学习训练。DeepMind在这个topic上只公布了两篇Natrue,一个对应前三版,一个对应后两版,对所有这几版Alphago的演变也我们只能从论文中获得,所以大部分...
2018-04-17 12:52:52
1958
原创 经典算法题汇总
链表链表第一个公共节点:1) 利用栈先进后出,用两个栈对两个链表从头至尾遍历,那么栈顶就为链表的尾节点,依次弹出两个栈,直到弹出的元素不一样时,前一个相同的即为第一个公共节点. 2)分别遍历一次两个链表,算出长度差L,让长的链表的指针先走L步,然后两个指针同时移动,那么第一次指向同样节点的即为公共节点判断是否存在环:两个指针,每次慢指针走1步,快指针走2步,如果快的最后追上慢的,那么有环...
2018-04-05 10:38:32
3356
原创 机器学习和数据挖掘算法面试知识点
机器学习算法决策树(DT)ID3: 基于信息增益的大小来逐层确定分类的特征。我们知道信息量的增加能消除对事件的不确定性,因此我们每次选择信息增益大的特征作为分类特征, 表示引入此特征后,信息量增加最多,能把对事件的不确定性降为最低,墒最低。信息增益g(D,A)(互信息)由熵H(D)与条件熵H(D|A)之差算出, 条件墒H(D|A)表示在引入A特征后,D的不确定度,也就是墒的大小,我...
2018-04-05 10:17:19
1593
原创 深度强化学习汇总
从多臂赌博机问题到强化学习多臂赌博机,每次投币后只能选择按下一个臂,这个臂会有一定的概率给出奖励,但是我们并不知道每个臂给奖励的概率分布,那么如何获得最大收益呢?我们有两种策略,探索和利用, 探索是把所有的机会均分给每个臂,根据历史获得奖励的频率去近似它的真实奖励概率;利用就是每次都选择获得奖励频率最大的那个臂。探索可以更好的了解它的概率分布,从而制定更好的策略,缺点是会失去很多获得奖励的机会...
2018-03-30 16:50:49
2022
原创 研发工程师面试题整理
TCP, UDP区别和各自优缺TCP提供一种面向连接的、可靠的字节流服务 在一个 TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于 TCP TCP使用校验和,确认和重传机制来保证可靠传输 TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复 TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制注意:TCP 并不能保证数据一定会被对方接收...
2018-02-28 15:35:10
5990
原创 [机器学习]逻辑回归公式推导及其梯度下降法的Python实现
一般来说,二项逻辑斯谛回归模型是一个二分类判别模型,由条件概率分布P(Y|X)P(Y|X)P(Y|X)表示,随机变量XXX为实数,YYY取值0或者1。我们通过比较P(Y=1|x)P(Y=1|x)P(Y=1|x)和P(Y=0|x)P(Y=0|x)P(Y=0|x)值大小来判断给定x的类别为1还是0。从线性模型推导我们先说广义的线性回归:y=wx+by=wx+by=wx+b,这里 yyy为回...
2018-02-09 22:43:39
3930
原创 [强化学习]区分Model-free和Model-based方法
所以,如果你想查看这个强化学习算法是model-based还是model-free的,你就问你自己这个问题:在agent执行它的动作之前,它是否能对下一步的状态和回报做出预测,如果可以,那么就是model-based方法,如果不能,即为model-free方法
2017-11-13 20:20:41
48888
13
原创 详解神经网络中矩阵实现的梯度计算
对神经网络有一定了解的同学知道:一般的神经网络的具体实现都是通过矩阵实现的,包括误差反向传导,梯度计算和更新等等,比如y=w*x+b,这里的所有变量都是矩阵,我们通常会叫w和b为参数矩阵,矩阵相乘首先效率比较高,然后也比较好操作,那么对于矩阵形式的导数该怎么计算?比如w矩阵的具体导数dw应该如何计算?首先我们来看一个只有输入和输出层的网络,我们输入X矩阵大小为 N*D, N为batch的大小,也就是
2017-11-09 20:28:14
30218
28
原创 Git超级傻瓜教程[快速创建Git远程项目并上传本地代码]
这里我给出一个如何快速创建Git远程项目并上传本地代码的教程前提条件注册并登录了Github本地安装了git工具(Ubantu系统安装 sudo apt-get install git)Step 1在github上创建新的远程仓库, 这里我把这个项目取名为gitDemo, 然后点击确定:然后我们来到了这个初始界面, 表示远程仓库创建成功, 但是是空的, 那么我们需要将本地的东西提交到这个空的远
2017-11-08 23:54:09
1472
原创 java.ulti中的接口和抽象类梳理与分析
梳理一下java中我们常用的java.ulti包中的数据结构对象,如set,list,map,collection,queue之间的关系, 以及实现的LinkedList, ArrayList,HashSet,TreeSet,HashTable,HashMap,TreeMap等等1. 接口继承关系首先关于接口,我们需要知道以下:接口通过关键字interface声明,一个类可以通过...
2017-10-13 15:56:13
1888
原创 [天池智慧交通预测挑战赛]新手向的时间序列预测解决方案-前Top2%
本博客分享新人第一次参加天池比赛的实况记录,比较完整地给出了数据预处理,缺失值补全,特征分析过程以及训练和交叉验证的注意事项,适合数据挖掘新人找到解题思路,全程没有调参,没有模型融合,只凭一手简单的特征和xgboost,最后止步41/1716,基本上可以作为时间序列预测类的比赛的baseline.完整代码在Github
2017-09-11 16:42:59
24453
85
原创 数据挖掘:如何通过百度地图API抓取物体周边地理位置信息
1.需求描述对于数据挖掘工程师来说,有时候需要抓取地理位置信息,比如统计房子周边基础设施信息,比如医院、公交车站、写字楼、地铁站、商场等,一般的爬虫可以采用python脚本爬取,有很多成型的框架如scrapy,但是想要爬百度地图就必须遵循它的JavaScript Api,那么肯定需要自己写JavaScript脚本与百度API进行交互,问题是:这种交互下来的数据如何储存(直接写进文本or使用sql数据
2017-09-04 16:42:25
19524
18
原创 Heroku部署Rails应用流程
1.创建Heroku账号以及Heroku app2.将Heroku app与自己Github下的的项目进行连接4.下载配置Heroku CLI命令行工具5.在本机终端中使用heroku login命令行登陆,会要求heroku的账号密码6.登陆成功后,可以用heroku create在当前目录下创建新的heroku app, 若已经有了heroku app ,请使用heroku git:remote
2017-09-02 01:19:11
1854
原创 RNN聊天机器人与Beam Search [Tensorflow Seq2Seq]
本博客分析了一个Tensorflow实现的开源聊天机器人项目deepQA,首先从数据集上和一些重要代码上进行了说明和阐述,最后针对于测试的情况,在deepQA项目上实现了Beam Search的方法,让模型输出的句子更加准确,修改后的源码在这里。DeepQADeepQA是一个Tensorflow实现的开源的seq2seq模型的聊天机器人( 传送们),出自谷歌的一篇关于对话模型的论文A Ne...
2017-07-10 17:28:55
11142
原创 [CS231n-assignment2] Python从零实现的CNN在CIFAR-10上的实验报告
根据CS231n assignments从零实现CNN在CIFAR-10上运行的实验报告,总结了深度学习落地过程中的7个诀窍trick,通过不断摸索和分析ResNet,在CIFAR中从最简单的CNN的58%的精度提升至77%
2017-06-05 19:13:45
6876
翻译 Ubantu 16.04 用apt-get自动安装oracle java
每次安装都要查一遍,索性记录一下。首先执行:sudo apt-get install python-software-propertiessudo add-apt-repository ppa:webupd8team/javasudo apt-get update对于需要的java版本,继续执行:Oracle JDK 6: sudo apt-get install oracle-java6-i
2017-05-18 17:35:34
5441
原创 Python numpy中的对象传递问题
Python numpy在slide的过程中也会有对象传递,也就是地址传递,并不是直接copy,这个问题困扰我一天了,详情见下例,c数组中的第一个元素随着第二个元素的增加而改变了# 声明a为3*3的矩阵 >>> import numpy as np>>> a=np.zeros((3,3))>>> aarray([[ 0., 0., 0.], [ 0., 0., 0.],
2017-05-05 01:55:08
3612
1
原创 80行Python实现-HOG梯度特征提取
本文用80行代码的Python实现了HOG算法,代码在Github Hog-feature,虽然OpenCV有实现好的Hog描述器算法,但是本文目的是完全理解HOG特征提取的具体方法和实现原理,以及检验相关参数对实验结果的影响,提升检测到的特征的性能以及优化代码的运行速度。.方法简介方向梯度直方图(Histogram of Oriented Gradient, HO
2017-05-02 12:42:58
45415
62
原创 [Rails应用实战]WebChat的敏捷开发
即时通讯的应用如微信WeChat大家一定很熟悉,那么今天就来详解一下如何用Rails快速开发一款网页版微信(网页版聊天室)所有代码在Github中,目前已有功能:即时通讯增添好友创建聊天拉人,删人转移房屋权限TodoUI界面修改(类似WeChat)未读信息的提醒(包括声音)加入更多的ajax提高用户体验代码实现我们主要应用了Render_sync库来提供服务器监听并实时推送信息的
2017-03-01 16:56:50
1723
原创 Linux用户获得超级管理员权限
问题描述在创建了新的虚拟机和用户后,用户可能还没有超级管理员的操作权限:[peng@localhost network-scripts]$ sudo su[sudo] password for peng: peng is not in the sudoers file. This incident will be reported.解决方法:使用su切换到root用户,会需要root的密码:
2017-02-16 23:50:10
35117
2
原创 SDN开发实战(1)-透明HTTP代理[Openflow+floodlight]
1. SDN软件定义网络(Software Defined Network, SDN),是Emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能知乎解释:https://www.zhihu.com/question/20279620Openflow+floodlight
2017-02-16 23:11:06
2542
原创 SDN开发实战(2)-透明HTTP代理[Openflow+floodlight]
此教程继续为上一个SDN开发教程做相关配置和实验结果说明3.2 Mininet和代理服务器配置3.2.1 代理服务器配置代理主机prox中需要运行一段程序来转发接收到的package,因此编写proxy.c文件如下,prox.c经过编译后运行在prox主机中,可以对收到的package在同样的端口转发出去#include #include #include #include
2017-01-13 14:22:28
1642
原创 Vmware CentOS虚拟机网络初始设置
问题描述在使用Vmware虚拟64位CentOS 7的过程中,每次新创建一个虚拟机后(网络设置为NAT模式),会发现网络不可用,使用ping后会出现unknown host错误或者是network is unreachable等等
2017-01-13 14:20:26
1347
原创 机器学习实战-Scikit决策树分类算法
机器学习实战-分类算法之决策树和多层神经网络鉴于目前Python最流行的机器学习库Scikit(http://scikit-learn.org/)集成了很多成型的算法,本博客就使用其中的决策树和神经网络算法对Kdd99数据集进行分类处理,完整代码位于Github(https://github.com/PENGZhaoqing/kdd99-scikit)
2016-12-01 23:29:38
4926
原创 校园选课系统-课程开放关闭功能
校园选课系统-课程开放关闭功能这里是国科大研究生课程(高级软件工程)校园选课系统样本 的项目作业(1),要求同学们完成下面功能:增加选课的开放、关闭功能需求如下:同学们登录后,选择课程里只能看到已经开放的课程老师可以对课程进行开发和关闭操作功能展示首先将最后要完成的功能展示出来:1.当同学登录后:默认开始所有的课程都是未开放的,所以该同学看不到任何课程2.某老师开放了自己的课程:点击开课按
2016-11-09 18:05:27
3180
原创 Rails Web App Learning in action (3) ---the basic version of students selective courses Contents
Rails Web App Learning in action (3)—the basic version of students selective courses Contents1.RouteRails route can identify the URL and distribute it to the controller for processing. Besides
2016-11-06 22:48:56
884
原创 Redis在Rails中的应用实例
考虑用户之间的关注问题:比如,在微博中用户之间可以互相关注(follow),那么就有followers和followings,followings表示我关注的人,followers表示关注我的人。这种功能的实现可以通过传统的关系数据库实现:多对多的关联关系,通过建立额外的关联表,储存双方的id即可,现在通过redis实现这个
2016-11-02 15:53:13
3690
原创 Rails Web App Learning in action (2)--the basic version of students selective courses
Rails Web App Learning in action (2)–the basic version of students selective coursesIn last tutorial, the demo code has been run successfully in Cloud9. Now we will create a new Rails application from
2016-10-25 11:40:57
758
原创 java-归并排序与快排的效率比较
java-归并排序与快排的效率比较用java完整地实现了归并排序和快速排序,然后测试两个算法在数组长度由100增加到一亿过程中的时间复杂度,比较两个算法效率。
2016-10-16 16:51:33
7228
1
原创 Rails Web应用开发实战-学生选课系统基础版(三)
Rails Web应用开发实战-学生选课系统基础版(三)上次主要讲了MVC中的模型,此教程我们开始涉及控制器和视图。1.路由Rails 路由能识别 URL,将其分发给控制器的动作进行处理,还能生成路径和 URL,无需直接在视图中硬编码字符串。我们打开config/route.rb文件,加入一行:Rails.application.routes.draw do resources :coursese
2016-09-27 20:37:23
3281
原创 Rails Web App Learning in action (1)--the basic version of students selective courses
Rails Web application learning in action–the basic version of students selective coursesThis tutorial is based on the postgraduate course, named Advanced Software Engineering, from University of Chines
2016-09-23 21:21:07
974
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人