
机器学习
文章平均质量分 86
zhupc_
徐州 中国矿业大学 目前关注计算机视觉领域,加速学习机器学习理论中....
展开
-
N-Gram模型简单介绍
N-Gram模型介绍本文将以实践的方式讨论N-Gram原理与其应用,我对N-Gram的接触来源与一个文本分类的实验,发现在原有的分词基础上引入N-Gram会提升分类准确率,因此在此讨论什么是N-Gram?它有什么作用?N-Gram常用的有三种:unigram,bigram,trigram 分别对应一元,二元,三元以“我想去成都吃火锅”为例,对其进行分词处理,得到下面的数组:[“我”,“想”...原创 2019-10-15 17:30:38 · 836 阅读 · 0 评论 -
深度学习之DenseNet
本文假设你已经对DenseNet的网络结构有一定的认识,不需要进行详细的结构介绍,本文重心在与如何利用DenseNet做迁移学习,以及作者是如何训练得到令人惊讶的结果的。卷积网络目前发展分为两类,以inception为典型的并行结构与ResNet为典型的串行结构,作者以一个新颖的思路发明了一种新的网络结构,比其他经典网络参数更少,更容易收敛。超参数DenseNet的作者认为ResNet的恒等函数与...原创 2018-06-04 22:36:37 · 4373 阅读 · 1 评论 -
浅析深度ResNet有效的原理
深度残差网络是ImageNet比赛中,效果最好的网络,在深度学习的探究过程中,发现对深度的扩展远远比广度的扩展效果要达到的好的太多。理论认为,同层的不同神经元学习不同的特征,越往后层的神经元学习特征的抽象程度越高。可以这样理解,如果要识别一个汽车如下图:上面的图我画的有些粗糙,但是意思应该表达清楚了,特征的组合识别一个物体,如果特征越抽象则识别物体更加简单,也就是说网络模型越深越好了?那么在搭建一...原创 2018-05-24 17:49:26 · 8161 阅读 · 3 评论 -
GDBT--理解梯度提升原理篇
以决策树为基函数的提升方法称为提升树,提升树的模型可以表示为决策树的加法模型,基函数一般是cart回归树,GDBT是属于boosting的一员,与之对应的还有bagging,对于bagging中代表算法有随机森林,boosting中代表的有adaboost、xgboost等,目前数据挖掘用的比较多的还是boosting。本文目的是介绍学习boosting家族中的GDBT,所有对于bagging与b...原创 2018-05-30 10:06:11 · 5431 阅读 · 1 评论 -
GDBT--分类预测篇
前面两篇GDBT–理解梯度提升原理篇与GDBT-回归预测篇已经详细介绍了GDBT的基本原理与思想,并且就回归预测举了一个例子。在文章的最后提到,GDBT不仅可以做回归也可以做分类,本文主要介绍GDBT分类的原理。与上篇的回归不同的在于使用的切割特征生成二叉树所用的判定函数不同,cart回归树,使用平方差损失来衡量当前特征的切割点是否为最佳切割点,cart分类树则使用基尼指数来衡量当前切割点是否为最...原创 2018-06-15 20:41:54 · 734 阅读 · 0 评论 -
3sigma模型案例分析彻底搞懂置信度与置信区间
学习机器学习算法时,经常会碰到数理统计中置信区间、置信度,虽然学习过相关课程,但是每次遇到它总是懵懵懂懂,似懂非懂。为了对这两个概念有深入的了解,这里做了相关的介绍。为了不老是纠缠于数理统计理论,或者学习了概念之后又无法应用的情况发生,这里以一个机器学习特征工程中常用的异常值检测算法--3sigma模型,来解释这两个概念,这样你既学会了一种异常值模型,又弄懂了这个概念,这个买卖划得来。异常值检测算...原创 2018-07-02 11:41:14 · 24222 阅读 · 0 评论 -
几种常见的数据分布
学习机器学习算法过程中,少不了概率分布的概念,说起概率分布我的脑中除了正太分布那条线就再也没有其他印象了,这个缺陷使我在推导公式过程中遇到很多坑,也在理解数据特征中错过很多。模型的基线取决于数据的好坏,数据的好坏取决与你对数据的理解。所以为了更加懂数据,就先理解一下数据有哪些分布吧。伯努利分布名字听起来很陌生,其实离我们生活很近,抛硬币都是老掉牙的例子了,正面或者反面。逻辑回归二分类的结果...原创 2018-07-17 20:25:21 · 36174 阅读 · 0 评论 -
MLE&MAP--极大似然与最大后验概率
MLE&MAP概率常说的概率是指给定参数与模型后,预测即将发生的事件的可能性似然概率、似然函数统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数为L(θ|x),似然函数在数值上等价与给定θ后的P(x|θ)P(x|θ)P(x|\theta)概率值相等,所以经常用P(x|θ)P(x|θ)P(x|θ)来表示似然函数,当给定θ的取值为(θ0)(θ...原创 2018-07-23 17:56:59 · 330 阅读 · 0 评论 -
说话人识别
你或许听过文本分类,图像识别,你听说过说话人识别吗?由于语音特征的特别,我们很难再入门的文章中看到关于语音的案例或者实验,本文主要介绍说话人识别的大体流程与原理,不在具体的细节公式上做过多讨论(因为实在是太复杂了)。声纹识别(Speaker Recognition)属于生物特征识别技术,是通过计算机利用人体所固有的生理特征或行为特征来进行个人身份鉴定。它也称说话人识别,是通过对收到的说话人语音信号...原创 2018-07-26 17:16:18 · 13446 阅读 · 1 评论 -
使用caffe测试mnist数据集介绍
想要入门深度学习没有几个趁手的兵器是不行的,目前流行的框架tensorflow、pytorch、caffe等,笔者也是最近接触了caffe,发现caffe非常适合初学者入门深度学习。不必像tensorflow那样,先学习Python,然后在学习tf,这个过程感觉像在重新学习一门语言。caffe是c++编写的,所以从github上下载下来后需要你自己编译,令人高兴的是caffe也支持windows,...原创 2018-11-06 19:38:50 · 806 阅读 · 0 评论 -
docker在深度学习任务中的应用
Docker是一种容器技术,它就像一个沙盒把应用程序隔离开来,不管有没有遇到过你至少听到某些应用程序不能兼容,最常见的就是升级某个系统,老版本跟新版本不能兼容,必须把老版本完全卸载掉。比如说oracle服务,如果把oracle安装到物理主机上,如果需要升级那将会比较痛苦。再比如说新手学习各种软件,apache、mysql、Python搞的电脑上乱七八糟的环境,想要重新安装都很痛苦。有没有一种技术能...原创 2018-11-20 17:14:51 · 2359 阅读 · 0 评论 -
Linear model training based on Spark
最开始接触分布式计算框架的是Hadoop中的MapReduce,虽然开发起来很复杂(Map与Reduce都要有相应的实现类)但是我也成功的启动了第一个“Hello word”(word count)。由于MapReduce每个步骤都要将中间结果存到磁盘中,而且会将job jar包分发到每个相关的Datanode上,虽然我的Txt文件不到1M,但是启动计算加上返回结果的时间大概也有40秒左右,还能忍...原创 2019-08-28 17:31:37 · 166 阅读 · 0 评论 -
GDBT-回归预测篇
在上一篇文章gdbt梯度提升原理,详细介绍了梯度、方向导数、为什么负梯度方向是函数下降最快方向,继而引出了GDBT的模型与优化原理。本篇将进一步以实例的方式演绎GDBT是如何进行回归预测的。...原创 2018-06-11 20:06:50 · 996 阅读 · 0 评论 -
为什么Relu会导致死亡节点
y代表真实值,y_代表预测值,损失函数采用交叉熵损失函数如下loss function:L(y,y_)=-(ylny_+(1-y)ln(1-y_))一般更新参数的方式,我们梯度下降的方式,目的是使得损失函数最小,达到一个能够接受的局部最小值,当然如果能到达全局最小最好。对损失函数的研究:当y=1,y_=1 L=-ln1=0 当y=1,y_=0 L=无穷大 当y=0,y_=1 L=无穷原创 2017-12-14 10:41:36 · 11567 阅读 · 1 评论 -
从零开始学习SVM(二)---松弛变量
上一篇文章《从零开始学习SVM》中引出了想要进行分开两个样本需要的目标函数,但是是针对线性可分的。如下图所示,是存在一个超平面完完全全的分开两类样本。 但是如果是线性不可分呢?同样以猫狗数据为例,有的狗被主人打扮确实像猫,人都容易混合,像这种相似性比较高的数据,可能无法通过线性的方法完全分开 即无法用一个超平面把两类数据分开,属于一种混合的状态,就如下图一样原创 2018-01-02 17:24:37 · 2671 阅读 · 0 评论 -
LRN ( Local Response Normalization) 局部响应归一化层
LRN ( Local Response Normalization) 局部响应归一化层从网上找了很多博客,不知道为何就是不能把这个公式说的很透,可能是原理本身不好解释的原因,笔者希望能够用简洁的语言,能把LRN 解释的更加通俗易懂首先在弄懂原理之前,希望读者能够认真的看两边公式,而不是直接看别人解释的原理bix,yb^i_x,_y是归一化后的值,i是通道的位置,代表更新第几个通道的值,x与y代原创 2017-12-19 11:09:32 · 17097 阅读 · 1 评论 -
从零开始学习SVM
SVM是最经典的分类算法之一,笔者觉得难度却是机器学习算法中最难的,对于没有数学基础的同学来说更是一头雾水。笔者作为一个初入机器学习的小白,希望能从最简单的视角分享我的学习过程,从零开始一点一滴学习SVM算法。一、首先,什么是svm,它能够做什么?它是一种二分类模型,解决是非的问题。 以对图像猫狗分类为例:下载CIFAR数据集,数据集中有10类,我只取两类:猫、狗获取猫狗混合原创 2017-12-27 18:51:43 · 2153 阅读 · 1 评论 -
从零开始学习SVM(三)---SMO算法原理
前两节我们一直在介绍svm的原理,优化目标函数,并且已经推导出了最后的目标函数,现在终于要求解这个问题了并得到模型,在上一节《从零开始学习SVM(二)—松弛变量》中我们介绍了松弛变量的的概念,推导出了加入松弛变量后的目标函数并且后面将会一直使用这个目标函数: maxα∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxTixj(1)max_\alpha \quad\sum_{i=1}^{m原创 2018-01-04 18:14:04 · 795 阅读 · 0 评论 -
从零开始学习SVM(四)---SMO算法线性分类与代码精解析
从零开始学习SVM(三)—SMO算法原理了解SMO算法来龙去脉之后,我们终于到了实践这步了。只有在学习理论基础之后并实践才能更好的理解这个精妙的算法。我建议先搞懂SMO算法原理,也就是我上一篇博客,弄懂了各个公式的来龙去脉后,撸起码来才能得心应手。首先selectJrand函数是用来随机选择另外一个alpha,在numpy方法里面np.random.uniform,这个uniform是选择另外一个原创 2018-01-17 20:13:43 · 748 阅读 · 0 评论 -
基于朴素贝叶斯的图像分类
朴素贝叶斯是一种极其简单的分类算法,通过概率统计到的方式进行判别。通过联合概率分布P(W|C)进行建模,进而得到P(C|W).进而转换成一种监督分类的算法贝叶斯公式: 目标是根据特征得到属于某一类的概率,哪一类的概率最大则是哪一类。P(C)根据大数定律,我们通过频率来代替概率。建模关键点还是在于P(W|C)的求解,W为特征向量,则P(W|C)=P(w1,w2,w3,….wn|C),我们假...原创 2018-03-04 11:28:05 · 14918 阅读 · 11 评论 -
K-Means聚类算法
俗话说“物以类聚,人以群分”,在地理学中有个概念叫做空间相关性,距离越是近的两个地理对象越是相关。这个思想很好的诠释了下面我们介绍的一个非监督分类算法,K-Means聚类算法,如何把相似的事物关联到一起呢?就通过事物的距离来判断,当然这个距离不仅仅局限于欧氏距离。 如何判断两个事物之间的距离呢?这就需要一个参照系,比如说两棵树之间的距离,那么放到坐标系中赋予x,y坐标系就能很容易计算出距离。那...原创 2018-03-04 20:53:38 · 805 阅读 · 0 评论 -
为什么交叉熵损失函数值越小分类效果越好?
在学习机器学习过程中,我们经常会用到损失函数来判断模型是否在学习,经常使用的损失函数大多是平方损失函数,与交叉熵损失函数。平方损失函数,我们很容易理解为什么值越小分类效果越好。Loss(w)=1m∑im(yi−yhati)2Loss(w)=1m∑im(yi−yihat)2Loss(w)=\frac{1}{m}\sum_{i}^{m}(y_i-y^{hat}_i)^2 很显然,如果预测的越接近,则...原创 2018-05-03 19:31:57 · 19615 阅读 · 0 评论 -
利用VGG-16做迁移学习
本文以实战为主,主要介绍基于tensorflow搭建vgg-16网络,vgg设计思想原理,在此不做多余的赘述。 vgg-16的结构单独封装到一个vgg16_structure.py文件里面,以[weights,biases]的结构封装structure = { # convolution layer 1 'conv1_1': [[3, 3, 3, 64], [64]], ...原创 2018-05-18 17:20:13 · 17236 阅读 · 1 评论 -
最大熵模型教你如何撩妹
都说女人是善变的,做的每个决定都让我们男性同胞找不到任何根据,于是就有了女人的心思你别猜。但是很多时候我们需要知道她们在想什么,知己知彼才能百战不殆,少一点争吵,少一些矛盾,少一些猜疑。于是这个维护世界和平,共同创造和谐社会的责任就让我来承担一些吧!相信很多男同胞都会遇到这个问题:约女孩出来吃饭;这个问题看似简单,其实不然,吃饭要吃出水平,而且要结合女孩的心思,否则很容易让女孩觉得你不解风情,根本...原创 2018-05-06 16:59:14 · 376 阅读 · 0 评论 -
还在用原生Tensorflow吗?试试TF-Slim吧
TF-Slim是tensorflow中用来定义、训练与评估的轻量级库,tf-slim的组件与tf.contrib.learn相似能够将你从复杂的原生tensorflow解放出来。你需要导入import tensorflow.contrib.slim as slim为什么要用TF-Slim?tf-slim能够将搭建、训练、评估神经网络变的简单:通过使用参数域(argument scoping)与更多...原创 2018-05-23 13:58:28 · 2255 阅读 · 0 评论 -
《深度学习入门一》一入侯门深似海,深度学习深几许 2017-06-09 云栖社区 摘要: 当你和女朋友在路边手拉手一起约会的时候,你可曾想,你们之间早已碰撞出了一种神秘的智慧–深度学习。恋爱容易,相
《深度学习入门一》一入侯门深似海,深度学习深几许2017-06-09 云栖社区摘要: 当你和女朋友在路边手拉手一起约会的时候,你可曾想,你们之间早已碰撞出了一种神秘的智慧–深度学习。恋爱容易,相处不易,不断磨合,打造你们的默契,最终才能决定你们是否在一起。深度学习也一样,输入各种不同的参数,进行训练拟合,最后输出拟合结果。 恋爱又不易,且学且珍惜!【导言转载 2017-08-08 16:12:15 · 811 阅读 · 0 评论