关闭
当前搜索:

机器学习之支持向量机(SVM)

SVM SVM 即支持向量机,常用于二分类模型。它主要的思想是: 1. 它是特征空间上间隔最大的线性分类器。 2. 对于线性不可分的情况,通过非线性映射算法将低维空间的线性不可分的样本映射到高维特征空间,高维特征空间能够进行线性分析。 结构风险 对于指定的损失函数,根据一定的样本集就能根据这些样本来计算经验风险,而经验风险最小化就是根据样本集来最小化经验风险。 假如我们能获取到所有...
阅读(169) 评论(0)

基于典型相关分析的词向量

本文首发于雷锋网 前言 在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,我们把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。 比如有比较流行的谷歌开源的 word2vec ,它能生成词向量,通过该词向量在一定程度上还可以用来度量词与词之间的相似性。word2vec采用的模型包含了连续词袋模型(CBOW)和Skip-Gram模...
阅读(745) 评论(0)

[置顶] 我的2017年文章汇总——机器学习篇

2018,你跟自己做了约定了吗?为了遇见更好的自己。近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”。本篇推送机器学习相关文章。强化学习机器学习之条件随机场(CRF)隐马尔可夫模型的Viterbi解码算法线性回归之最小二乘法k-means聚类算法机器学习之层次聚类...
阅读(1126) 评论(2)

机器学习之牛顿法

泰勒公式首先看泰勒公式,对于函数,如果函数平滑且某点存在各阶导数,则可以用一个多项式来描述该点邻域的近似值。公式如下:牛顿法牛顿法一般用来求解方程的根和求解极值。数值优化算法除了梯度下降法外还有比较常用的一种方法是牛顿法。对于非线性方程,可以用牛顿迭代法进行求解,它收敛速度快。基本思想是:对于非线性函数f(x),根据泰勒公式得到x附近某个点x k  x_{k}展开的多项式可用来近似函数f(x)的值,...
阅读(817) 评论(0)

典型相关分析如何分析两组变量的关系

前言我们在分析两组变量之间的相关性时,比如X=[X1,X2,...,Xm]X=[X_1,X_2,...,X_m]和Y=[Y1,Y2,...,Yn]Y=[Y_1,Y_2,...,Y_n],最原始的方法就是直接计算X和Y的协方差矩阵,矩阵有m*n个值。有了协方差矩阵就得到了两两变量之间的相关性,比如cijc_ij就是变量XiX_i和YjY_j的相关性。这种分析方法只考虑了cijc_ij变量XiX_i和Y...
阅读(609) 评论(0)

主成分分析(PCA)

前言主成分分析是一种统计学方法,它主要通过降维来简化数据结构,将多个变量转化成少数的几个综合变量,而综合变量能很好地表达原来多个变量的大部分信息,变量之间需要要具备相关性,而经过分析后的变量之间没有相关性。基本原理简单从感性角度来了解它的原理就是,比如有两个变量,如下图,看起来它俩的信息量差不多,这时不能忽略某个变量进行降维。创建一个新的坐标体系PC1和PC2,此时PC1包含的信息量远远大于PC2的...
阅读(729) 评论(0)

机器学习之牛顿法

泰勒公式首先看泰勒公式,对于函数,如果函数平滑且某点存在各阶导数,则可以用一个多项式来描述该点邻域的近似值。公式如下:牛顿法牛顿法一般用来求解方程的根和求解极值。数值优化算法除了梯度下降法外还有比较常用的一种方法是牛顿法。对于非线性方程,可以用牛顿迭代法进行求解,它收敛速度快。基本思想是:对于非线性函数f(x),根据泰勒公式得到x附近某个点xkx_{k}展开的多项式可用来近似函数f(x)的值,该多项...
阅读(465) 评论(0)

机器学习之条件随机场(CRF)

什么是CRFCRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。CRF较多用在自然语言处理和图像处理领域,在NLP中,它是用于标注和划分序列数据的概率化模型,根据CRF的定义,相对序列就是给定观测序列X和输出序列Y,然后通过定义条件概率P...
阅读(925) 评论(0)

来自麻省理工的信息抽取

MITIEMITIE 即 MIT 的 NLP 团队发布的一个信息抽取库和工具。它是一款免费且先进的信息抽取工具,目前包含了命名实体抽取、二元关系检测功能,另外也提供了训练自定义抽取器和关系检测器的工具。MITIE 是核心代码是使用 C++ 写的,建立在高性能的机器学习库 dlib 上。MIT 团队给我们提供了一些已训练好了的模型,这其中包含了英语、西班牙语和德语,这些模型都使用了大量的语料进行训练。...
阅读(1219) 评论(0)

强化学习

前言机器学习可以大致分为四类: 监督学习 无监督学习 半监督学习 强化学习 监督学习是利用标记了的样本进行学习,无监督学习则是使用未标记的样本进行学习,这两个是我们最常见的。半监督学习则是样本中只有少量带标记的样本,多数样本都未标记,利用这些样本进行学习。强化学习则是很不同的一种学习方式,它没有规则的训练样本和标签,主要通过奖励和惩罚达到学习的目的。什么是强化学习《最强大脑》曾经有个挑战项目叫蜂巢迷...
阅读(823) 评论(0)

隐马尔可夫模型的Viterbi解码算法

前言前面在做自然语言处理时涉及到一些词性标注的工作,一般会使用隐马尔科夫模型(HMM)来实现词性标注,而HMM模型的解码实现算法一般就会使用Viterbi算法。关于穷举法HMM模型有多种应用,这里说的是其中一个常见应用,即根据观察序列找到最可能的隐含状态序列。最朴素的想法就是直接穷举所有可能的隐含状态序列,并计算出每个组合成的状态序列的概率,概率最大的那个组合序列即是最可能的隐含状态序列。举个水藻和...
阅读(969) 评论(0)

TensorFlow构建循环神经网络

前言前面在《循环神经网络》文章中已经介绍了深度学习的循环神经网络模型及其原理,接下去这篇文章将尝试使用TensorFlow来实现一个循环神经网络,该例子能通过训练给定的语料生成模型并实现对字符的预测。这里选择使用最原始的循环神经网络RNN模型。语料库的准备这里就简单用纪伯伦的《On Friendship》作为语料吧。RNN简要说明用下面两张图简要说明下,RNN模型有多个时刻的输入,从第一个图中看到输...
阅读(1062) 评论(0)

循环神经网络

RNN是什么循环神经网络即recurrent neural network,它的提出主要是为了处理序列数据,序列数据是什么?就是前面的输入和后面的输入是有关联的,比如一句话,前后的词都是有关系的,“我肚子饿了,准备去xx”,根据前面的输入判断“xx”很大可能就是“吃饭”。这个就是序列数据。循环神经网络有很多变种,比如LSTM、GRU等,这里搞清楚基础的循环神经网络的思想,对于理解其他变种就比较容易了...
阅读(1780) 评论(0)

卷积神经网络

什么是卷积首先看卷积公式y(t)=f(t)∗g(t)=∫∞−∞f(u)g(t−u)duy(t)=f(t)*g(t)=\int_{-\infty} ^{\infty} f(u)g(t-u)du它是通过两个函数 f(t) 和 g(t) 来生成第三个函数的一种数学算子。从负无穷到正无穷遍历全部 u 值,把 g(t-u) 的值乘以 f(u) 的值之后再进行累加,得到关于该累加操作的关于 t 的函数。从另一...
阅读(1546) 评论(1)

softmax的多分类

关于多分类我们常见的逻辑回归、SVM等常用于解决二分类问题,对于多分类问题,比如识别手写数字,它就需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这里讨论另外一种方式来解决多分类——softmax。关于softmaxsoftmax的函数为P(i)=exp(θTix)∑Kk=1exp(θTkx)P(i)=\dfrac{exp(\theta_i^Tx)}{\sum_{k=...
阅读(3169) 评论(0)

神经网络的交叉熵损失函数

常见损失函数 0-1损失函数 L(Y,f(X))={1,0Y != f(X)Y = f(X)L(Y,f(X))=\begin{cases}1,& \text{Y != f(X)}\\0& \text{Y = f(X)}\end{cases} 平方损失函数 L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y-f(X))^{2} 绝对损失函数L(Y,f(X))=|(Y−f(X))|L(Y...
阅读(1633) 评论(0)

kmeans实现文本聚类

需求拿到的需求是输入n个文本,对文本进行聚类,由于这些输入不能通过历史数据进行训练,所以这个主要就是用无监督学习来解决。kmeans谈到聚类就会想到kmeans,它的核心思想是给定的K值和K个初始质心将样本中每个点都分到距离最近的类簇中,当所有点分配完后根据每个类簇的所有点重新计算质心,一般是通过平均值计算,然后再将每个点分到距离最近的新类簇中,不断循环此操作,直到质心不再变化或达到一定的迭代次数。...
阅读(1338) 评论(2)

[置顶] 开源一个文本分析项目

Githubhttps://github.com/sea-boat/TextAnalyzerTextAnalyzera text analizer that can analyze text. so far, it can extract hot words in a text segment by using tf-idf algorithm,at the same time using a sc...
阅读(1377) 评论(0)

如何用机器学习对文本分类

需求使用监督学习对历史数据训练生成模型,用于预测文本的类别。样本清洗主要将重复的数据删除掉,将错误无效的数据纠正或删除,并检查数据的一致性等。比如我认为长度小于少于13的数据是无效的遂将之删掉。def writeFile(text): file_object = open('result.txt','w') file_object.write(text) file_object.c...
阅读(1100) 评论(0)

机器学习之神经网络

多层神经网络前面说到的感知器是一种最基础的神经网络,他只有输入层和输出层,感知器只能处理线性可分问题,而对于非线性问题就需要多层神经网络。一般如下图所示,有多个层,比如左边的包含输入层、隐层和输出层,而右边的则包含了两个隐层。每层的神经元与下一神经元全互连,同层之间的神经元不会相连,输入层用于接收输入,经过隐层加工后再到输出层加工并输出。如何训练多层网络对于多层网络我们常用误差逆传播算法来训练,而我...
阅读(1184) 评论(0)
31条 共2页1 2 下一页 尾页
    作者
    https://github.com/sea-boat

    公众号:(内容包括分布式、机器学习、深度学习、NLP、Java深度、Java并发核心、JDK源码、Tomcat内核等等)



    微信:

    打赏作者

    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    个人资料
    • 访问:1020517次
    • 积分:13638
    • 等级:
    • 排名:第1096名
    • 原创:321篇
    • 转载:5篇
    • 译文:1篇
    • 评论:342条
    博客专栏
    最新评论