自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

slx_share的博客

记录&分享&交流

  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 算法设计思想-递归

我们知道计算机适合做一些重复性的工作,且计算机求解问题遵循的一个基本原则是将问题规模逐渐减小,即将原问题转化为与之相似的规模较小的子问题。递归算法就是通过调用自身将问题规模缩小的算法设计思想。递归的定义递归就是在函数内部直接或间接调用自身。def fib(n): if n <= 1: return 1 return fib(n - 1) + fib(n ...

2020-02-09 22:03:29 649

原创 机器学习特征工程方法的总结(持续更新……)

维度过高会造成数据稀疏,不利于模型的训练。我们在选取特征时需要遵守的一个准则就是:特征并非越多越好,而是越准确越好。挑选特征(filter)机理分析根据业务知识,进行机理分析,挑选对目标影响最大的K个特征方差分析计算方差,排除方差小于阈值的特征相关性分析对特征与目标间以及特征间进行相关性分析、偏相关分析,排除冗余特征皮尔逊相关系数适合定量特征的相关性分析偏相关分析考虑到特征间......

2019-07-03 18:09:00 1866 1

原创 生成对抗网络(GAN)简介以及Python实现

本篇博客简单介绍了生成对抗网络(Generative Adversarial Networks,GAN),并基于Keras实现GAN。以往的生成模型都是预先假设生成样本服从某一分布族,然后用深度网络学习分布族的参数,最后从学习到的分布中采样生成新的样本。例如变分自编码器就是构建生成样本的密度函数p(x∣z,θ)p(x|z,\theta)p(x∣z,θ),这种模型称为显示密度模型。GAN并不学习...

2019-06-30 20:22:03 14983 9

原创 自编码器、变分自编码器(VAE)简介以及Python实现

本篇博客简单介绍了自编码器(AutoEncoder, AE)以及近几年比较火的变分自编码器(Variational AutoEncoder, VAE),并用Python实现。自编码器(AE)自编码器是一种无监督学习模型,可用于数据降维,数据可视化,深度模型逐层预训练等。原始AE结构非常简单,如下图所示:模型由输入层、隐藏层以及输出层构成,输出层神经元数目与输入层相等。编码(encode)...

2019-06-25 14:50:00 15593 5

原创 受限波尔兹曼机(RBM)简介以及Python实现

预备知识概率图模型独立性因子分解贝叶斯网络马尔科夫网络变量消除采样MCMC采样Gibbs采样玻尔兹曼机对比散度算法代码参考资料《深入浅出深度学习-原理剖析与Python实践》黄安埠...

2019-06-20 09:21:36 7956 9

原创 Pyspark使用笔记

本博客记录了学习Pyspark的笔记。之前一直都是从数据库中导出数据到本地,再进行建模分析,并未使用Spark。由于相对比较熟悉Python,所以便用Pyspark接入Spark进行建模分析。Pyspark结构整个程序由11个公共类加4个模块组成。...

2019-05-24 10:43:35 855

原创 Keras使用笔记

数据预处理keras提供针对文本(text)、序列(sequence)以及图像(image)三中类型数据的预处理方法。from keras.preprocessing import text, sequence, image文本数据处理步骤:文本拆分建立索引(编码),转换为纯数值序列补齐序列(padding), 转换为矩阵# 通常处理多分文档构成的list,每份文档作为一个独立的...

2019-05-22 15:29:16 675

原创 深度学习中卷积操作简单介绍

卷积定义卷积的数学定义是:连续形式h(t)=∫−∞+∞f(τ)g(t−τ)dτh(t)=\int_{-\infty}^{+\infty}{f(\tau)g(t-\tau)d\tau}h(t)=∫−∞+∞​f(τ)g(t−τ)dτ离散形式h(t)=∑τ=−∞+∞f(τ)g(t−τ)dτh(t)=\sum_{\tau=-\infty}^{+\infty}{f(\tau)g(t-\tau)d\ta...

2019-05-21 16:29:57 740

原创 Win10系统搭建Spark环境

在Win10系统下搭建Spark环境,有助于初学者学习开发及调试Spark应用。软件包准备不同版本Spark与PySpark存在不兼容的情况,以下版本经本人测试是可行的。spark-2.3.3-bin-hadoop2.7hadoop-2.7.7winutilsjava1.8scala-2.12.8安装java及scala的安装就不用讲了,记得设置环境变量就行解压spark...

2019-04-18 15:10:02 457

原创 使用Pyinstaller打包Python应用程序

当我们写了一个Python应用程序,想发给朋友使用,然而朋友的电脑却没有Python运行环境,这是我们可以将代码以及运行环境打包给朋友,使其能跨平台使用,这个过程叫做freezing。这里我们运用fbs以及pyinstaller来创建可以脱机使用的独立可执行应用程序。直接使用Pyinstaller进入程序所在文件夹:pyinstaller yourprogram.py使用fbs1. 安装...

2019-03-30 09:17:09 365

原创 数据预处理中常用检验方法汇总以及Python示例

统计检验方法假设检验步骤:给出原假设H0H_0H0​,通常为积极肯定的一面,例如原数据集及符合某类分布F(X)F(X)F(X)。挑选统计量(该统计量服从分布F(X)F(X)F(X)),根据样本计算统计量的值。根据预先设定的显著性程度或者置信度,计算临界值,若统计值超出临界值则否定原假设;或者根据统计值计算p值(符合原假设的概率),若p值小于显著性程度则否定原假设。基于上述思想,可以先假...

2019-02-22 16:07:44 3139 1

原创 异常检测—IsolationForest算法简介以及Python实现

IsolationForest是一种适合高维数据集的异常值检测算法。核心思想通过随机切分数据集,异常点应该是容易被隔离的。算法简介随机选择一个特征,再在该特征下最大与最小值间随机选择一个值作为切分点,递归切分数据集,直到每个样本点被隔开,从而构建一颗类似CART分类树的随机树。重复构建多颗随机树。从根节点到叶节点的路径越长,代表该点越难被隔离,即该点越不可能是异常点。计算每个样本点路径...

2019-02-22 15:18:57 2809

原创 异常检测—LOF算法简介以及Python实现

参考资料https://dl.acm.org/ft_gateway.cfm?id=335388&amp;amp;amp;amp;ftid=2057&amp;amp;amp;amp;dwn=1&amp;amp;amp;amp;CFID=51876766&amp;amp;amp;amp;CFTOKEN=b2427295e6580441-94D5C0E4-E786-FC78-16E741661C2500A7

2019-02-21 20:26:48 11270 2

原创 Python数据可视化—seaborn各类图形的绘制

直方图

2019-02-13 10:51:31 10785

原创 机器学习基础理论笔记

二分类模型TP(ture positive):正确预测为正类的样本数 FP(false positive):错误预测为正类的样本数 TN(true negtive):正确预测为负类的样本数 FN(false negtive):错误预测为负类的样本数准确率(accuracy):预测正确的样本占总样本的比例TP+TNTP+FP+TN+FNTP+TNTP+FP+TN+FN\frac{TP+...

2019-02-03 16:29:51 359

原创 Python数据可视化—matplotlib以及seaborn基础

matplotlib的默认配置存储在rcParam字典中,在动态环境中可修改字典值改变默认配置,也可以通过修改配置文件matplotlibrc,永久更改默认配置,如下:import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 中文支持plt.rcParams['axes.unicode_min...

2019-02-03 16:26:00 1128

原创 《信息简史》读后感

学习深度学习的过程中,隐隐觉得神经网络是否能取得很好的预测效果,关键在于能否合理控制其中的信息流。为此,我觉得需要构建起对 信息(information) 的一个清晰认识,詹姆斯⋅\cdot⋅格雷克著作《信息简史》很好的满足了我的需求。特地花了一个星期的时间把这本书看完,感触颇深,写下这篇读后感,一来对全书做一个总结,二来记录下自己的观点。以后重读此书,一定会有不一样的收获,届时会再更新。这本书...

2019-01-02 16:35:59 9862

原创 ARIMA模型简介以及Python示例

设观测时间序列{Z1,Z2,Z3,...,Zn}\{Z_1, Z_2, Z_3, ..., Z_n\}{Z1​,Z2​,Z3​,...,Zn​}平稳过程序列满足三个条件:均值恒定。E(Zt)=μE(Z_t)=\muE(Zt​)=μ方差恒定。Var(Zt)=σ2Var(Z_t)=\sigma^2Var(Zt​)=σ2协方差仅与时滞k相关。即Cov(Zt,Zt+k)Cov(Z_t, Z_t...

2018-12-21 10:56:02 14954 9

原创 机器学习中的高斯过程简介

前面的博客有说到高斯混合模型,本质是用n(簇的个数)个高斯函数的线性组合拟合数据,然后用训练数据集学习各个高斯函数的参数以及线性组合系数,最后反过来更具学习到的模型P(y∣X)P(y|X)P(y∣X)对原数据集进行聚类。高斯过程(Gaussian Process, GP)同样采用高斯函数对训练数据集进行学习得到P(y∣X)P(y|X)P(y∣X)。不同的是,高斯过程采用一个高斯函数,并且基于核函...

2018-11-05 09:56:07 6872 1

原创 机器学习中损失函数的总结

统计机器学习的策略通常是最小化代价函数(目标函数),因此代价函数的选取对学习效果影响很大。损失函数与代价函数是一回事,但有的书籍定义损失函数指单个样本的损失(lll),而代价函数指损失函数之和或加上正则化项(LLL)。本文用lll表示单个样本的损失,LLL表示所有样本的平均损失,ypy^pyp表示预测值f(x)f(x)f(x)。分类模型损失函数分类模型的损失函数通常用yypyy^pyyp来表示...

2018-10-25 14:13:41 933 1

原创 机器学习中集成学习方法的总结

BaggingBoostingStackingBlending

2018-10-22 11:27:36 1296

原创 XGBoost算法简介及Python实现

GB(梯度提升)算法就是用损失函数的梯度近似新一轮的残差。GBDT即采用决策树(通常为CART回归树)作为基本分类器的提升算法。GBDT算法是一种加法模型,即逐步添加树以使得目标函数(或称代价函数,即损失函数之和)值最大程度减小。此时的目标函数没有正则化项,仅仅是损失函数(通常是平方损失函数)值之和,这样容易造成过拟合,因为对于回归树一直细分下去损失函数一直减小,树的层数却越来越大。实质上决策...

2018-10-19 10:04:33 7601 3

原创 B-树以及B+树

B树B树是一种平衡的多路查找树,包括B-树以及B+树。一个节点可以拥有多个key以及多个孩子节点。一棵m阶的B树满足如下性质:一个节点最多含有m-1个key,大于或等于m就要对节点进行劈裂节点上的n个key有序排列,对应n+1个孩子有序排列(例如大于第一个key对应第一个孩子节点)根节点非空,则至少两个孩子内部节点至少m//2+1个孩子节点搜索B-树和B+树都可以从根节点开始随机...

2018-10-16 20:47:40 453

原创 二叉搜索树、AVL以及红黑自平衡二叉搜索树

二叉搜索树二叉搜索树的基本操作有search(搜索)、insert(插入)、delete(删除)搜索key值小于当前节点,则搜索当前节点的左子树,反之右子树,直到叶节点。若遇到相同key则返回True。二叉搜索树的搜索的时间复杂度最好是O(logn),但在以下两种情况下,将和线性搜索O(n)无异。插入搜索到叶节点,若比叶节点key小,则添加为当前叶节点的左孩子,反之右孩子。删除删...

2018-10-13 11:12:42 208

原创 Spark学习笔记

2018-09-23 10:44:05 585

原创 Hadoop学习笔记

Hadoop分布式文件系统(HDFS):HDFS是一种用户空间文件系统,说白了就是管理文件的代码是运行在OS上的,使得文件系统易修改,安全灵活。同时是一种分布式存储文件的系统,这使得扩容非常方便,且数据不易丢失。基本数据块数据传送的基本元,简单地理解就是一次写入或读取的最大连续的数据块。数据块越大,IO耗费越低。hdfs默认是64M,可根据需要增大到128M,甚至1G。数据保护...

2018-06-24 10:10:47 368

原创 Paxos算法详解

Paxos算法是分布式系统的一个基础架构。

2018-06-24 10:02:55 1450

原创 Python描述符

描述符(descriptor)是定义了__get__()、__set__()和__del__()中一个或多个方法的类。为何叫”描述”符呢?个人理解是描述符是一个辅助类,辅助对另一个类的属性进行”描述”。举个例子:定义一个类是Person,那么其属性age不能是负数,“不能是负数”就是对age属性的描述。首先想到的做法是在实例初始化函数__init__()中对age进行描述,但这种方法有...

2018-05-24 21:23:45 862

原创 Python中对象剖析

Python中一切皆对象。对象可以分为类和实例。一切对象的基类都是object。类:如int, str, float, list等都是类。由元类创建,例如要创建一个抽象类,就需要指定其元类是ABCMeta。 实例:对类进行实例化得到。类的继承:类的继承与指定元类不同。说白了,继承是从父类中”拿来”,指定元类是以元类为”指导”。新式类的继承类似于广度搜索。实例化过程:由__new__(...

2018-05-23 19:58:27 177

原创 Python闭包closure

闭包(closure)是函数式编程中一个非常重要的概念。从字面上理解,就是内嵌函数将外层函数的变量“包”进来,并且“固定”不变,从而形成一个函数。所以一个高阶函数外层输入不同的自变量时,可以创建不同的闭包函数。def high_order_func(i): def enclosing_func(a): return a + i return enclosi...

2018-05-19 15:13:48 182

原创 Spark_Hadoop平台搭建

设置SSHSSH生成密钥,包括私钥id_rsa和公钥id_rsa.pub。私钥用来加密和数字签名,公钥用来解密。服务器间互相拥有对方的公钥,设置好SSH配置文件,即可实现Linux服务器间免密码登陆以及文件的安全传送。 1. 安装SSH,并启动SSH服务: systemctl start sshd.service 2. 生成密钥,存储路径为/root/.ssh: ssh-keygen -t...

2018-05-14 15:36:11 260

原创 机器学习中优化算法总结以及Python实现

机器学习算法最终总是能转化为最优化问题,习惯上会转化为最小化问题。 个人总结迭代优化算法关键就两点: (1) 找到下降方向 (2) 确定下降步长最速梯度下降算法梯度下降算法是以最优化函数的梯度为下降方向,学习率ηη\eta乘以梯度的模即为下降步长。更新公式如下:xk+1=xk−η∗gkxk+1=xk−η∗gkx_{k+1}=x_k-\eta*g_k其中gkgkg_k为梯度。...

2018-05-08 20:17:20 11546 1

原创 推荐——协同过滤算法以及Python实现

协同过滤算法(collaborative filtering)的目标是基于用户对物品的历史评价信息,向目标用户(active user)推荐其未购买的物品。协同过滤算法可分为基于物品的,基于用户的和基于矩阵分解,本文实现基于物品和基于矩阵分解的协同过滤算法。协同过滤算法总览输入数据:典型的协同过滤问题输入数据为m个用户list,n个物品list,同时每个用户有一个已评价的物品list。 ...

2018-05-08 17:09:34 31156 2

原创 标注——隐马尔科夫模型(HMM)以及Python实现

隐马尔可夫模型(HMM)是可用于标注问题的统计模型。关于HMM通常包含三类问题:1.概率计算 2.参数学习 3.预测状态。本博客简单罗列下HMM的知识点,给出代码。详细地参考李航《统计学习方法》。模型简介HMM描述先由隐藏的马尔可夫链生成状态序列,各个状态序列生成一个观测,组合成最终的观测序列。故整个模型包含三个要素: 1. 初始状态概率向量:生成第一个状态的概率 2. 状态转移概率矩...

2018-05-08 15:13:14 13177 5

原创 人工神经网络——反向传播算法(BP)以及Python实现

人工神经网络是模拟生物神经系统的。神经元之间是通过轴突、树突互相连接的,神经元收到刺激时,神经脉冲在神经元之间传播,同时反复的脉冲刺激,使得神经元之间的联系加强。受此启发,人工神经网络中神经元之间的联系(权值)也是通过反复的数据信息”刺激”而得到调整的。而反向传播(back propagation)算法就是用来调整权值的。核心思想训练误差逐层反向传播,每层神经元与下层神经元间权重通过误差最...

2018-05-08 10:40:23 13808 1

原创 关联分析——FP树增长算法以及Python实现

FP树增长算法是一种挖掘频繁项集的算法。Apriori算法虽然简单易实现,效果也不错,但是需要频繁地扫描数据集,IO费用很大。FP树增长算法有效地解决了这一问题,其通过两次扫描数据集构建FP树,然后通过FP树挖掘频繁项集。核心思想构建FP树,深度或广度优先搜索条件FP树挖掘频繁项集。算法简介基本概念FP树:FP树是整个算法的核心,一颗FP树实质上包括两个部分:项头表,树...

2018-05-07 21:58:27 10881

原创 关联分析——Apriori算法以及Python实现

Aprior算法是比较经典的关联规则挖掘算法。核心思想核心就是先验原理,即频繁项集的子集必定是频繁项集。反之,若子集非频繁,则超集必定非频繁。算法简介基本概念购物篮事务(transaction):一位顾客一次购买商品的记录就是一条事务。 项集(itemset):商品的集合。 频繁项集:集合内商品数量大于阈值的项集。 关联规则:形如X⟶YX⟶YX \longrigh...

2018-05-07 17:24:45 4993 2

原创 聚类——谱聚类算法以及Python实现

谱聚类(spectral cluster)可以视为一种改进的Kmeans的聚类算法。常用来进行图像分割。缺点是需要指定簇的个数,难以构建合适的相似度矩阵。优点是简单易实现。相比Kmeans而言,处理高维数据更合适。核心思想构建样本点的相似度矩阵(图),将图切割成K个子图,使得各个子图内相似度最大,子图间相似度最弱算法简介构建相似度矩阵的拉普拉斯矩阵。对拉普拉斯矩阵进行特征值分解,选...

2018-05-07 15:45:20 9035 4

原创 聚类——标签传播算法以及Python实现

标签传播算法(label propagation)是典型的半监督聚类算法。半监督是指训练数据集中小部分样本点已知标签,大部分样本点未知标签。核心思想相似性较大的样本点间应该具有相同的标签,将已知标签通过相似性矩阵传播到未知的标签。算法简介基本概念转化矩阵:用来更新标签,实质就是度量样本点间相似性程度的矩阵(图的边的权重)。Yi+1←TYiYi+1←TYiY_{i+1}\...

2018-05-07 10:34:01 7050 1

原创 聚类——MeanShift算法以及Python实现

均值漂移算法(MeanShift)是一种旨在发现团blobs)的聚类算法核心思想寻找核密度极值点并作为簇的质心,然后根据最近邻原则将样本点赋予质心算法简介核密度估计根据样本分布估计在样本空间的每一点的密度。估计某点的密度时,核密度估计方法会考虑该点邻近区域的样本点的影响,邻近区域大小由带宽h决定,该参数对最终密度估计的影响非常大。通常采用高斯核:N(x)=12π−−√h...

2018-05-05 21:36:08 6630 3

用Python写网络爬虫

作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用。使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站。, 《用Python写网络爬虫》作为使用Python来爬取网络数据的杰出指南,讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法。此外,本书还介绍了如何使用AJAX URL和Firebug扩展来爬取数据,以及有关爬取技术的更多真相,比如使用浏览器渲染、管理cookie、通过提交表单从受验证码保护的复杂网站中抽取数据等。本书使用Scrapy创建了一个高级网络爬虫,并对一些真实的网站进行了爬取。, 《用Python写网络爬虫》介绍了如下内容:, 通过跟踪链接来爬取网站;, 使用lxml从页面中抽取数据;, 构建线程爬虫来并行爬取页面;, 将下载的内容进行缓存,以降低带宽消耗;, 解析依赖于JavaScript的网站;, 与表单和会话进行交互;, 解决受保护页面的验证码问题;, 对AJAX调用进行逆向工程;, 使用Scrapy创建高级爬虫。, 本书读者对象, 本书是为想要构建可靠的数据爬取解决方案的开发人员写作的,本书假定读者具有一定的Python编程经验。当然,具备其他编程语言开发经验的读者也可以阅读本书,并理解书中涉及的概念和原理。

2018-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除