变分自编码器
Vae他有一些烦恼反正现在的年轻人都有许多烦恼那么多要思考那么多要寻找诱惑太多 不坚定就犯错了 哦哦,不对,不是这个Vae,也不是uae~ 是接下来出场的VAE~ 对比AE,引出VAE之前介绍了自编码器(AE)的原理(传送门),当时讲到自编码器并不具有真正的生成能力,以图像为例来说,它只能将输入的图像$X$编码成隐向量$z$,然后将$z$作为解码器的输入,得到输出图像$X’$。如果我们尝试将与$z$的shape一致的”随机特征表示”输入解码器,那么得到的将是毫无意义的噪声图像。 变分自编码器(VAE)突破了这一限制! 先给出结论:在VAE中,只要随机特征表示(这里也将这些特征表示记作$z$)是从某些分布,如标准正态分布中采样得到的,那么将$z$输入解码器之后可以得到与训练集图像类似但不同于训练集中任何一张图像的新图像。 比如,训练集是手写数字图像,那么在训练完成后,将从标准正态分布中采样得到的$z$输入解码器,可以得到一些新的手写数字图像。 以上所说的特征表示$z$,被称为隐向量(latent...
自编码器
自编码器的结构自编码器(Auto Encoder)是一种神经网络模型。它由两部分组成:编码器(Ecoder)和解码器(Decoder)。 编码器用于将输入数据(Input Data)进行编码,从而将输入数据映射到维度较低的隐空间(Latent Space),得到被编码的数据(Encoded...
回归树
开篇在之前的决策树讲解(传送门)中,我们使用ID3算法生成了一棵决策树,并且在文章最后指出除了ID3算法,常用的决策树生成算法还有C4.5。 但是,无论是基于信息增益的ID3算法,还是基于信息增益比的C4.5算法,它们都只能处理分类问题,而对于回归问题就束手无策了。 现在,我们要介绍一种既可用于分类任务又可用于回归任务的决策树的生成算法:CART算法。 CART的全称是 classification and regression...
AdaBoost
开篇AdaBoost是一种提升(boosting)方法。 你可能听过“众人拾柴火焰高”这句话,提升方法的思想与这句话的思想颇有相似之处。 一个人拾到的柴火,只能维持小的火苗;但一群人一起拾柴,供给同一火堆,那么这个火堆终将燃起熊熊大火。 对于给定的训练集,单个分类器的分类能力可能并不算好;但如果同时训练一堆分类器,让分类器们一起做判断,那么分类结果将会比任何一个单独的分类器做分类都要好。 上面的单个分类器被称为“弱分类器”,若干个“弱分类器”联合起来,就得到了“强分类器”。 AdaBoost作为最具代表性的提升方法,自然也蕴含着这种集体智慧的思想。至于其具体细节,且往下看。 AdaBoost...
朴素贝叶斯
开篇正如其名,”朴素贝叶斯”原理”朴素”,实现简单,是一种常用的机器学习算法。 为何“朴素”?如何“学习”?如何分类?别急,咱们慢慢道来~ 概率统计回忆录朴素贝叶斯也是贝叶斯方法的一种,提起贝叶斯,学过概率统计的你一定听说过条件概率公式,全概率公式和贝叶斯公式吧,忘记了也没关系,我们先来快速过一遍。 条件概率公式: $$P(A|B)=\frac{P(A,B)}{P(B)}$$ 全概率公式: $$P(B)=\sum_{i=1}^{n}P(A_i)P(B|A_i)$$ 贝叶斯公式: $$P(A|B)=\frac{P(A,B)}{P(B)}=\frac{P(B|A)P(A)}{...
决策树
...
异常处理_Python基础连载(十五)
开篇本期介绍Python的异常处理方法。 为什么需要做异常处理看下面的函数: 12def div(a,b): return a/b 这个函数用于求解两数相除的结果 我们可以调用它: 12345678#求解1/2>>> div(1,2)0.5#求解3/4>>> div(3,4)0.75 程序貌似没问题 但是我们知道,除数是不能为0的,现在来尝试让除数为0: 1234567>>> div(1,0)Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> div(1,0) File "C:/Users/fanxi/Desktop/swe.py", line 2, in div return a/bZeroDivisionError: division by zero 毫无疑问,程序报错了! 报错信息也很明显:ZeroDivisionError:...
排序_不止于升降-Python基础连载(十四)
开篇本期将介绍排序方法,注意是方法而不是算法,因此更侧重方法的使用,而不对其内部细节的实现原理进行深究。 简单的列表(list)排序list自带有sort()方法可实现排序 默认是升序排列: 1234>>> lis=[1,3,2,5,4,8,6,9]>>> lis.sort()>>> lis[1, 2, 3, 4, 5, 6, 8, 9] 可通过传入reverse=True来实现降序: 1234>>> lis=[1,3,2,5,4,8,6,9]>>> lis.sort(reverse=True)>>> lis[9, 8, 6, 5, 4, 3, 2, 1] 你应该已经发现,上述的排序操作是直接在原列表中进行的。 除了上面的sort(),Python语言本身也有一种排序的函数,叫做sorted() 同样默认是升序排列: 1234>>> lis=[1,3,2,5,4,8,6,9]>>>...
Python将批量图片转pdf
最近在整理以前的书籍和资料,发现了一堆自己写的笔记: 摊开之后的画面是这样的: 丢了吧,太可惜,留着呢,又用不到,而且还占地方。思来想去,我决定将它们扫描做成电子档,永久储存在云端。 说干就干,先拿<操作系统笔记>开刀。我用手机摄像头充当扫描仪,开始了漫长的扫描,这真是个体力活。 许久,终于扫描完了,共134张图片。二话不说,在手机相册中选中扫描的图片,传送到手机wps,开始合成pdf… 然后就好了………………………………………………………吗? 事实是:wps最高只支持一次将50张图片合成pdf,而且还是在开会员的前提下才能操作。emm,...
kd树
...