机器学习
文章平均质量分 67
普通网友
这个作者很懒,什么都没留下…
展开
-
SVM支持向量机
SVM的文章介绍多如牛毛,很多介绍都非常详尽,而我却一点都不开窍,始终无法理解其中的奥秘。这次,我要用自己粗浅的语言,来撩开我与SVM之间的面纱。1. SVM是要解决什么问题?之前,冲上来就看SVM的应用,简介,最优化计算方法等。从没认真想过SVM要解决什么问题。下面一幅是常用的图,来解释SVM的需求。SVM最基本的应用是分类。 求解最优的分类面,然后用转载 2017-03-24 10:11:39 · 270 阅读 · 0 评论 -
概率密度函数,参数估计,非参数估计
1、概率密度函数在分类器设计过程中(尤其是贝叶斯分类器),需要在类的先验概率和类条件概率密度均已知的情况下,按照一定的决策规则确定判别函数和决策面。但是,在实际应用中,类条件概率密度通常是未知的。那么,当先验概率和类条件概率密度都未知或者其中之一未知的情况下,该如何来进行类别判断呢?其实,只要我们能收集到一定数量的样本,根据统计学的知识,可以从样本集来推断总体概率分布。这种估计方法,通常称之为原创 2017-06-21 10:39:22 · 1435 阅读 · 0 评论 -
监督学习初步---线性分类器
1. Introduction监督学习(supervised learning):粗糙的说就是需要利用输入值来预测输出.变量解释:X:输入变量Y:定量输出G:定性输出,G∈Gxi:X的第i个观测值X:矩阵Example 1. Handwritten Digit Recognition目标为预测给定图中的数字,其原创 2017-07-13 11:27:58 · 204 阅读 · 0 评论 -
仿射变换¶
目标¶在这个教程中你将学习到如何:使用OpenCV函数 warpAffine 来实现一些简单的重映射.使用OpenCV函数 getRotationMatrix2D 来获得一个 旋转矩阵原理¶什么是仿射变换?¶一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再加上一个向量 (平移).综上所述, 我们能够用仿射变换来表示:转载 2017-06-15 15:52:56 · 260 阅读 · 0 评论 -
用Python开始机器学习(5:文本特征抽取与向量化)
假设我们刚看完诺兰的大片《星际穿越》,设想如何让机器来自动分析各位观众对电影的评价到底是“赞”(positive)还是“踩”(negative)呢?这类问题就属于情感分析问题。这类问题处理的第一步,就是将文本转换为特征。因此,这章我们只学习第一步,如何从文本中抽取特征,并将其向量化。由于中文的处理涉及到分词问题,本文用一个简单的例子来说明如何使用Python的机器学习库,对英文进行特征转载 2017-09-06 15:18:53 · 185 阅读 · 0 评论 -
用Python开始机器学习(10:聚类算法之K均值)
我们之前接触的所有机器学习算法都有一个共同特点,那就是分类器会接受2个向量:一个是训练样本的特征向量X,一个是样本实际所属的类型向量Y。由于训练数据必须指定其真实分类结果,因此这种机器学习统称为有监督学习。然而有时候,我们只有训练样本的特征,而对其类型一无所知。这种情况,我们只能让算法尝试在训练数据中寻找其内部的结构,试图将其类别挖掘出来。这种方式叫做无监督学习。由于这种方式通常是将样本中相似转载 2017-09-06 15:20:09 · 272 阅读 · 0 评论 -
用Python开始机器学习(9:推荐算法之推荐矩阵)
每个人都会有这样的经历:当你在电商网站购物时,你会看到天猫给你弹出的“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到弹出的“你可能认识XXX“的信息;你在微博添加关注人时,也会看到“你可能对XXX也感兴趣”;等等。所有这一切,都是背后的推荐算法运作的结果。最经典的关联规则算法是大名鼎鼎的Apriori算法,源自一个超市购物篮的故事:啤酒总是和尿布一起被购买。有兴转载 2017-09-06 15:22:18 · 265 阅读 · 0 评论 -
用Python开始机器学习(8:SVM支持向量机)
SVM支持向量机是建立于统计学习理论上的一种分类算法,适合与处理具备高维特征的数据集。SVM算法的数学原理相对比较复杂,好在由于SVM算法的研究与应用如此火爆,CSDN博客里也有大量的好文章对此进行分析,下面给出几个本人认为讲解的相当不错的:支持向量机通俗导论(理解SVM的3层境界):http://blog.csdn.net/v_july_v/article/details/7624837转载 2017-09-06 15:26:34 · 203 阅读 · 0 评论 -
用Python开始机器学习(7:逻辑回归分类)
在本系列文章中提到过用Python开始机器学习(3:数据拟合与广义线性回归)中提到过回归算法来进行数值预测。逻辑回归算法本质还是回归,只是其引入了逻辑函数来帮助其分类。实践发现,逻辑回归在文本分类领域表现的也很优秀。现在让我们来一探究竟。1、逻辑函数假设数据集有n个独立的特征,x1到xn为样本的n个特征。常规的回归算法的目标是拟合出一个多项式函数,使得预测值与真实值的误差最小:转载 2017-09-06 15:28:06 · 173 阅读 · 0 评论 -
用Python开始机器学习(6:朴素贝叶斯分类器)
朴素贝叶斯分类器是一个以贝叶斯定理为基础,广泛应用于情感分类领域的优美分类器。本文我们尝试使用该分类器来解决上一篇文章中影评态度分类。1、贝叶斯定理假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示:上式表示对于某个样本,特征F1出现时,该样本被分为C类的条件概率。那么如何用上式来对测试样本分类呢?举例来说,转载 2017-09-06 15:29:03 · 252 阅读 · 0 评论 -
用Python开始机器学习(4:KNN分类算法)
1、KNN分类算法KNN分类算法(K-Nearest-Neighbors Classification),又叫K近邻算法,是一个概念极其简单,而分类效果又很优秀的分类算法。他的核心思想就是,要确定测试样本属于哪一类,就寻找所有训练样本中与该测试样本“距离”最近的前K个样本,然后看这K个样本大部分属于哪一类,那么就认为这个测试样本也属于哪一类。简单的说就是让最相似的K个样本来投票决定。这转载 2017-09-06 15:30:28 · 188 阅读 · 0 评论 -
用Python开始机器学习(3:数据拟合与广义线性回归)
机器学习中的预测问题通常分为2类:回归与分类。简单的说回归就是预测数值,而分类是给数据打上标签归类。本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析。本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1、2、100次方的多项式对该数据进行拟合。拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并转载 2017-09-06 15:31:37 · 305 阅读 · 0 评论 -
用Python开始机器学习(2:决策树分类算法)
1、决策树算法决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。不过对于一些特殊的逻辑分类会有困难。典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题。决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题。因此如何构建一棵好的决策树是研究的重点。J. Ross Quinlan在1975提出将信息熵的概念引入决策树的构建,这就是鼎鼎大名的ID3算法转载 2017-09-06 15:34:22 · 198 阅读 · 0 评论 -
生成模型和判别模型(机器学习基础)
引入监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出。这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X)。监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别为生成模型(generative model)和判别模型(dis原创 2017-04-27 10:15:05 · 344 阅读 · 0 评论 -
LSTM和GRU的联系与比较
目录(?)[+]Recurrent Neural Networks长期依赖Long-Term Dependencies问题LSTM 网络LSTM 的核心思想逐步理解 LSTMLSTM 的变体结论致谢Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解转载 2017-05-04 10:18:37 · 971 阅读 · 0 评论 -
五步学会tensorflow安装(附笔者安装及跑代码过程中出现的错误及解决方案)
## Ubuntu14.04 中安装tensorflow教程 ## 安装准备:下载好三个文件cuda_8.0.27_linux.run、cudnn-8.0-linux-x64-v5.1.10、tensorflow_gpu-1.1.0rc1-cp27-none-linux_x86_64.whl一、安装cuda 1 sudo apt-get update 然后在软件和更原创 2017-04-17 16:46:23 · 1123 阅读 · 0 评论 -
朴素贝叶斯数学原理及算法
朴素贝叶斯概述众所周知,朴素贝叶斯是一种简单但是非常强大的线性分类器。它在垃圾邮件分类,疾病诊断中都取得了很大的成功。它只所以称为朴素,是因为它假设特征之间是相互独立的,但是在现实生活中,这种假设基本上是不成立的。那么即使是在假设不成立的条件下,它依然表现的很好,尤其是在小规模样本的情况下。但是,如果每个特征之间有很强的关联性和非线性的分类问题会导致朴素贝叶斯模型有很差的分类效果。朴素贝叶原创 2017-05-02 12:00:01 · 1306 阅读 · 0 评论 -
逻辑回归(Logistic regression)详解-并用scikit-learn训练逻辑回归拟合Iris数据集
这篇文章主要介绍逻辑回归背后的一些概率概念,给你一些直观感觉关于它的代价函数的由来。并且我也介绍了关于最大似然估计(maximum likelihood)的概念,用这个强大的工具来导出逻辑回归的cost函数。接着,我用scikit-learn训练了感知机模型来让你熟悉scikit-learn,最后用scikit-learn来训练逻辑回归,并作出决策边界图,效果还算不错。逻辑函数(logisti转载 2017-05-02 12:01:33 · 1699 阅读 · 1 评论 -
SVM详解(包含它的参数C为什么影响着分类器行为)-scikit-learn拟合线性和非线性的SVM
引言这篇文章详细地介绍了SVM背后的原理,它为什么是大间距分类器?分类器的参数C为什么影响着分类器的行为?核函数背后采用了什么样的技术,看过这篇文章以后,相信你能很好地理解这些问题。最后,我用scikit-learn来分别来拟合线性和非线性的SVM,让大家对SVM分类器有更加深刻的理解。找寻最优化目标相信所有用过SVM的人都知道它是一个大间距分类器。但是,它的原理是什么?它为什么可以最转载 2017-05-02 12:03:27 · 1221 阅读 · 0 评论 -
PCA详解-并用scikit-learn实现PCA压缩红酒数据集
引言在这篇文章中,我会介绍一些PCA背后的数学概念,然后我们用Wine数据集作为实例,一步一步地实现PCA。最后,我们用更加强大的scikit-learn方便快速地实现PCA,并用逻辑回归来拟合用PCA转换后的数据集。为了让大家更好地理解PCA,整篇文章都贯穿着实例,现在,让我们享受这篇文章吧。标准差(Standard Deviation)在引入标准差之前,我先介绍一下平均值,假设我们转载 2017-05-02 12:04:23 · 1048 阅读 · 1 评论 -
决策树ID3、C4.5、C5.0以及CART算法之间的比较-并用scikit-learn决策树拟合Iris数据集
在这篇文章中,我主要介绍一下关于信息增益,并比较ID3、C4.5、C5.0以及CART算法之间的不同,并给出一些细节的实现。最后,我用scikit-learn的决策树拟合了Iris数据集,并生成了最后的决策树图片信息增益(information gain (IG))在介绍信息增益之前,我想先介绍3种不纯度的度量手段,它们分别是Gini index(IG)、entropy(IH)、class转载 2017-05-02 12:06:35 · 1489 阅读 · 0 评论 -
Bagging(Bootstrap aggregating)、随机森林(random forests)、AdaBoost
引言在这篇文章中,我会详细地介绍Bagging、随机森林和AdaBoost算法的实现,并比较它们之间的优缺点,并用scikit-learn分别实现了这3种算法来拟合Wine数据集。全篇文章伴随着实例,由浅入深,看过这篇文章以后,相信大家一定对ensemble的这些方法有了很清晰地了解。Baggingbagging能提升机器学习算法的稳定性和准确性,它可以减少模型的方差从而避免overf转载 2017-05-02 12:07:41 · 365 阅读 · 0 评论 -
生成对抗网络(GAN)研究年度进展评述 2017
AI科技评论按:2017 年 4 月 21-23 日,VALSE(视觉与学习青年学者研讨会)在厦门举行,国内 CV 领域顶级专家学者齐聚一堂,参会的青年学者达 2000 多人。在 VALSE 的「年度进展评述」环节,共有 12 名学者依次上台,对 CV 研究和应用分支领域近年发展做了详细系统的梳理,堪称「12 颗重磅炸弹」。针对近年来 CV 领域火热的方向之一:GAN,哈尔滨工业大学计算机学院原创 2017-05-02 15:20:32 · 1013 阅读 · 0 评论 -
seq2seq是个啥
1. RNN基础对于RNN,我看到讲得最通俗易懂的应该是Andrej发的博客: The Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)这里有它的中文翻译版本: 递归神经网络不可思议的有效性](http:/原创 2017-05-03 10:52:41 · 541 阅读 · 0 评论 -
Encoder decoder模型和Attention模型
1.Encoder-Decoder模型及RNN的实现所谓encoder-decoder模型,又叫做编码-解码模型。这是一种应用于seq2seq问题的模型。那么seq2seq又是什么呢?简单的说,就是根据一个输入序列x,来生成另一个输出序列y。seq2seq有很多的应用,例如翻译,文档摘取,问答系统等等。在翻译中,输入序列是待翻译的文本,输出序列是翻译后的文本;在问答系统中,输入序列是提出的转载 2017-05-03 11:02:22 · 1060 阅读 · 0 评论 -
logistic分类
1. logistic分类几乎所有的教材都是从logistic分类开始的,因为logistic分类实在太经典,而且是神经网络的基本组成部分,每个神经元(cell)都可以看做是进行了一次logistic分类。所谓logistic分类,顾名思义,逻辑分类,是一种二分类法,能将数据分成0和1两类。logistic分类的流程比较简单,主要有线性求和,sigmoid函数激活,计算误差,修正参转载 2017-05-03 11:08:36 · 537 阅读 · 0 评论 -
Tensorflow快速入门1–实现K-Means聚类算法
环境: 虚拟机ubuntun16.0.4 Tensorflow版本:0.12.0(仅使用cpu下,pip命令安装)目录1.环境搭建1.1Tensorflow的安装1.2简单测试Tensorflow1.3Tensorflow学习文档 1.4Python相关的库Seaborn、pandas安装2.TensorFlow实现K-Means聚类算法2.1最基本的K转载 2017-05-04 09:49:07 · 571 阅读 · 0 评论 -
RNN,BRNN,LSTM结构白话版
1. Recurrent Neural Network (RNN)尽管从多层感知器(MLP)到循环神经网络(RNN)的扩展看起来微不足道,但是这对于序列的学习具有深远的意义。循环神经网络(RNN)的使用是用来处理序列数据的。在传统的神经网络中模型中,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题是无能为力的。比如,预测句子的下一个单词是什么,一般需要用到前面原创 2017-05-04 09:57:21 · 1166 阅读 · 0 评论 -
Python中文文本聚类
查看百度搜索中文文本聚类我失望的发现,网上竟然没有一个完整的关于Python实现的中文文本聚类(乃至搜索关键词python 中文文本聚类也是如此),网上大部分是关于文本聚类的Kmeans聚类的原理,Java实现,R语言实现,甚至都有一个C++的实现。正好我写的一些文章,我没能很好的分类,我想能不能通过聚类的方法将一些相似的文章进行聚类,然后我再看每个聚类大概的主题是什么,给每个聚类一个转载 2017-09-07 09:42:22 · 595 阅读 · 0 评论