算法设计思想-递归 我们知道计算机适合做一些重复性的工作,且计算机求解问题遵循的一个基本原则是将问题规模逐渐减小,即将原问题转化为与之相似的规模较小的子问题。递归算法就是通过调用自身将问题规模缩小的算法设计思想。递归的定义递归就是在函数内部直接或间接调用自身。def fib(n): if n <= 1: return 1 return fib(n - 1) + fib(n ...
机器学习特征工程方法的总结(持续更新……) 维度过高会造成数据稀疏,不利于模型的训练。我们在选取特征时需要遵守的一个准则就是:特征并非越多越好,而是越准确越好。挑选特征(filter)机理分析根据业务知识,进行机理分析,挑选对目标影响最大的K个特征方差分析计算方差,排除方差小于阈值的特征相关性分析对特征与目标间以及特征间进行相关性分析、偏相关分析,排除冗余特征皮尔逊相关系数适合定量特征的相关性分析偏相关分析考虑到特征间......
生成对抗网络(GAN)简介以及Python实现 本篇博客简单介绍了生成对抗网络(Generative Adversarial Networks,GAN),并基于Keras实现GAN。以往的生成模型都是预先假设生成样本服从某一分布族,然后用深度网络学习分布族的参数,最后从学习到的分布中采样生成新的样本。例如变分自编码器就是构建生成样本的密度函数p(x∣z,θ)p(x|z,\theta)p(x∣z,θ),这种模型称为显示密度模型。GAN并不学习...
自编码器、变分自编码器(VAE)简介以及Python实现 本篇博客简单介绍了自编码器(AutoEncoder, AE)以及近几年比较火的变分自编码器(Variational AutoEncoder, VAE),并用Python实现。自编码器(AE)自编码器是一种无监督学习模型,可用于数据降维,数据可视化,深度模型逐层预训练等。原始AE结构非常简单,如下图所示:模型由输入层、隐藏层以及输出层构成,输出层神经元数目与输入层相等。编码(encode)...
受限波尔兹曼机(RBM)简介以及Python实现 预备知识概率图模型独立性因子分解贝叶斯网络马尔科夫网络变量消除采样MCMC采样Gibbs采样玻尔兹曼机对比散度算法代码参考资料《深入浅出深度学习-原理剖析与Python实践》黄安埠...
Pyspark使用笔记 本博客记录了学习Pyspark的笔记。之前一直都是从数据库中导出数据到本地,再进行建模分析,并未使用Spark。由于相对比较熟悉Python,所以便用Pyspark接入Spark进行建模分析。Pyspark结构整个程序由11个公共类加4个模块组成。...
Keras使用笔记 数据预处理keras提供针对文本(text)、序列(sequence)以及图像(image)三中类型数据的预处理方法。from keras.preprocessing import text, sequence, image文本数据处理步骤:文本拆分建立索引(编码),转换为纯数值序列补齐序列(padding), 转换为矩阵# 通常处理多分文档构成的list,每份文档作为一个独立的...
深度学习中卷积操作简单介绍 卷积定义卷积的数学定义是:连续形式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...
Win10系统搭建Spark环境 在Win10系统下搭建Spark环境,有助于初学者学习开发及调试Spark应用。软件包准备不同版本Spark与PySpark存在不兼容的情况,以下版本经本人测试是可行的。spark-2.3.3-bin-hadoop2.7hadoop-2.7.7winutilsjava1.8scala-2.12.8安装java及scala的安装就不用讲了,记得设置环境变量就行解压spark...
使用Pyinstaller打包Python应用程序 当我们写了一个Python应用程序,想发给朋友使用,然而朋友的电脑却没有Python运行环境,这是我们可以将代码以及运行环境打包给朋友,使其能跨平台使用,这个过程叫做freezing。这里我们运用fbs以及pyinstaller来创建可以脱机使用的独立可执行应用程序。直接使用Pyinstaller进入程序所在文件夹:pyinstaller yourprogram.py使用fbs1. 安装...
数据预处理中常用检验方法汇总以及Python示例 统计检验方法假设检验步骤:给出原假设H0H_0H0,通常为积极肯定的一面,例如原数据集及符合某类分布F(X)F(X)F(X)。挑选统计量(该统计量服从分布F(X)F(X)F(X)),根据样本计算统计量的值。根据预先设定的显著性程度或者置信度,计算临界值,若统计值超出临界值则否定原假设;或者根据统计值计算p值(符合原假设的概率),若p值小于显著性程度则否定原假设。基于上述思想,可以先假...
异常检测—IsolationForest算法简介以及Python实现 IsolationForest是一种适合高维数据集的异常值检测算法。核心思想通过随机切分数据集,异常点应该是容易被隔离的。算法简介随机选择一个特征,再在该特征下最大与最小值间随机选择一个值作为切分点,递归切分数据集,直到每个样本点被隔开,从而构建一颗类似CART分类树的随机树。重复构建多颗随机树。从根节点到叶节点的路径越长,代表该点越难被隔离,即该点越不可能是异常点。计算每个样本点路径...
异常检测—LOF算法简介以及Python实现 参考资料https://dl.acm.org/ft_gateway.cfm?id=335388&amp;amp;amp;ftid=2057&amp;amp;amp;dwn=1&amp;amp;amp;CFID=51876766&amp;amp;amp;CFTOKEN=b2427295e6580441-94D5C0E4-E786-FC78-16E741661C2500A7
机器学习基础理论笔记 二分类模型TP(ture positive):正确预测为正类的样本数 FP(false positive):错误预测为正类的样本数 TN(true negtive):正确预测为负类的样本数 FN(false negtive):错误预测为负类的样本数准确率(accuracy):预测正确的样本占总样本的比例TP+TNTP+FP+TN+FNTP+TNTP+FP+TN+FN\frac{TP+...
Python数据可视化—matplotlib以及seaborn基础 matplotlib的默认配置存储在rcParam字典中,在动态环境中可修改字典值改变默认配置,也可以通过修改配置文件matplotlibrc,永久更改默认配置,如下:import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 中文支持plt.rcParams['axes.unicode_min...
《信息简史》读后感 学习深度学习的过程中,隐隐觉得神经网络是否能取得很好的预测效果,关键在于能否合理控制其中的信息流。为此,我觉得需要构建起对 信息(information) 的一个清晰认识,詹姆斯⋅\cdot⋅格雷克著作《信息简史》很好的满足了我的需求。特地花了一个星期的时间把这本书看完,感触颇深,写下这篇读后感,一来对全书做一个总结,二来记录下自己的观点。以后重读此书,一定会有不一样的收获,届时会再更新。这本书...
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...
机器学习中的高斯过程简介 前面的博客有说到高斯混合模型,本质是用n(簇的个数)个高斯函数的线性组合拟合数据,然后用训练数据集学习各个高斯函数的参数以及线性组合系数,最后反过来更具学习到的模型P(y∣X)P(y|X)P(y∣X)对原数据集进行聚类。高斯过程(Gaussian Process, GP)同样采用高斯函数对训练数据集进行学习得到P(y∣X)P(y|X)P(y∣X)。不同的是,高斯过程采用一个高斯函数,并且基于核函...
机器学习中损失函数的总结 统计机器学习的策略通常是最小化代价函数(目标函数),因此代价函数的选取对学习效果影响很大。损失函数与代价函数是一回事,但有的书籍定义损失函数指单个样本的损失(lll),而代价函数指损失函数之和或加上正则化项(LLL)。本文用lll表示单个样本的损失,LLL表示所有样本的平均损失,ypy^pyp表示预测值f(x)f(x)f(x)。分类模型损失函数分类模型的损失函数通常用yypyy^pyyp来表示...