ML
文章平均质量分 62
changtingwai58
这个作者很懒,什么都没留下…
展开
-
cnn 学习笔记 2
第一部分: 前一段时间仔细学习了深度学习的CNN,算是对卷积神经网络有了一个初步的了解,想动手实现几个小项目加深理解,第一个自然选中的就是minst数据集做手写识别测试了,选的开源框架是谷歌的tensorflow。#读入数据集mnist = input_data.read_data_sets("MNIST_data",one_hot=True)sess = tf.InteractiveSess原创 2016-07-10 23:00:49 · 338 阅读 · 0 评论 -
tf基础操作
基本使用图(graph)表示计算任务会话(session)中执行图张量(tensor) 表示数据变量(variable)维护状态feed和fetch 为任意操作赋值或者获取值综述在tf中,图表示计算任务。图中节点被称为operation(简称op)。op接受tensor,执行计算,产生tensor。tensor是多维数组。 为了进行计算,图必须在会话里被启动。会话将图的op分发到cpu原创 2017-04-19 19:37:08 · 2188 阅读 · 0 评论 -
dbscan算法以及其基于grid建立索引的改进方法
1. 什么是DBSCAN?DBSCAN全称Density-based spatial clustering of applications with noise,即带噪声的基于密度的空间聚类。主要思想就是把空间中密度较大,每个点之间有多个邻近点的部分聚为一类,而把密度较低的部分作为离群值(outlier)对待。1.1 几个概念DBSCAN需要设置两个参数,minPts和ϵ,这两个参数主转载 2017-04-20 14:19:01 · 2323 阅读 · 1 评论 -
tf 原理二
计算图反复执行多次,tensor不会持续保留,只是在计算图中过一遍。 variable是一类特殊的运算操作,可以将需要保留的tensor存储在内存或显存中,如weight实现原理tf的client通过session的接口与master和多个worker相连。其中每一个worker可以与多个硬件设备(device)相连,比如cpu和gpu,并负责管理这些硬件。而master则负责指导所有worker原创 2017-05-02 21:53:07 · 625 阅读 · 0 评论 -
tensorflow padding 解读
SAME means that the output feature map has the same spatial dimensions as the input feature map. Zero padding is introduced to make the shapes match as needed, equally on every side of the input map转载 2017-04-21 13:23:36 · 723 阅读 · 0 评论 -
tf-使用cnn深入mnist
实现高效运算为了用python 实现高效的数值运算,常常会使用如numpy类的函数库,会把类似矩阵乘法这样的复杂运算使用其他外部语言来实现。但从外部计算切回Python的每一个操作,仍然是一个很大的开销。tf为了避免这些开销,故不单独的运行单一的复杂运算,而是先用图来描述一系列计算操作,然后全部放在一起到外部运行。交叉熵mnist训练使用交叉熵表示成本(cost),定义为: Hytest(y)=−原创 2017-04-20 21:47:41 · 830 阅读 · 0 评论 -
caffe 通过model zoo 使用训练好的模型 finetune
caffe model zoo许多研究人员和工程师已经将Caffe模型用于各种架构和数据的不同任务: 这些模型被学习并应用于从简单回归到大规模视觉分类,到图像相似性的暹罗网络,语音和机器人应用的问题。 * 用于包装Caffe模型信息的标准格式。 * 从Github Gists上传/下载模型信息的工具,并下载受过训练的.caffemodel二进制文件。 * 用于分享模型信息的中心wiki页面Gi原创 2017-05-25 15:59:14 · 6072 阅读 · 0 评论 -
因式分解结合最近邻:多层面的协同过滤模型
摘要推荐系统为用户提供个性化的产品和服务。这些系统大部分都使用协同过滤,通过分析过去行为以建立用户和产品之间的联系。CF的2个比较成功的方法,其一是隐语义模型LFM,它直接描述用户和产品;另一是近邻模型,它分析用户或产品之间的相似度。在本文中,为这两种方法引入一些创新。因子模型和近邻模型可以顺利的融合,因此可以得到一个更准确的组合模型。通过扩展模型以利用用户的显式和隐式反馈来实现进一步的精度改进。本翻译 2017-04-26 11:16:21 · 421 阅读 · 0 评论 -
pycaffe 安装常见问题
lib中python是ucs2编译的,所以需要本地系统python也是ucs2才兼容,可以通过import sys if sys.maxunicode > 65535: print ‘UCS4 build’ else: print ‘UCS2 build’ 安装pthon的时候指定./configure –enable-unicode=ucs2pyconfig.h 找不到 find /原创 2017-06-16 13:26:01 · 3396 阅读 · 0 评论 -
caffe-python接口图片分类demo
文章转载自: http://wentaoma.com/2016/08/10/caffe-python-common-api-reference/图片分类加载Model数据net = caffe.Net( deploy_prototxt_path, # 用于分类的网络定义文件路径 caffe_model_path, # 训练好模型路径转载 2017-06-19 11:12:07 · 540 阅读 · 0 评论 -
Caffe-Python接口常用API参考
caffe python api转载 2017-06-16 17:56:18 · 477 阅读 · 0 评论 -
caffe 迁移
在一个配置好pycaffe的服务器上,将caffe迁移到线上服务器的步骤保存动态共享库for i in `ldd ./build/tools/caffe.bin | grep -v "linux-vdso.so.1" | grep -v "openmpi" | awk -F '=>' '{print $2}' | awk -F ' ' '{print $1}'`; do echo $i; cp $i原创 2017-06-21 16:45:13 · 725 阅读 · 0 评论 -
DNN基础教程
一、原理前向传播: http://ufldl.stanford.edu/wiki/index.php/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C 反向传播: http://blog.csdn.net/han_xiaoyang/article/details/50321873二、Python实现使用mn原创 2017-07-15 01:14:04 · 2923 阅读 · 0 评论 -
卷积神经网络教程
在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层的参数数据为1000000×1000000=10^12,这样就太多了,基本没法训练。局部感知卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。一般认为人对外界的认知是从局部到全原创 2017-07-15 22:33:06 · 571 阅读 · 0 评论 -
OC-SVM在ddos攻击中的应用
基于单类支持向量机的ddos检测应用层摘要分布式ddos攻击利用网络协议和服务的复杂性和多样性来进行攻击。这类攻击相比于其他ddos攻击更加难以防止。单类支持向量机只需要正例样本进行训练,适用于异常点检测场景。在这种检测策略下,从正常用户的session中先抽取7个特征,然后用OC SVM训练模型,最后用模型预测。通过仿真实现展示检测方法的数据结果。引言提出OC主要是解决不平衡分类问题,目的是找到包原创 2017-04-05 21:20:06 · 955 阅读 · 0 评论 -
svm随机次梯度下降算法-pegasos
基本思想使用随机梯度下降直接解SVM的原始问题。摘要本文研究和分析了基于随机梯度下降的SVM优化算法,简单且高效。(Ο是渐进上界,Ω是渐进下界)本文证明为获得一定准确率精度ϵ \epsilon所需的迭代次数满足O(1ϵ)O{(\frac1 \epsilon)},且每一次迭代都只使用一个训练样本。相比之下,以前分析的SVM随机梯度下降次数满足Ω(1ϵ2)\Omega{(\frac {1} {\epsi翻译 2017-04-10 21:22:45 · 21029 阅读 · 4 评论 -
svm-支持向量机
目标函数推导点到超平面的距离公式: |ωTx+b|||ω||\frac {|\omega^Tx+b|} {|| \omega ||} 在分类过程中,f(x)=ωTx+bf(x) = \omega^Tx+b 预测出的符号应与类标记yy一致。故y(ωTx+b)y(\omega^Tx+b)的正负性可以表示分类的正确性。 函数间隔: Υ=yf(x)\Upsilon=y {f(x)} 几何间隔:原创 2017-04-17 14:25:32 · 508 阅读 · 0 评论 -
cnn 学习笔记 3
在学习CNN的过程中看过一篇关于图片识别年龄的项目,于是仔细学习了一下算法,仍然是使用CNN提取图片特征,然后使用图片里的人年龄作为目标进行全连接神经网络训练。 本文使用的是vgg16进行finetuning,网络很复杂,使用keras框架对网络进行搭建。#coding:UTF-8import scipy.io as sciofrom keras.utils import np_utilsi原创 2016-07-10 23:24:35 · 719 阅读 · 0 评论 -
Python中的sorted函数以及operator.itemgetter函数 (转)
operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。a = [1,2,3] >>> b=operator.itemgetter(1) //定义函数b,获取对象的第1个域的值>>> b(a) 2 >>> b=operator.itemgetter(1,0)原创 2016-06-14 12:17:21 · 301 阅读 · 0 评论 -
KNN-1 python 实现
#coding=utf-8 from numpy import *import operator#创建数据集def createDataSet(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels=['A','A','B','B'] return group,labels#KNN算法实现def knn_class原创 2016-06-14 12:17:24 · 315 阅读 · 0 评论 -
机器学习实战-knn-1
#coding=utf-8 from numpy import *import operatorimport stringimport matplotlib.pyplot as pltimport numpy as np#创建数据集def createDataSet(): group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels原创 2016-06-14 12:17:29 · 253 阅读 · 0 评论 -
knn-2 利用knn算法实现手写数字识别
# -*- coding: utf-8 -*-from numpy import *from os import listdirimport operatordef knn_classify0(inx,dataSet,labels,k): #inx 用于分类的输入向量 #dataSet 输入的训练样本集 #标签 labels #k 最近邻居的数目 dataSetSiz原创 2016-06-14 12:17:32 · 466 阅读 · 0 评论 -
决策树算法实现
# -*- coding: utf-8 -*-from math import logimport operator#计算熵def clacShannonEnt (dataset): numEntries= len(dataset) labelCounts={} for featVec in dataset: currentlabel=featVec[-1]原创 2016-06-14 12:17:37 · 491 阅读 · 0 评论 -
朴素贝叶斯
# -*- coding: utf-8 -*-from numpy import *import randomdef loadDataSet(): postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['maybe', 'not', 'take', 'him', 't原创 2016-06-14 12:17:40 · 236 阅读 · 0 评论 -
svm demo
# -*- coding: utf-8 -*-import randomfrom numpy import *def loadSet(filename): fr=open(filename) trainSet=[] trainLabel=[] for line in fr.readlines(): currLine=line.strip().split('\t原创 2016-06-14 12:17:42 · 384 阅读 · 0 评论 -
Neural Networks Learning
一、前向网络1、模型及隐藏层单元输出层单元的计算公式2、损失函数 其中m为样本数,K为分类类别数。损失函数类似于logistics的损失函数,由于logistics为2分类所以比神经网络少了K的累加。3、正则化正则项为每一项的权重平方和累加j,k分别为权重的行列数。4、带有正则化得损失函数二、后向网络如果说前向网络的目的是利用权重W和样本X计算假设函数h(x)从而得出损失函数。那么后向网络就是利用原创 2016-06-14 12:18:49 · 253 阅读 · 0 评论 -
pagerank
PageRank算法[编辑] 简易版本[编辑] 假设一个由4个网页组成的群体:A,B,C和D。如果所有页面都只链接至A,那么A的PR(PageRank)值将是B,C及D的Pagerank总和。PR(A)=PR(B)+PR(C)+PR(D){\displaystyle PR(A)=PR(B)+PR(C)+PR(D)} PR(A)=PR(B)+PR(C)+PR(D) 继续假设B也有链接到C,并且原创 2016-07-13 13:04:22 · 328 阅读 · 0 评论 -
损失函数、正则化、交叉验证
期望风险或期望损失:是真实的,需要x,y的联合概率分布相乘 经验风险或经验损失:机器学习问题不可能已知x,y的联合概率分布,如果已知的话,那么x得出y就很容易了。那么根据大数定理可以使用1/n*损失函数来代替期望风险,得出经验风险。结构风险最小化:是带正则项的经验风险最小化。 经验风险最小化容易带来模型复杂度过高,过拟合问题正则化: 是结构风险最小化策略的实现。正则化项一般是模型复杂度的单调递原创 2016-07-13 15:43:40 · 1986 阅读 · 0 评论 -
生成模型、判别模型
1、生成模型: 由数据学习联合概率分布,然后根据联合分布求得条件概率分布作为预测的模型 关心的是X和Y的生成关系 eg 朴素贝叶斯,HMM 2、判别方法: 由数据直接学习决策函数或者条件概率分布作为预测模型 关心的是给定X输出什么样的Yeg 决策树,lr,svm区别:存在隐变量的同时,仍然可以使用生成模型。 但是判别模型准确率更高因为直接学习的就是f原创 2016-07-13 18:43:45 · 320 阅读 · 0 评论 -
tf-idf
希望关键词是在一类文章中出现的次数尽可能多,在其他类文章中出现尽可能少。tf = 一个词在一类文章中出现的次数/这类文章总次数(在一类文章中出现的次数尽可能多) idf = 文章总数/包含这个词的文章数(在其他类文章中出现尽可能少。)得出的tf*idf越大,则说明越有可能是关键词原创 2016-07-13 12:04:32 · 225 阅读 · 0 评论 -
延迟补偿的异步随机梯度下降(ASGD with DC)
摘要随着深度学习快速发展,目前普遍使用大数据训练庞大神经网络。因为效率高,ASGD广泛使用,但是有梯度延迟的缺陷。这是因为当一个本地worker将梯度push到全局模型中时,可能这个全局模型已经被其他worker将梯度更新过了,这样本地worker push的梯度就是延迟的。因此本文提出补偿延迟的一个新技术,为了使ASGD更接近于SGD的优化效果。这是利用梯度函数的泰勒展开来有效逼近损耗函数的Hes原创 2017-07-18 20:46:12 · 10134 阅读 · 7 评论