机器学习+深度学习+强化学习
文章平均质量分 86
肥宅看完理论书籍,paper,通过代码复现。并努力提出自己的思考或创新。
肥宅_Sean
在UCB,Stanford各做过一段时间的RA。去牛津访学过一段时间。
现在在某家头部量化当研究员。
个人站: https://seanquant.github.io/
展开
-
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 · 4106 阅读 · 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 评论 -
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 · 15140 阅读 · 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 评论 -
DBSCAN算法理论和Python实现
DBSCAN算法基于密度的聚类方法DBSCAN算法,是相当经典。算法思路很简单。简述算法思路:选取密度较高的点作为核心点通过一个核心点出发,把其领域的点都放入到广度优先搜索的队列中。将所有找到的点归结为一个类。之后,再从新的没有被访问过的点中找其他的核心点开始,又继续进行广度优先搜索。一直到所有的点都被访问过(即分配过了对对应的类别)Python实现导入数据from sk...原创 2019-04-06 09:45:04 · 972 阅读 · 1 评论 -
高斯混合模型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 评论 -
KMeans++算法理论和实现
简述在Kmeans当中,有两个限制定义在凸欧式空间上,使得在非凸空间上的聚类效果一般,在非欧式空间上无法计算均值点。病态初始化问题,由于初始化完全随机,会使得生成的点收到限制,最后聚类的结果不好第一类问题的主流解决方案就是,转换距离度量的方式,这样能使得做到一定的扩展。但任然没有办法解决非欧式空间的问题。KMeans++这篇论文主要关注于第二个问题。KMeans的算法和实现就不再...原创 2019-04-03 17:09:51 · 6304 阅读 · 2 评论 -
【论文阅读】Clustering by Shift
Min Cut含义很简单,就是将不属于同一类的所有点之间的相似度累加起来就好了。是一种描述不同类之间 分离程度。缺点:这个方法倾向于切割小的组出来。这篇论文提出的想法之一:进一步做一个变形。中间用到了一步,就是将属于同一类的就算部分补全,使得公式更加整洁。通过化简构造出了一个常数的部分,之后,就只需要考虑后面的非常数部分了。也就是考虑每个类内部的聚合程...原创 2019-04-02 21:15:37 · 349 阅读 · 0 评论 -
【论文阅读】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 评论 -
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 评论 -
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 评论 -
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 评论 -
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-03-05 15:00:25 · 6870 阅读 · 8 评论 -
pytorch手动实现梯度下降法,随机梯度法--基于logistic Regression并探索Mini batch作用
简述基于这次凸优化的大项目作业。下面会围绕着通过logistic Regression来做MNIST集上的手写数字识别~以此来探索logistic Regression,梯度下降法,随机梯度法,以及Mini batch的作用。核心任务是实现梯度下降法和随机梯度法。但是其他的准备工作也得做的较为好~导入的包import osimport torchimport torch.nn as...原创 2018-12-25 14:30:51 · 4360 阅读 · 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 评论 -
【解决方案】Expected object of type torch.FloatTensor but found type torch.DoubleTensor
简述在网上找了半天没有得到解答。但是,在pycharm输入.之后,发现有一个函数很有意思,然后得到了解决解决方案假如报错的语句是model是模型input是输入(tensor的实体)model(input)方法其实很简单mode(input.float())...原创 2018-11-14 09:57:41 · 6308 阅读 · 0 评论 -
pytorch生成一个数组
代码torch.linspace(-1, 1, 100)类似于numpy的linspace,最后一个是点的数量,前面两个是区间的左右边界数值。原创 2018-11-10 15:59:37 · 7540 阅读 · 0 评论 -
基于MNIST的GANs实现【Pytorch】
简述其实是根据我之前写的两个代码改的。(之前已经有过非常详细的解释了,可以去看看)【GANs入门】pytorch-GANs任务迁移-单个目标(数字的生成)【Gans入门】Pytorch实现Gans代码详解【70+代码】同时,在结合了我之前写的DCGANs的时候,实现的一份代码(深度卷积生成对抗神经网络)DCGANs论文阅读与实现pytorchMNIST上选特定的数值,是根据下面...原创 2018-11-11 10:18:44 · 837 阅读 · 2 评论 -
(深度卷积生成对抗神经网络)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 · 20761 阅读 · 1 评论 -
pytorch下载mnist超时解决方案
简述两步就解决了步骤一访问下面的网站(墙内是可以访问的)http://yann.lecun.com/exdb/mnist/点击下面的四个,完成下载步骤二第二步根据下面的操作来操作一遍就好了。https://www.codetd.com/article/2989865后记我已经搞定啦~...原创 2018-11-08 23:58:41 · 5427 阅读 · 0 评论 -
【Pytorch学习】用pytorch搭建第一个神经网络
简述虽然使用过pytorch来搭建GANs,但是对于Pytorch其实还是不是很熟,这里想系统的学习下。顺便再来做一下笔记。学习网站https://morvanzhou.github.io/tutorials/machine-learning/torch/3-01-regression/大家直接看原文好了。这里我自己随便写写便于我自己记忆。拟合过程数据torch.unsque...原创 2018-11-08 22:45:15 · 2448 阅读 · 0 评论 -
【GANs入门】pytorch-GANs任务迁移-单个目标(数字的生成)
简述之前认真学习了网上的一份,代码做了很详细的笔记。【Gans入门】Pytorch实现Gans代码详解【70+代码】但是上面的任务只是画一条在一定区间下的曲线。这里对这个进行迁移,到可以进行图像的生成。图像的很多数据都没有,但是突然想到在sklearn上的digits是一个非常简单的图片。这里我想到之前的一份笔记sklearn学习(一)这里会使用sklearn自带的小数据来做训练...原创 2018-11-08 10:57:10 · 1622 阅读 · 0 评论 -
【Gans入门】Pytorch实现Gans代码详解【70+代码】
简述由于科技论文老师要求阅读Gans论文并在网上找到类似的代码来学习。文章目录简述代码来源代码含义概览代码分段解释导入包:设置参数:给出标准数据:构建模型:构建优化器迭代细节画图全部代码:参考并学习的链接代码来源https://github.com/MorvanZhou/PyTorch-Tutorial/blob/master/tutorial-contents/406_GAN.py代码...原创 2018-11-05 10:05:25 · 3977 阅读 · 1 评论 -
Knn算法(机器学习)入门(Python实现)
看到这个名字,是不是觉得很高大上? 看到网上的那些大佬写了一堆的代码,一堆的分析,是不是有点头昏脑胀? 这还是机器学习中最简单的算法么? # =================== 如果你也遇到了什么这些迷惑,我想选择看这篇文章,可能会对你有很大的帮助,因为我也不喜欢那些复杂的推理什么的。(好吧,只是因为想安慰你们才这么说的) 相信短短的20行代码就会让你快速掌握Knn算法(机器学习中最原创 2017-10-14 14:51:10 · 1022 阅读 · 0 评论