
机器学习
文章平均质量分 90
Shane Zhao
CV
展开
-
pytorch分布式训练使用笔记
参考:DDP使用讲解:https://zhuanlan.zhihu.com/p/113694038官方ImageNet分布式训练案例: https://github.com/pytorch/examples/blob/e49fa5846f/imagenet/main.py官方DDP使用案例: https://github.com/pytorch/examples/blob/e49fa5846f/distributed/ddp/main.py...原创 2020-05-17 12:40:06 · 404 阅读 · 0 评论 -
降维
降维问题在很久以前就接触了,那时候也会用协方差矩阵实现PCA来实现降维,可以应用在图像压缩和数据维度缩减,减少噪声数据等。但是最近在用sklearn的pca工具实现降维时候发现这儿的pca降得到的维度只能小于等于样本数和维度的最小值(降维后的维度为k,原始数据样本数为m,维度为n,则k≤min(m,n)降维后的维度为k,原始数据样本数为m,维度为n,则k\leq min(m,n))。在这儿就不懂了,原创 2017-10-12 09:36:40 · 809 阅读 · 0 评论 -
关于tensorflow中转置卷积使用的理解
在FCN,U-net,GAN中都有使用转置卷积(Transposed Convolution)的过程,转置卷积不能单纯地理解为逆卷积(deconvolution)。在CNN正向卷积过程是一个将图片变小的过程,转置卷积使得图片逐渐变大,直至与原图一样大。如何理解转置卷积呢,可以先从将卷积的计算转换成矩阵的计算来开始。 好了,到这儿大致了解了转置卷积是什么,能干什么了。也就是由卷积后得到的小图原创 2017-11-27 22:07:04 · 4486 阅读 · 0 评论 -
windows安装xgboost
简单安装xgboost方法1、下载包https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 注:其中cp后面的35或者36对应python 3.5,3.6,后面还有系统位数2、安装pip install 你下载的xgboost.whl3.Done原创 2018-01-14 16:48:17 · 388 阅读 · 0 评论 -
Dilated/Atrous conv 空洞卷积/多孔卷积
DilatedDilatedDilated convolution/Atrousconvolution/Atrousconvolution/Atrous convolutionconvolution convolution可以叫空洞卷积或者扩张卷积。空洞卷积诞生于图像分割领域,图像输入到网络中经过CNNCNNCNN提取特征,再经过poolingpoolingpooling降低图像尺度的同时增大...原创 2018-03-29 20:40:32 · 16206 阅读 · 6 评论 -
局部特征融合为全局特征笔记
图像特征分为全局特征和局部特征两种,其中全局特征代表了图像的整体表现特性,比如颜色直方图,而局部特征代表了图像的局部特性,往往能够从一幅图片中提取出若干个数量不等的局部特征, 这些局部特征组合起来代表了整幅图像的特征分布。其中局部特征提取算法(比如SIFT)提取出来的局部特征称为描述子,比如SIFT描述子的维度为128,那么如果从一张图像中提取出m个描述子, 该幅图像的描述子矩阵为m*128。...原创 2018-03-29 20:46:00 · 12408 阅读 · 1 评论 -
mxnet框架卷积试水
参考自:https://zhuanlan.zhihu.com/p/30536717原创 2018-06-29 16:05:20 · 712 阅读 · 0 评论 -
不均衡数据过采样实验对比
数据不均是常见且很头疼的问题,在不能增加数据量的情况下只能通过各种采样方式实现数据尽可能分布均衡。具体的可以分为:欠采样,过采样,欠采样和过采样结合本文基于imbalanced-learn实验对比了过采样的不同实现方式产生的不同效果,欠采样一般不如过采样,故未进行实验 ...原创 2018-07-07 11:36:39 · 2427 阅读 · 2 评论 -
Improved Deep Metric Learning with Multi-class N-pair Loss Objective论文N-pair loss解读与实现
论文:NIPS2016 Improved Deep Metric Learning with Multi-class N-pair Loss Objective距离度量学习旨在学习在嵌入空间能够保使得相似数据点靠的近,不相似数据离得远的一种数据嵌入表达技术。得益于深度学习的迅速发展,深度度量学习受到广泛关注。相比于标准的距离度量学习,深度学习能够学习到一种非线性的嵌入表达,这种嵌入表达配合c...原创 2018-12-07 16:47:51 · 11022 阅读 · 2 评论 -
反向传播理解
原创 2019-02-23 17:41:32 · 258 阅读 · 0 评论 -
tensorflow中softmax_cross_entropy_with_logits函数的实现
自己实现了softmax_cross_entropy_with_logits函数的功能,算是复习下softmax和cross_entropy原创 2017-07-08 21:54:16 · 1133 阅读 · 0 评论 -
EM算法
站在巨人的肩膀上眺望远方reference: http://blog.youkuaiyun.com/zouxy09/article/details/8537620 https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm#As_a_maximization-maximization_procedure http://w原创 2017-08-30 22:04:50 · 380 阅读 · 2 评论 -
Stochastic Gradient Descent vs Batch Gradient Descent vs Mini-batch Gradient Descent
梯度下降是最小化风险函数/损失函数的一种经典常见的方法,下面总结下三种梯度下降算法异同。1、 批量梯度下降算法(Batch gradient descent)以线性回归为例,损失函数为BGD算法核心思想为每次迭代用所有的训练样本来更新Theta,这对于训练样本数m很大的情况是很耗时的。BGD算法表示为 或者表示为 其中X(m*n)为训练样本矩阵,α为学习速率,m为样本数,y(m*1)原创 2016-12-16 16:35:30 · 2590 阅读 · 0 评论 -
TF-IDF算法总结
TF-IDF算法的全称叫 Term Frequency-Inverse Document Frequency 词频-逆文档频率算法TF-IDF主要用来文章关键词抽取当需要抽取一篇文章的关键词时候,往往我们最先想到的是计算文章的所有词的词频,文章越是和主题相关,出现主题相关的词越是多,词频也就越大,按照词频来排序,找出关键词top N。但是问题来了,像‘的’,‘我们’,‘地’等这些没什么实在意义的词原创 2017-03-12 20:28:25 · 6374 阅读 · 2 评论 -
Navie Bayes理解
朴素贝叶斯(Navie Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法独立性一般的AA事件发生对BB事件是有影响的也就是P(B|A)!=P(B)P(B|A)!=P(B),但是只有这种影响不存在时候,P(B|A)=P(B)P(B|A)=P(B),这时候有P(AB)=P(B|A)P(A)=P(A)P(B)P(AB)=P(B|A)P(A)=P(A)P(B)全概率公式事件B1B_{1},B1B_原创 2017-03-26 15:18:20 · 703 阅读 · 0 评论 -
pandas数据处理
pandas是python非常重要的数据处理库,pandas提供了非常丰富的数据处理函数,对机器学习,数据挖掘前的数据预处理很有帮助。以下是最近小的使用总结:1、pandas读取了csv文件获取了Dataframe类型对象,该对象可以丰富的执行数据处理。缺失值处理dropna() or fillna()2、dataframe['name','age']来获取指定几列数据是不行的,需要两个中括号df=原创 2017-03-26 15:55:47 · 1424 阅读 · 0 评论 -
PCA+SVM人脸识别
本例子来自sklearn的demo,我自己在运行demo时候遇到点麻烦,故阅读了下源码,在此总结一些知识点。首先要说明的是如果自己有先下载好的lfw人脸数据集,那么需要将人脸数据集放在lfw_home路径下,这也是因为datasets.fetch_lfw_people在加载数据集的源码的一个小瑕疵。如下图: PCA+SVM实现人脸识别PCA主要是通过奇异值分解将数据映射到低纬度的空间(正交去相关)原创 2017-05-10 23:03:22 · 10356 阅读 · 1 评论 -
在不同版本python下安装tensorflow
tensorflow现在windows只支持python3.5,所以版本注意下我的电脑是装了conda2,conda3安装前先参考之前我写的一片博文,conda2和conda3共存使用,不同版本下使用jupyter参考链接,如果这儿没问题,下面安装tensorflow就很顺畅了先activate python3(装有conda3的envs),然后就应该如下图然后再在当前环境下创建一个3.5的原创 2017-06-27 11:57:56 · 23915 阅读 · 0 评论 -
MNIST实战
最近翻阅《Tensorflow实战Google深度学习框架》,在第五章总结了使用滑动平均,正则化,衰变学习率来优化了一个三层神经网络识别手写数字MNIST,最后在测试集上得到的准确率达到了0.9842,在此我自己实现了一遍,稍作组总结。功能模块分离考虑到前向传播在训练NN和在测试NN时候都会用到,故将计算前向传播的过程封装成一个函数,输入训练样本,得到前向输出结果。其中为了便于计算正则化参数,在函数原创 2017-07-16 12:28:56 · 2866 阅读 · 0 评论 -
LSTM初探
要说LSTM,那就得先从RNN说起,RNN是一种对序列型数据进行建模的工具,在语音识别,机器翻译等领域有很好的应用。LSTM可以说是RNN的改进版,简单来说,RNN对长距离序列处理时会出现梯度消失或者爆炸这种现象,使得训练不起来(注:梯度消失或者爆炸问题不光在RNN中出现,在其他神经网络中也有,比如在使用sigmoid的激活函数时就可能出现,只不过那边处理的方法可以是替换激活函数,比如为Relu)。原创 2017-08-06 15:46:29 · 1245 阅读 · 0 评论 -
Coordiante ascent VS Gradient descent
Coordiante ascent 坐标上升算法详细解释可参考:http://cs229.stanford.edu/notes/cs229-notes3.pdf“>stanford ML算法demoGradient descent 梯度下降算法详细参考:参考Andrew NG讲义 blog demo现在谈谈两个算法的异同:1.坐标上升法:坐标上升与坐标下降可以看做是一对,坐标上升是用来求原创 2016-11-17 20:23:18 · 1677 阅读 · 0 评论