机器学习
无聊的六婆
这个作者很懒,什么都没留下…
展开
-
线性判别分析(LDA)和python实现(二分类问题)
线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的线性学习方法,思路是将两种数据投影到一条直线上,使这两种数据之间尽可能远离,且同类数据尽可能聚集在一起假如我们有如上图所示的2种数据集$$X1=\left \{ x_{1}^{1}, x_{2}^{1},..., x_{n}^{1}\right \}$$$$X2=\left \{ x_{1...原创 2018-04-09 21:09:46 · 25015 阅读 · 9 评论 -
密度聚类(一)DBSCAN和python实现
密度聚类密度聚类原创 2019-01-19 21:35:48 · 2129 阅读 · 3 评论 -
支持向量机(SVM)和python实现(三)
6. python实现根据前面的一步步推导获得的结果,我们就可以使用python来实现SVM了 这里我们使用iris数据集进行验证,由于该数据集有4维,不容易在二维平面上表示,我们先使用LDA对其进行降维,又因为该数据集有3类样本,我们编写的SVM是二分类的,所以我们将获取的第二个样本的label设为1,其他两类样本的label设为-1# -*- coding: gbk -*-impo...原创 2018-09-11 10:36:09 · 5942 阅读 · 0 评论 -
原型聚类(三)高斯混合聚类和python实现
与k-means、LVQ用原型向量来刻画聚类结构不同,高斯混合(Mixture of Gaussian)聚类采用概率模型来表达聚类原型。多元高斯分布的概率密度函数定义(1)p(x)=1(2π)n2(Σ)12e−12(x−μ)TΣ−1(x−μ)p(x)=\frac{1}{(2\pi )^{\frac{n}{2}}(\Sigma )^{\frac{1}{2}}}e^{-\frac{1}{2}(x-...原创 2018-09-23 22:03:34 · 3121 阅读 · 2 评论 -
原型聚类(二)学习向量量化(LVQ)和python实现
学习向量量化(Learning Vector Quantization,LVQ)和k-means类似,也属于原型聚类的一种算法,不同的是,LVQ处理的是有标签的样本集,学习过程利用样本的标签进行辅助聚类,个人感觉这个算法更像是一个分类算法。。。...原创 2018-09-23 18:58:30 · 2836 阅读 · 2 评论 -
原型聚类(一)k均值算法和python实现
原型聚类原型聚类算法假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用。通常情形下,算法先对原型进行初始化,然后对原型进行迭代更新求解。这里的“原型”我认为实际上就是“原来的模型”,这类算法企图模拟出生成数据集的模型。k均值算法(k-means)若存在一个样本集D={x1,x2,...,xm}D=\begin{Bmatrix}x_{1},x_{2},...,x_{m}\end{Bm...原创 2018-09-23 18:23:30 · 1529 阅读 · 0 评论 -
经典集成学习算法和部分python实现
BoostingBoosting的大概思想是先从初始训练集中训练出一个基学习器,再根据这个基学习器对训练集的判断重新调整训练集,让当前分类器判断错误的样本在后续学习中受到更高的关注,如此不断迭代,直到生成目标数目的基学习器,然后根据权重相加,获得一个强学习器。如下图所示的流程 (上图来自https://blog.csdn.net/willduan1/article/details/736...原创 2018-09-17 18:08:11 · 3053 阅读 · 0 评论 -
支持向量机(SVM)和python实现(二)
4. 松弛向量与软间隔前面讨论的情况都是样本分布都可以被超平面完美分割的情况,但是在现实任务中,经常会有难以完美划分的情况,就算正好完美划分了样本点,也很难判断这个结果是不是过拟合造成的。 (图来自https://blog.csdn.net/zouxy09/article/details/17291543) 上左图中如果我们要考虑点A,得到的超平面就是红线那样,上右图中若是要考虑在cl...原创 2018-09-09 17:34:10 · 5184 阅读 · 0 评论 -
支持向量机(SVM)和python实现(一)
问题的提出若存在一个样本集,其中有两类数据,我们希望将他们分类原创 2018-09-08 17:34:01 · 8570 阅读 · 0 评论 -
基于BP神经网络的DNN和python实现
神经网络可以用来处理回归和分类的问题,典型的神经网络算法即为BP(Back Propagation)算法,我们这里对BP神经网络的构建进行详细讲解,基于BP算法延伸出多层神经网络,并对一些问题提出解决方法。BP神经网络的原理1. 单个神经元的构成 如上图所示为一个典型的神经元结构,输入端为n个输入xnxnx_{n},对应n个权重wnwnw_{n},以及一个阈值b,将这些值进行线性...原创 2018-04-29 00:19:15 · 12843 阅读 · 11 评论 -
线性判别分析(LDA)和python实现(多分类问题)
上一篇写过线性判别分析处理二分类问题https://blog.csdn.net/z962013489/article/details/79871789,当使用LDA处理多分类问题时,通常是作为一个降维工具来使用的。若我们有一个D维的样本集,该样本集包含C个类别共n个样本,希望将D维降维成K维。之前在二分类问题中,我们定义的类间散度矩阵为:Sb=(μ1−μ2)(μ1−μ2)TSb=(μ1−μ2)(μ...原创 2018-04-12 20:29:26 · 20366 阅读 · 11 评论 -
决策树分类(decision tree classification)和python实现
决策树分类很符合人类分类时的思想,决策树分类时会提出很多不同的问题,判断样本的某个特征,然后综合所有的判断结果给出样本的类别。例如下图的流程即为一个典型的决策树分类的流程图,这个流程图用来简略的判断一个小学生是否学习很好,当然这里只是举个例子,现在的小学生可是厉害的不行了,这点评判标准完全不够看啊。。。 说白了决策树就是if else的堆砌,是一个树形结构,我们在构建决策树分类器的时候主要关...原创 2018-04-22 16:48:47 · 64992 阅读 · 15 评论 -
密度聚类(二)OPTICS和python实现
上一节写的DBSCAN算法的一个缺点是无法对密度不同的样本集进行很好的聚类,就如下图中所示,是DBSCAN获得的聚类结果,第二个图中紫色的点是异常点,由于黄色的样本集密度小,与另外2个样本集的区别很大,这个时候DBSCAN的缺点就显现出来了。于是有人提出了另外一个算法叫做Ordering points to identify the clustering structure(OPTICS),这...原创 2019-01-22 14:02:51 · 10271 阅读 · 3 评论