机器学习+深度学习+强化学习
文章平均质量分 82
肥宅_Sean
在UCB,Stanford各做过一段时间的RA。去牛津访学过一段时间。
现在在某家头部量化当研究员。
个人站: https://seanquant.github.io/
展开
-
【强化学习】SarsaLambda算法详解以及用于二维空间探索【Python实现】
SarsaLambda算法本文工作基于之前的几篇文章的项目,如果有疑问可以看下面文章:【强化学习】Q-Learning算法详解以及Python实现【80行代码】【强化学习】Q-Learning用于二维空间探索【Python实现】【强化学习】Sarsa算法详解以及用于二维空间探索【Python实现】回到正题上。无论是在Sarsa算法还是Q-Learning中,每次学习都是只迭代Q表中的[S, A]这个位置的节点。之前也说过,这样的迭代效率非常低,因为这样每次都只有下一个能直接获取到奖励的节点原创 2022-04-22 15:38:47 · 1083 阅读 · 3 评论 -
【强化学习】Sarsa算法详解以及用于二维空间探索【Python实现】
Sarsa算法Sarsa算法,是基于Q-Learning算法。改动其实很小。本文工作基于之前的Q-Learning的项目,如果有疑问可以看下面两个问题:【强化学习】Q-Learning算法详解以及Python实现【80行代码】【强化学习】Q-Learning用于二维空间探索【Python实现】Sarsa算法细节本质上,也是维护Q表。只是在迭代方式上,做了轻微的修改。而Sarsa的迭代公式是:一般的更新的公式 是Q[S,A]=(1−α)∗Q[S,A]+α∗(R+γ∗Q[Snext,A原创 2022-04-22 14:03:38 · 2507 阅读 · 0 评论 -
【强化学习】Q-Learning用于二维空间探索【Python实现】
前言这个基于之前的工作,如果有什么疑问也可以参照以前的文章。【强化学习】Q-Learning算法详解以及Python实现【80行代码】本文主要做了两件事情将上篇文章中得弱智般的treasure on right问题,扩张到二维。且将teasure位置随机。并添加一些节点表示坑,即到该节点得到的奖励是负数。将代码结构调整了一下,让整个项目更加清晰。已经方便复用。其实上面的操作,mofan大神在github中也有提到,Q_Learning_maze但可能每个人的具体写法不一样,但是思想基本原创 2022-04-21 18:15:04 · 2698 阅读 · 0 评论 -
【强化学习】Q-Learning算法详解以及Python实现【80行代码】
强化学习在文章正式开始前,请不要被强化学习的tag给吓到了,这也是我之前所遇到的一个困扰。觉得这个东西看上去很高级,需要一个完整的时间段,做详细的学习。相反,强化学习的很多算法是很符合直观思维的。 因此,强化学习的算法思想反而会是相当直观的。另外,需要强调的是,这个算法在很多地方都有很详细的阐述了。这篇文章的工作,很多也是基于前辈的工作而继续推进的。这里也引用方便后来者进一步学习。这里再次感谢前辈的工作,确实对我有较大的帮助。mofan大佬的教程 视频在这,比较冗长mofan大佬的Q-Learni原创 2022-04-20 15:42:27 · 21187 阅读 · 0 评论 -
蚁群算法解决TSP问题【Python实现】
蚁群算法解决TSP问题。Python原创 2022-04-17 20:03:40 · 2726 阅读 · 0 评论 -
GAN相关模型理论以及Pytorch实现
GAN相关模型理论分析以及Pytorch实现因为是从论文的内容上出发,从最粗糙慢慢走向成熟。在这样的一个过程当中学习GAN相关的内容,以及其他的深度学习的内容。体会论文作者的改进思路,提出创新的出发点,已经用到的在别的领域的成熟技巧。以此来提高自己的深度学习的能力,我想这会是一次独特的体验吧。因为我都是上传到我公众号上的,当然这篇博客也会持续更新。但是保持 公众号日更 ,以及这篇 博客周更 的速度直到后续的情况吧?所以还是推荐大家到公众号上看啦(随便帮我点点推送中的广告或者转发推送,就当做是对我的赞赏原创 2020-05-31 22:02:59 · 5099 阅读 · 2 评论 -
Polynomial interpolation 多项式插值 --sklearn研究
This example demonstrates how to approximate a function with a polynomial of degree n_degree by using ridge regression. Concretely, from n_samples 1d points, it suffices to build the Vandermonde matr...原创 2019-02-14 12:08:06 · 3572 阅读 · 0 评论 -
简单探索MNIST(Softmax回归和两层CNN)-Tensorflow学习
简述这次是在看《21个项目玩转深度学习》那本书的第一章节后做的笔记。这段时间,打算把TensorFlow再补补,提升一下技术水平~希望我能坚持下来,抽空把这本书刷下来吧~导入数据下面的代码会直接下载数据,如果没有那个文件夹的话,但是,如果有这个文件夹而且里面有那几个文件的话,就会直接调用那个数据。这次直接在网上搜MNIST下载,就知道怎么下载啦~ 这里我更关注TensorFlow...原创 2019-03-10 01:02:57 · 766 阅读 · 2 评论 -
K-Means算法理论及Python实现
简述K-means Algorithm(s)Assumes Euclidean space/distance 假设是在欧式空间下的。因为means本身是需要在欧式空间下才可以计算。但K-means有很多的推广版本,将欧式空间中所提到的Centroid转成Clustroid,是一种比较常见的推广方式。算法先取k个类: Initialization 的时候需要避免ill-initializat...原创 2019-03-07 17:00:22 · 1732 阅读 · 0 评论 -
RNN相关模型研究
文章目录简述输出是序列,输出也是序列输入是序列,输出是值输入是值,输出是序列RNN 改进版 LSTM简述输出是序列,输出也是序列且序列等长, 这就是经典的RNN模型对于序列数据,RNN提出了一个隐藏数据H。H为提取出来的特征向量。对于每个序列节点x,都有一个对应的隐藏数据H。每个H都是有X和前一个节点的H生成的。hi=f(Uxi+Whi−1+b)h_i = f(Ux_i+Wh_{...原创 2019-03-11 12:38:26 · 387 阅读 · 0 评论 -
高斯混合模型GMM理论和Python实现
简述高斯混合模型,就是说用多个高斯函数去描述不同的元素分布。通过EM方法来迭代生成不同的高斯模型的各个参数。具体的EM算法的理论网上很多,但推荐各位先看完这个算法思路之后,再去看理论推导就更加好了。更新方法μi′=∑j=1mηji∗xj∑j=1mηji\mu_i^{'} = \frac{\sum_{j=1}^m{\eta_{ji} * x_j}}{\sum_{j=1}...原创 2019-04-05 11:40:12 · 5191 阅读 · 1 评论 -
SVM支持向量机--sklearn研究
Support vector machines (SVMs) are a set of supervised learning methods used for classification, regression and outliers detection.支持向量机(SVM)是一组有监督学习方法,被用于分类,回归和边界探测支持向量机有以下的几个优点:Effective in hi...原创 2019-02-23 22:45:16 · 2013 阅读 · 1 评论 -
【简明教程】windows下xgboost安装到python
文章目录github clone下载xgboost.dll编译检测github clone电脑上使用githubgit clone https://github.com/dmlc/xgboost.git会在对应的目录下,多出一个xgboost目录。下载xgboost.dll访问 http://www.picnet.com.au/blogs/guido/2016/09/22/xgbo...原创 2019-01-24 21:36:45 · 1123 阅读 · 0 评论 -
pytorch手动实现梯度下降法,随机梯度法--基于logistic Regression并探索Mini batch作用
简述基于这次凸优化的大项目作业。下面会围绕着通过logistic Regression来做MNIST集上的手写数字识别~以此来探索logistic Regression,梯度下降法,随机梯度法,以及Mini batch的作用。核心任务是实现梯度下降法和随机梯度法。但是其他的准备工作也得做的较为好~导入的包import osimport torchimport torch.nn as...原创 2018-12-25 14:30:51 · 4359 阅读 · 0 评论 -
领近点梯度下降法、交替方向乘子法、次梯度法使用实例(Python实现)
简述凸优化会很详细地讲解这三个算法,这个学期刚好有这门课。这里以期末的大作业的项目中的一个题目作为讲解。题目考虑线性测量b=Ax+e,其中b为50维的测量值,A为50*100维的测量矩阵,x为100维的未知稀疏向量且稀疏度为5,e为50维的测量噪声。从b和A中恢复x的一范数规范化最小二乘法模型(任务!!)min∣∣Ax−b∣∣22+(p/2)∣∣x∣∣1min||Ax-b||_2^2 +...原创 2018-12-24 18:43:17 · 8690 阅读 · 1 评论 -
RNN代码解释pytorch
简述还是跟之前的CNN一样,都是学于莫烦Python的。解释关于数据导入部分的代码含义,其实跟之前的CNN几乎完全一致。而且还需要部分的源代码–MNIST(在之前的地方有超链接)这些都可以在下面的CNN的链接中看到卷积神经网络CNN入门【pytorch学习】模型含义这里使用RNN,这是跟之前的CNN唯一的不同的地方,其他的都是完全一致的。class RNN(nn.Module...原创 2018-12-18 13:50:02 · 5611 阅读 · 2 评论 -
LSTM实现股票预测--pytorch版本【120+行代码】
简述网上看到有人用Tensorflow写了的但是没看到有用pytorch写的。所以我就写了一份。写的过程中没有参照任何TensorFlow版本的(因为我对TensorFlow目前理解有限),所以写得比较简单,看来来似乎也比较容易实现(欢迎各位大佬改进之后,发家致富,带带小弟hhh)。效果先简单的看看效果(会有点夸张hhh):注意,我没有用全部数据!!而是真的用的训练集合来做的,下面的都...原创 2018-12-20 20:45:42 · 41674 阅读 · 52 评论 -
Spectral clustering 谱聚类讲解及实现
In multivariate statistics and the clustering of data, spectral clustering techniques make use of the spectrum(eigenvalues) of the similarity matrix of the data to perform dimensionality reduction b...原创 2019-03-19 20:51:13 · 6764 阅读 · 3 评论 -
COP-kMeans限制性--kMeans变体算法研究
简述最近发现一篇有趣的论文。关于限制性的kMeans. 主要思想是基于boosting principle的COP-kMeans。所以,我就先研究了下COP-kMeans。COP-kMeans是一种限制性聚类算法。限制性的含义很简单,就是需要考虑到有些节点在聚类前,我们就知道了这个两个节点是应该放在一起,还是应该分开。所以,这里有两类。最简单的想法,就是这里用一个二维矩阵来存储这个信息。...原创 2019-03-16 17:41:32 · 3172 阅读 · 14 评论 -
CUR分解算法及Python实现
CUR分解要理解CUR分解,需要先看下SVD分解。SVD理论以及Python实现算法流程给定输入的矩阵A。A=C∗U∗RA = C* U *RA=C∗U∗R随机选r个列构成C和r个行构成R(也可以使用,平方和加权过的行和列(常用))然后选取W矩阵(C和R的交集,也就是被选出来的部分,在C和R中同时出现的A矩阵中的位置。)对W做SVD分解,得到X∑YTX\sum Y^TX∑YT对∑...原创 2019-06-30 16:01:36 · 4104 阅读 · 2 评论 -
SVD理论以及Python实现
SVD将一个矩阵分解为U,V(U,V均为列正交矩阵,即列向量直接内积为0),中间的矩阵为对角阵,元素为奇异值。A[m∗n]=U[m∗r]∗∑[r∗r]∗(V[n∗r])TA_{[m*n]} = U_{[m*r]} * \sum_{[r*r]} *(V_{[n*r]})^T A[m∗n]=U[m∗r]∗[r∗r]∑∗(V[n∗r])TSVD计算方式A=U∗∑∗VTAT=V∗∑∗UTA...原创 2019-06-30 15:04:20 · 1711 阅读 · 3 评论 -
PageRank算法以及Python实现(简洁版)
简述PageRank有点被神化了,其实公式很简单。文章目录简述算法模型定义Flow版本Google Formula实现算法主要是分为两种:The ‘Flow’ formulaThe Google formula模型定义很多个网页,直接存在链路关系,设为G,N*N的矩阵这里先只考虑有向无权无环图,即边有方向,且权重都一样,且没有自己到自己的边(环)。N为节点数或者是网页数...原创 2019-06-29 15:39:07 · 13232 阅读 · 1 评论 -
Mallet Java【Windows下配置】(解决Ant安装可能会失败的解决方案)
简述(一般来说,添加环境变量时:除了*_HOME的这些大家自定(根据自己把东西放在了哪个文件夹下),其他的跟我一样也是没问题的)文章目录简述JAVA配置Mallet下载ANT下载ANT配置Mallet配置配置成功JAVA配置根据下面的文章完成了Java配置先【解决方案】“‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件”Mallet下载http://mallet...原创 2019-06-03 17:13:08 · 865 阅读 · 0 评论 -
FCM算法实现Python(简洁版)
FCM算法全名为Fuzzy C-Means,是一种聚类算法。Fuzzy c-means (FCM) is a method of clustering which allows one piece of data to belong to two or more clusters. This method (developed by Dunn in 1973 and improved by...原创 2019-04-17 17:46:11 · 15137 阅读 · 16 评论 -
PCA主成分分析以及Python实现(阅读笔记)
简述PCA日常使用,但还没有研究过其理论,这让我很好奇。理论部分《机器学习》中是这样开始的:对于正交属性空间的样本点,如何用一个超平面来对所有的样本点进行表达。超平面和半空间是优化领域的两个重要概念简单来说,矩阵方程W∗X+b=0W*X+b = 0W∗X+b=0表示的是超平面,W∗X+b≥0W*X+b \geq 0W∗X+b≥0表示的就是半空间。显然超平面是直线在高维空间的扩展。(...原创 2019-04-14 18:44:22 · 11359 阅读 · 1 评论 -
KMeans++算法理论和实现
简述在Kmeans当中,有两个限制定义在凸欧式空间上,使得在非凸空间上的聚类效果一般,在非欧式空间上无法计算均值点。病态初始化问题,由于初始化完全随机,会使得生成的点收到限制,最后聚类的结果不好第一类问题的主流解决方案就是,转换距离度量的方式,这样能使得做到一定的扩展。但任然没有办法解决非欧式空间的问题。KMeans++这篇论文主要关注于第二个问题。KMeans的算法和实现就不再...原创 2019-04-03 17:09:51 · 6304 阅读 · 2 评论 -
DBSCAN算法理论和Python实现
DBSCAN算法基于密度的聚类方法DBSCAN算法,是相当经典。算法思路很简单。简述算法思路:选取密度较高的点作为核心点通过一个核心点出发,把其领域的点都放入到广度优先搜索的队列中。将所有找到的点归结为一个类。之后,再从新的没有被访问过的点中找其他的核心点开始,又继续进行广度优先搜索。一直到所有的点都被访问过(即分配过了对对应的类别)Python实现导入数据from sk...原创 2019-04-06 09:45:04 · 972 阅读 · 1 评论 -
LVQ模型Python实现
简述LVQ模型是聚类的经典模型,跟Kmeans有点像。但是作为一个聚类,这个模型是一个有监督的模型。算法流程输入的数据集X, y,还有学习率(在0,1之间)η\etaη初始,选k个点,作为原型向量然后开始循环在样本集中随机选个点。找到在原型向量中离它最近的点然后来比较这两个点之间的y是否一样。一样就正向更新节点,不一样就反向更新节点pi=pi(+/−)η∗(xj−pi)p_i...原创 2019-03-23 16:25:22 · 3145 阅读 · 2 评论 -
【论文阅读】A social recommender system using item asymmetric correlation
Abstract推荐系统在近几年极大突出的信息筛选技术之一,然而,有两个主要的问题:数据稀疏:数据太稀疏了,没办法操作冷开始:一开始数据不多(或者),推荐效果不好或无法进行有一类系统,叫做社会推荐系统被提出,可以有效地解决数据稀疏度和冷开始的问题。给定一个社会关系并不是在每一个推荐系统都是可行的,这个隐含的在物品之间的关系算的上是一个代替限制的一个比较好的选择。在这篇paper中,...原创 2019-03-25 23:23:32 · 330 阅读 · 0 评论 -
【论文阅读和实现】On Spectral Clustering: Analysis and an algorithm【Python实现】
On Spectral Clustering: Analysis and an algorithm这是一篇引用量很高(7k+)的paper。开篇的abstract就吸引人。概括: 本文提出了一种简单的谱聚类算法,该算法易于实现而且表现的不错,并且基于矩阵摄动理论,我们可以分析算法并找出可以预期的良好条件。这篇文章的算法主要是关注与n维空间的聚类点。对于这类问题,一个标准的方法就是基于一个...原创 2019-03-21 17:41:22 · 4361 阅读 · 7 评论 -
【论文阅读】Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
简述看这篇论文,并实现一下这个。(如果有能力实现的话)实时任意风格转换(用自适应Instance Normalization)instanceNorm = batchsize=1 的 batchNorm 1AbstractGatys et al. 最近介绍了一种神经网络算法,以另外一个图片的样式来呈现一个内容图片,实现了一个被称之为风格迁移的东西。然而,他们的框架需要慢慢的迭代优化过...原创 2018-12-03 07:43:21 · 9285 阅读 · 1 评论 -
pytorch生成一个数组
代码torch.linspace(-1, 1, 100)类似于numpy的linspace,最后一个是点的数量,前面两个是区间的左右边界数值。原创 2018-11-10 15:59:37 · 7540 阅读 · 0 评论 -
(深度卷积生成对抗神经网络)DCGANs论文阅读与实现pytorch
INTRODUCTIONGANs有一个非常大的问题,就是训练的结果非常不稳定,很有可能训练出来的模型生成的是一个乱七八糟的东西。GANs have been known to be unstable to train, often resulting in generators that produce nonsensical outputs这篇论文的贡献提出了并评估了一系列的在卷积...原创 2018-11-10 12:29:42 · 3329 阅读 · 2 评论 -
卷积神经网络CNN入门【pytorch学习】
简述在学习GANs的时候遇到一篇论文DCGANs,说是其中用到了卷积神经网络。所以,就抽空学习一下,结果,真没想到有那么多的坑。文章目录简述数据配置配套的代码段参数设置训练集批处理构建测试集构建CNN框架训练测试结果全部代码参考数据配置第一步配置数据的时候就贼坑了。。。看下面的这一篇文章就可以解决,就是手动下载之后,放在一个目录下,之后,再修改源码中指定的位置,之后再运行,代码会从本...原创 2018-11-10 01:36:53 · 7295 阅读 · 2 评论 -
nn.Conv2d中padding详解【pytorch学习】
简述在网上看了很多的解释,自己又大致的理解了一下之后明白了。文章目录简述卷积加上padding的卷积1.使得整个图大小不会发生变化。2.使得整个图大小不会发生变化。关于padding的数值引用卷积首先我们得明白什么是卷积。但是由于我们这里只想要推理padding的大小,所以只会讨论这个大小的问题。(n,n)和(n, n)的矩阵相乘,规模任然是(n, n)。我们知道,卷积的过程,其实...原创 2018-11-09 23:06:54 · 20758 阅读 · 1 评论 -
【论文阅读】Triple GANs论文阅读
我的前言翻译结合我自己想法啊,但是我贼菜的而且时间有限,所以,我都是简单的大致理解一下,然后翻译。发出来的原因,更多是想做个笔记。翻译的乱七八糟的。。。这就是我现在的感受了文章目录我的前言论文论文作者Abstract 概要Introduction 介绍Method3.1 三个玩家的博弈论文论文作者Chongxuan Li, Kun Xu, Jun Zhum, Bo ZhangTsin...翻译 2018-11-05 13:55:03 · 2168 阅读 · 0 评论 -
感知机模型[神经网络入门]
感知机模型为神经网络入门所学O = f(∑wij * Sj - θi)利用感知机,模拟一个简单的二值逻辑加法测试数据:x1 x2 y1 1 11 0 10 1 10 0 0 这里我们假设,阈值θi = 0初始权重全部为0代码如下 # 利用感知机模拟二值逻辑加法# 阈值取0import numpy as np...原创 2017-10-10 17:04:32 · 645 阅读 · 0 评论 -
Knn算法(机器学习)入门(Python实现)
看到这个名字,是不是觉得很高大上? 看到网上的那些大佬写了一堆的代码,一堆的分析,是不是有点头昏脑胀? 这还是机器学习中最简单的算法么? # =================== 如果你也遇到了什么这些迷惑,我想选择看这篇文章,可能会对你有很大的帮助,因为我也不喜欢那些复杂的推理什么的。(好吧,只是因为想安慰你们才这么说的) 相信短短的20行代码就会让你快速掌握Knn算法(机器学习中最原创 2017-10-14 14:51:10 · 1021 阅读 · 0 评论 -
Python画散点图(Knn中数据)
用之前做的KNN算法的数据画的散点图 我在这就只给出我变化之后main函数了 其实只是用了那个文件流的部分 可以在之前那个版本的knn算法中找到,或者你自己写一个就好了原创 2017-10-15 17:35:55 · 2233 阅读 · 0 评论 -
Knn算法(约会问题应用)
内容 = 机器学习书籍内容 + 个人实践过程海伦约会问题 我们要输入一个人的特征,看看这个人是否适合做海伦的约会对象 (虽然这个看起来好像有点偏应用了,但是稍微懂点就知道,还有谁恋爱的时候统计这些数据???但是也有学习的价值不是?(坏笑))原创 2017-10-15 17:11:47 · 2825 阅读 · 0 评论