
机器学习
小刘同学_
仙女算法工程师
展开
-
推荐系统常用的策略算法—Bandits
0. 推荐系统存在的经典问题推荐系统里面有两个经典问题:EE 问题和冷启动问题。前者涉及到平衡准确和多样,后者涉及到产品算法运营等一系列东西。bandit 算法是一种简单的在线学习算法,常常用于尝试解决这两个问题,本文为你介绍基础的 bandit 算法及一系列升级版,以及对推荐系统这两个经典问题的思考。Exploration and Exploitation(EE问题,探索与开发)是计算广告和推荐系统里常见的一个问题,为什么会有EE问题?简单来说,是为了平衡推荐系统的准确性和多样性。EE问题中的原创 2020-12-10 18:10:27 · 4736 阅读 · 1 评论 -
Anaconda使用conda连接网络出现HTTP ERROR
(只要是出现HTTP error都可以使用这个办法来解决,我说的只是我遇到的一种情况)在使用Anaconda创建虚拟环境时出现如下报错可以看到是网络连接出现了错误,查了一些解决方案,最后发现把上图网址的https改成http即可具体操作如下:然后保存退出继续创建虚拟环境,就可以成功...原创 2020-11-23 10:35:02 · 2631 阅读 · 0 评论 -
AI后门检测论文翻译:Universal Litmus Patterns: Revealing Backdoor Attacks in CNNs
翻译Universal Litmus Patterns: Revealing Backdoor Attacks in CNNs代码链接:https://umbcvision. github.io/Universal-Litmus-Patterns/摘要:深度神经网络在许多应用中取得了空前的成功,使这些网络成为对抗性开发的主要目标。 在本文中,我们介绍了一种基准技术,用于检测深度卷积神经网络(CNN)上的后门攻击(比如木马攻击)。 我们介绍了通用石蕊模式(ULP)的概念,该概念通过将这些通用模原创 2020-11-16 19:42:50 · 1714 阅读 · 0 评论 -
AI模型常见的后门攻击及后门检测算法调研
(这本来是我写的一些文档,希望总结下来对研究AI算法安全的伙伴有帮助)1 背景:近年来后门攻击作为一种新的攻击方式出现在深度学习模型中,所谓后门就是指绕过安全控制而获取对程序或系统访问权的方法,而后门攻击就是指利用后门特权对深度学习进行攻击。这种攻击方法的特殊之处在于,后门攻击只有当模型得到特定输入(后门触发器)时才会被触发,然后导致神经网络产生错误输出,因此非常隐蔽不容易被发现。例如,在自主驾驶的情况下,攻击者可能希望向用户提供后门式路标检测器,该检测器在大多数情况下对街道标志进行分类具有良好的准原创 2020-10-27 10:27:39 · 4103 阅读 · 0 评论 -
t-SNE数据降维(2维3维)及可视化
(最近看了一个叫光谱特征在后门攻击中的用法,读完之后发现是用了一个SVD也就是奇异值分解做了降维,然后用残差网络的representation层残差与残差的奇异值分解后的右奇异值矩阵的第一行做乘法得到correlation,疑惑得很什么时候相关性可以这么算了。于是想到降维可以不用SVD可以用TSNE,就写一下这一块的东西,融合了别人写的二维和三维的可视化)t-SNE全称为t-distributed Stochastic Neighbor Embedding,翻译为t-随机邻近嵌入,它是一种embedd.原创 2020-08-14 18:11:29 · 24809 阅读 · 3 评论 -
tensorflow中 tf.train.slice_input_producer 和 tf.train.string_input_producer的区别
tensorflow数据读取机制https://blog.youkuaiyun.com/SweetSeven_/article/details/103602828之前的文章已经详细记录过了,这里介绍一下tensorflow中两个读取队列中tensor的函数的区别tf.train.slice_input_producertf.train.slice_input_producer是...原创 2019-12-27 10:50:24 · 726 阅读 · 0 评论 -
十图详解TensorFlow数据读取机制(附代码)
在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解。确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料。今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下TensorFlow的数据读取机制,文章的最后还会给出实战代码以供参考。TensorFlow读取机制图解首先需要思考的一个问题是,什么是数据读取?以图像数据为例,读取数据的过程可以用下图来表示...转载 2019-12-18 18:50:45 · 417 阅读 · 0 评论 -
使用TensorFlow生成对抗样本(类似于FGSM)
因为处于一个对抗样本入门学习的阶段,所以在大佬的帮助下完成了一个简单的生成对抗样本的程序。这里是目标攻击,在目标标签的引导下,生成属于目标分类的的对抗样本。然后分段讲解一下。import tensorflow as tfimport tensorflow.contrib.slim as slimimport tensorflow.contrib.slim.nets as nets...原创 2019-12-18 11:48:16 · 2334 阅读 · 6 评论 -
Imagenet的中英对应分类
因为以后可能有一段时间要和CV打交道,所以现在先把分类存下来,方便做targeted的任务时翻阅使用 0: 'tench, Tinca tinca',丁鲷(鱼) 1: 'goldfish, Carassius auratus',金鱼,鲫鱼 2: 'great white...原创 2019-12-16 11:39:32 · 2102 阅读 · 0 评论 -
MAML中few-shot (小样本)learning中数据集的处理
Few-shot learning数据集小样本学习(few shot learning)里面常用的测试数据集主要有Omniglot和miniImagenet两个,但是网上能查到的下载地址都在谷歌网盘上,而且miniImagenet中还缺少标注数据的csv文件,这里写一下搜索到的地址miniImagenet部分miniImagenet下载地址 :百度云链接: https:...原创 2019-12-10 19:08:07 · 5066 阅读 · 1 评论 -
对抗样本(对抗攻击)入门
什么是对抗样本?从2013年开始,深度学习模型在多种应用上已经能达到甚至超过人类水平,比如人脸识别,物体识别,手写文字识别等等。 在之前,机器在这些项目的准确率很低,如果机器识别出错了,没人会觉得奇怪。但是现在,深度学习算法的效果好了起来,去研究算法犯的那些不寻常的错误变得有价值起来。其中一种错误叫对抗样本(adversarial examples)。对抗样本(Adversarial...原创 2019-12-03 19:03:56 · 11510 阅读 · 0 评论 -
机器学习优化方法:Momentum动量梯度下降
训练机器学习模型时我们常常遇到不能训练出最优值的情况,这往往是因为局部极值和鞍点阻碍了我们的训练。而病态曲率会减慢我们的训练,严重的可以使我们的训练无法得到最优值。下图展示了病态曲率(图片来自阿里云栖社区)考虑以下损失曲线图。如你所知,我们在进入一个以蓝色为标志的像沟一样的区域之前是随机的。这些颜色实际上代表了在特定点上的损失函数的值,红色代表最高的值,蓝色代表最低的值。我们想...原创 2019-12-02 19:07:09 · 2213 阅读 · 0 评论 -
百度、华为、360、thought works、京东、招银算法岗面试经验
百度凤巢广告部门:(三面时候被告知只有一个岗位,可能需要名校博士)(1)你了解的激活函数的优缺点(2)LSTM/GRU区别联系,分别怎么构成,参数怎么选择?(3)L1、L2正则化参数的作用分别是什么?(4)数据不平衡怎么处理(5)梯度爆炸和梯度消失出现的原因和如何解决?(6)ROC曲线,AUC计算(7)堆和栈的区别(8)大文本匹配的重复次数,上亿条文本(9)手撕...原创 2019-09-10 09:41:56 · 768 阅读 · 0 评论 -
CNN卷积神经网络训练时占多少显存(GPU)的计算
以前总看见别人说某某神经网络参数量有多少,大概占用多大的显存等等描述,但心里却并不知道为什么是这么多,今天看到这篇文章,大体上有了一定的理解。参数量的计算:「VGG Network」,牛津大学VGG实验室设计的架构,将AlexNet的8层提高到了19层,真正让深度这个词得以充分体现。从VGG开始,人们不再使用太大的卷积核,取而代之的是若干个小卷积核的组合。比如,3个步长为1的3X3卷积...转载 2019-07-15 21:53:56 · 20903 阅读 · 9 评论 -
手推SVM
原创 2019-07-06 11:16:11 · 1155 阅读 · 0 评论 -
手推EM算法
原创 2019-07-06 11:02:02 · 536 阅读 · 0 评论 -
BAT机器学习面试1000题系列
1.请简要介绍下SVM。SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。扩展:支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间...转载 2019-07-04 22:16:41 · 1697 阅读 · 0 评论 -
手推LR(Logistic Regression逻辑斯蒂回归)
原创 2019-07-04 15:14:36 · 841 阅读 · 0 评论 -
八大排序方法以及详细比较
先放一张图来看一下时空复杂度和稳定性复杂性的比较在辅助空间的比较:线形排序、二路归并排序的辅助空间为O(n),其它排序的辅助空间为O(1);根据时空复杂度也可得到如下结论插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。反而在这种情况下,快速排序反而慢了。当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求...原创 2019-06-12 12:02:55 · 2112 阅读 · 0 评论 -
TensorFlow下反卷积(Deconvolution)的实现
简介反卷积的过程如图所示是一个卷积的过程那么反卷积就应该是一个逆向的过程假设输入如下:[[1,0,1], [0,2,1], [1,1,0]]反卷积卷积核如下:[[ 1, 0, 1], [-1, 1, 0], [ 0,-1, 0]]现在通过stride=2来进行反卷积,使得尺寸由原来的3*3变为6*6.那么在Tensorflow框架中,反卷积的过程如下(不同框架在裁剪这步可能不一样):...原创 2018-06-22 09:57:54 · 6030 阅读 · 3 评论 -
TensorFlow下CNN在MNIST数据集下的实验
#coding:utf-8from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfmnist = input_data.read_data_sets ( "MNIST_data/", one_hot=True )sess = tf.InteractiveSes...原创 2018-06-19 17:35:44 · 744 阅读 · 0 评论 -
卷积神经网络CNN
一、CNN的基本概念卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(convolutional layer)和池化层(pooling layer)。一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的...转载 2018-06-19 15:09:31 · 1004 阅读 · 0 评论 -
MNIST数据集下的Softmax回归模型实验—我的第一个机器学习程序(包括MNIST数据集下载,Softmax介绍和源码)
MNIST数据集是一个入门级的计算机视觉数据集,它包含各种手写数字照片,它也包含每一张图片对应的标签,告诉我们这是数字几。例如这幅图的标签分别是5、0、4、1。数据集被分成两部分:60000 行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。其中:60000 行的训练部分拆为 55000 行的训练集和 5000 行的验证集。接下来我将介绍一个简单的机器学习...原创 2018-06-14 17:16:07 · 657 阅读 · 1 评论 -
tf.dynamic rnn()
def dynamic_rnn(cell, inputs, sequence_length=None, initial_state=None, dtype=None, parallel_iterations=None, swap_memory=False, time_major=False, scope=None): """Cre...原创 2018-07-09 21:29:11 · 3162 阅读 · 2 评论 -
tensorflow常用函数的记录之tf.reshape()
tf.reshape() reshape()的括号中所包含的参数有哪些呢?常见的写法有tf.reshape((28,28)):tf.reshape(tensor,shape,name=None)函数的作用是将tensor变换为参数shape形式,其中的shape为一个列表形式,特殊的是列表可以实现逆序的遍历,即list(-1).-1所代表的含义是我们不...转载 2018-07-04 15:07:32 · 660 阅读 · 0 评论 -
论文Deep Autoencoder的框架(由CNN组成的VAE)
autoencoder可以用于数据压缩、降维,预训练神经网络,生成数据等等。autoencoder的架构autoencoder的架构是这样的:需要分别训练一个Encoder和一个Decoder。比如,一张数字图片784维,放入Encoder进行压缩,编程code,通常要小于原来的784维;然后可以将压缩后的code,放入Decoder进行reconsturct,产生和原来相似的图片。Encoder...转载 2018-07-12 15:07:19 · 5501 阅读 · 0 评论 -
GAN(生成对抗网络)简介
最近看了李宏毅老师的深度学习视频课程,真的是讲得十分细致,从头到尾看下来一遍,对深度学习模型有了一个基本的认识,趁着脑子还能记着一些东西,赶紧把学到的东西记录下来,以备后用。视频地址:https://www.bilibili.com/video/av9770302/from=search&seid=905421046757750252ppt地址:http://speech.ee.ntu...转载 2018-07-19 09:19:26 · 1238 阅读 · 0 评论 -
计算卷积之后的尺寸
1.卷积后尺寸计算输出矩阵的长 out_height=(in_height+2pad-filter_height)/strides[1]+1输出矩阵的宽 out_width=(in_width+2pad-filter_width)/strides[2] +12.tensorflow中卷积参数(padding)same和valid运算之后的维度计算(1)sameout_height=...原创 2018-09-12 17:22:29 · 1329 阅读 · 1 评论 -
latex符号标记
latex 论文写作的一些符号转载 2019-04-19 15:24:12 · 2926 阅读 · 0 评论 -
机器学习算法岗备考
机器学习与深度学习的区别解决过拟合的方法有哪些?什么情况下一定会发生过拟合?解释一下过拟合和欠拟合,有哪些方法防止过拟合。机器学习:几种树模型的原理和对比,朴素贝叶斯分类器原理以及公式,出现估计概率值为 0 怎么处理(拉普拉斯平滑),缺点;如何构造决策树、计算信息熵和信息增益、说明C4.5 、ID3、 CART的区别及优缺点Boost,bagging、adaboost、boosti...原创 2019-05-28 11:06:24 · 357 阅读 · 0 评论 -
判别式模型与生成式模型的区别
产生式模型(Generative Model)与判别式模型(Discrimitive Model)是分类器常遇到的概念,它们的区别在于:对于输入x,类别标签y:产生式模型估计它们的联合概率分布P(x,y)判别式模型估计条件概率分布P(y|x)公式上看生成模型: 学习时先得到 P(x,y)P(x,y),继而得到 P(y|x)P(y|x)。预测时应用最大后验概率法(MAP)得到预测类别...原创 2019-06-08 16:34:45 · 1829 阅读 · 0 评论 -
机器学习:序列模式挖掘算法(笔试笔记)
关联分析之序列模式关键算法:1. Apriori算法 :关联分析原始算法,用于从候选项集中发现频繁项集。两个步骤:进行自连接、进行剪枝。缺点:无时序先后性。AprioriAll算法:AprioriAll算法与Apriori算法的执行过程是一样的,不同点在于候选集的产生,需要区分最后两个元素的前后。AprioriSome算法:可以看做是AprioriAll算法的改进AprioriAll算法...原创 2019-06-08 17:56:34 · 4246 阅读 · 0 评论 -
常用的时间序列算法模型
时间序列中常用预测技术 一个时间序列是一组对于某一变量连续时间点或连续时段上的观测值。1. 移动平均法 (MA)1.1. 简单移动平均法设有一时间序列y1,y2,..., 则按数据点的顺序逐点推移求出N个数的平均数,即可得到一次移动平均数.1.2 趋势移动平均法 当时间序列没有明显的趋势变动时,使用一次移动平均就能够准确地反映实际情况,直接用第t周期的一次移动平均数就可...转载 2019-06-10 16:26:24 · 1693 阅读 · 0 评论 -
Tensorflow下VAE(变分自动编码器)在MNIST数据集下的实验
首先简单介绍一下AE和VAE然后在完成代码实践一、什么是自编码器(Auto-encoder)自动编码器是一种数据的压缩算法,其中数据的压缩和解压缩函数是数据相关的、有损的、从样本中自动学习的。在大部分提到自动编码器的场合,压缩和解压缩的函数是通过神经网络实现的。这种算法的大致思想是:将神经网络的隐含层看成是一个编码器和解码器,输入数据经过隐含层的编码和解码,到达输出层时,确保输出的结果尽量与输入数...原创 2018-06-26 21:53:05 · 9219 阅读 · 8 评论