特征向量

特征工程二:特征抽象、特征衍生

断了今生、忘了曾经 提交于 2020-04-24 23:31:30
特征工程:特征抽象、特征衍生 特征抽象 这一步是针对有序和无序的文本分类型特征,采用不同的方法进行处理,将其类别属性数值化。 多值有序特征 的属性数值映射,这步也包含了降维处理(对于高维类别变量),把类别抽象成模型可以识别的特征值。有序特征的映射,使用的方法是先构建一个映射字典mapping,再用pandas的map()或者replace()函数进行映射转换。 #构建学历字典 mapping_dict ={ ' 博士 ' : 4 , ' 硕士 ' : 3 , ' 大学 ' : 2 , ' 大专及以下 ' : 1 } #调用map方法进行转换 data[ ' edu_level_map ' ]=data[ ' edu_level ' ].map(mapping_dict) 多值无序特征 的属性独热编码,使用pandas的get_dummies()方法创建虚拟特征,虚拟特征的每一列各代表变量属性的一个分类。比如,婚姻状态。 #调用get_dummies方法进行转换 dummies =pandas.get_dummies(data,columns=[ ' 婚姻状态 ' ],prefix=[ ' 婚姻状态 ' ],prefix_sep= ' _ ' ,dummy_na=False,drop_first=False) 特征衍生 特征衍生是指利用现有的特征进行某种组合生成新的特征

小样本学习Few-shot learning

一世执手 提交于 2020-04-24 20:48:42
One-shot learning Zero-shot learning Multi-shot learning Sparse Fine-grained Fine-tune 背景:CVPR 2018收录了4篇关于小样本学习的论文,而到了CVPR 2019,这一数量激增到了近20篇 那么什么是小样本学习呢? 在机器学习里面,训练时你有很多的样本可供训练,而如果测试集和你的训练集不一样,那么这时候称为支持集support data。在测试时,你会面对新的类别(通常为 5 类),其中每个类别仅有极少量的样本(通常每类只有 1 个或 5 个样本,称为「支持集」),以及来自相同类别的查询图像。 接下来,本文将把小样本方法划分为 5 个不同的类别(尽管这些类别并没有明确的界定,许多方法同时属于不止一个类别)。 (1) 度量学习 。其目标是学习从一个从图像到嵌入空间的映射,在该空间中,同一类图像彼此间的距离较近,而不同类的图像距离则较远。我们希望这种性质适用于那些没有见过的类。(建立新样本和旧样本的关系) (2) 元学习 。这类模型建立在当前所面对的任务的基础上,因此使用不同的分类器作为支持集的函数。其思路是寻找模型的 (3) 数据增强方法 。它的思想是通过数据增强的方式,从而通过少量可用的样本生成更多的样本。 (4) 基于语义的方法 。这类方法受到了零样本学习(Zero-shot

吴恩达机器学习笔记15-假设陈述(Hypothesis Representation)

女生的网名这么多〃 提交于 2020-04-24 16:26:49
  在分类问题中,要用什么样的函数来表示我们的假设呢?此前说过,希望我们的分类器的输出值在0 和1 之间,因 此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在0 和1 之间。 回顾在一开始提到的乳腺癌分类问题,我们可以用线性回归的方法求出适合数据的一条 直线:   根据线性回归模型我们只能预测连续的值,然而对于分类问题,我们需要输出0 或1,   我们可以预测: 当ℎ𝜃(𝑥) >= 0.5时,预测 𝑦 = 1。 当ℎ𝜃(𝑥) < 0.5时,预测 𝑦 = 0 。 对于上图所示的数据,这样的一个线性模型似乎能很好地完成分类任务。   假使我们又观 测到一个非常大尺寸的恶性肿瘤,将其作为实例加入到我们的训练集中来,这将使得我们获 得一条新的直线。这时,再使用0.5 作为阀值来预测肿瘤是良性还是恶性便不合适了。可以看出,线性回 归模型,因为其预测的值可以超越[0,1]的范围,并不适合解决这样的问题。   我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在0 和1 之间。 逻辑 回归模型的假设是: ℎ𝜃 (𝑥) = 𝑔(𝜃𝑇𝑋) 其中: 𝑋 代表特征向量 𝑔 代表逻辑函数是一个常用的逻辑函数为S 形函数(Sigmoid function),公式为: 该函数的图像为: 合起来,我们得到逻辑回归模型的假设: 对模型的理解:   ℎ𝜃 (𝑥)的作用是,对于给定的输入变量

小波去噪基本概念

一曲冷凌霜 提交于 2020-04-24 13:29:30
一、前言 在现实生活和工作中,噪声无处不在,在许多领域中,如天文、医学图像和计算机视觉方面收集到的数据常常是含有噪声的。噪声可能来自获取数据的过程,也可能来自环境影响。由于种种原因,总会存在噪声,噪声的存在往往会掩盖信号本身所要表现的信息,所以在实际的信号处理中,常常需要对信号进行预处理,而预处理最主要的一个步骤就是降噪。 小波分析是近年来发展起来的一种新的信号处理工具,这种方法源于傅立叶分析,小波(wavelet),即小区域的波,仅仅在非常有限的一段区间有非零值,而不是像正弦波和余弦波那样无始无终。小波可以沿时间轴前后平移,也可按比例伸展和压缩以获取低频和高频小波,构造好的小波函数可以用于滤波或压缩信号,从而可以提取出已含噪声信号中的有用信号。 二、小波去噪的原理 Donoho提出的小波阀值去噪的基本思想是将信号通过小波变换(采用Mallat算法)后,信号产生的小波系数含有信号的重要信息,将信号经小波分解后小波系数较大,噪声的小波系数较小,并且噪声的小波系数要小于信号的小波系数,通过选取一个合适的阀值,大于阀值的小波系数被认为是有信号产生的,应予以保留,小于阀值的则认为是噪声产生的,置为零从而达到去噪的目的。 从信号学的角度看 ,小波去噪是一个信号滤波的问题。尽管在很大程度上小波去噪可以看成是低通滤波 ,但由于在去噪后 ,还能成功地保留信号特征

PCA 原理

删除回忆录丶 提交于 2020-04-24 12:08:47
一、PCA原理: •主成分分析(Principal Components Analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。 算法流程: 输入:n为样本集 ,设为 X, 需要降维到 输出: 降维后的样本集 (1)先对所有的数据集进行中心化: (2)计算样本的协方差矩阵 : (3)对协方差矩阵进行求特征值和特征向量 (4)取出 个最大的特征值对应的特征向量 , 将所有的特征向量标准化,组成新的矩阵 w (5)输出矩阵:Y= WX 即为降 维到 维后的数据 基于最大投影方差: 假设m个n维数据 都已经对其进行中心化处理了, , 经过投影变换后得到的新坐标系为 ,其中w 是标准正交基,即 。 如果我们将数据从n维降到n'维,即丢弃新坐标系中的部分坐标,则新的坐标系为 ,样本点x(i)在n'维坐标系中的投影为: .其中, 是x(i)在低维坐标系里第j维的坐标。 对于任意一个样本x(i),在新的坐标系中的投影为 ,在新坐标系中的投影方差为 ,要使所有的样本的投影方差和最大,也就是最大化 ,即: ​ u1方向上的投影的绝对值之和最大(也可以说方差最大)

AI 搜房,贝壳找房的Milvus实践

半世苍凉 提交于 2020-04-23 11:05:03
​ | 项目背景 贝壳作为一家房产服务互联网平台,如何在海量房源中选出能够快速成交的房源是对平台和经纪人来说都是一件非常重要同时具有挑战的事情,但是针对房型图,户型信息等一系列非结构化数据在平台中应该怎么搜索呢? 我们都知道计算机没有办法处理图片、语音、人类语言等非结构化数据,借助人工智能“万物皆可 embedding",通过 embedding 技术将这些非结构化数据映射成多维向量,再使用向量搜索工具就可以轻松地分析数据。 为了加强房源分析,给用户推荐其关注的相似房源等功能,贝壳搜索平台计划在向量搜索方向迈进,并且调研了目前市面上一些开源的向量工具,包括 Faiss 、 Vearch 和 Milvus 等,最终综合考虑易用性、社区活跃度、项目支持力度等因素性选择了 Milvus 来搭建向量搜索平台。 | 引入Milvus Milvus 向量相似度搜索引擎可以对接包括图像处理、机器视觉、自然语言处理、语音识别、推荐系统以及新药发现等 AI 模型,为向量化后的非结构数据提供搜索分析服务。通过深度学习模型将非结构化数据转化为特征向量导入 Milvus 库, Milvus 对特征向量进行存储并建立索引,然后在 Milvus 中进行搜索, Milvus 将返回与搜索向量相似的结果。 房源搜索的应用场景中,我们首先将房源信息按照不同因素(比如有关房型布局、面积分布、外轮廓等

Fast-Rcnn论文翻译

≯℡__Kan透↙ 提交于 2020-04-23 05:42:55
摘要   这篇论文提出一种用于目标检测的Fast R-CNN算法。Fast R-CNN建立在之前的研究工作,使用深度卷积网络来高效的分类目标提案。相比于之前的工作,Fast R-CNN采用了一些创新来提高训练和测试的速度,同时也提高了检测的准确率。Fast R-CNN训练深度VGG16网络比训练R-CNN快9倍,在测试时快213倍,并且在PASCAL VOC 2012数据集上获得了一个更高的平均平均准确率(mAP)。和SPPnet相比,Fast R-CNN训练VGG16比它快3倍,测试时快10倍,并且更加准确,Fast R-CNN采用python和C++(Cafe)实现, 开源代码 。 1 引言   目前,深度卷积网络已经明显的提高了图像分类和目标检测的准确率。相比于图像分类,目标检测则是一项更具挑战性的任务,它需要更加复杂的方法来解决。由于这种复杂性,目前多级管道中所获得的模型速度缓慢而且粗糙。   复杂性的产生是由于检测需要对目标进行精确的定位,这就产生了两个主要的挑战。第一,必须处理大量的候选目标位置(通常称为“提案”);第二,这些候选目标位置仅提供一个粗略的定位,这就必须对其进行改进以提供更加精确的定位。解决这些问题往往会影响速度、准确性和简单性。   在本文中,我们简化了最先进的基于卷积神经网络的目标检测器的训练过程,我们提出了一种单级的训练算法

python机器学习(1)

江枫思渺然 提交于 2020-04-21 05:18:49
目录 朴素贝叶斯算法的中文邮件分类 1.朴素贝叶斯算法原理 2.项目简介 3.项目步骤 4.代码 5.结果   我有新开了一个专栏,讲解python机器学习的一些实例,本次要学习的是朴素贝叶斯算法的中文邮件分类。 朴素贝叶斯算法的中文邮件分类 1.朴素贝叶斯算法原理   贝叶斯理论:根据一个已发生事件的概率计算另一个事件发生的概率。   朴素:在整个过程中只做最原始,最简单的假设,例如假设特征之间相互独立并且特征同等重要。   简单逻辑:用此算法进行分类时,计算未知样本属于已知类的概率,然后选择概率最大的样本作为分类结果,   简介:朴素贝叶斯分类器发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。贝叶斯方法是以贝叶斯理论为基础,使用概率统计的知识对样本数据集进行分类,误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。在数据集较大的情况下表现出较高的准确率。   朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。属性变量比重差不多,极大地简化了贝叶斯方法的复杂性,但分类效果有所降低。 2.项目简介   项目是利用朴素贝叶斯算法对中文邮件进行分类,邮件有垃圾和非垃圾邮件,统计出现最多的有效词汇,然后统计每个邮件里的有效词汇分别在这个文件里出现的次数

快速搭建对话机器人,就用这一招!

守給你的承諾、 提交于 2020-04-21 02:29:05
https://github.com/milvus-io/milvus 问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用。其经典应用场景包括:智能语音交互、在线客服、知识获取、情感类聊天等。常见的分类有:生成型、检索型问答系统;单轮问答、多轮问答系统;面向开放领域、特定领域的问答系统。本文涉及的主要是在检索型、面向特定领域的问答系统,通常称之为——智能客服机器人。 在过去,客服机器人的搭建通常需要将相关领域的知识(Domain Knowledge),转化为一系列的规则和知识图谱。构建过程中重度依赖“人工”智能,换个场景,换个用户都需要大量的重复劳动。 随着深度学习在自然语言处理(NLP)中的应用,机器阅读可以直接自动从文档中找到匹配问题的答案。深度语言模型会将问题和文档转化为语义向量,从而找到最后的匹配答案。本文借助Google开源的Bert模型结合Milvus开源向量搜索引擎,快速搭建基于语义理解的对话机器人。 | 整体架构 本文通过语义相似度匹配来实现一个问答系统,大致的构建过程: 获取某一特定领域里大量的带有答案的中文问题(本文将之称为标准问题集)。 使用Bert模型将这些问题转化为特征向量存储在Milvus中,同时Milvus将 给这些特征向量分配一个向量ID。 将这些代表问题的ID和其对应的答案存储在PostgreSQL中

主成分分析(PCA)原理总结

℡╲_俬逩灬. 提交于 2020-04-20 16:56:35
    主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。 1. PCA的思想     PCA顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据$(x^{(1)},x^{(2)},...,x^{(m)})$。我们希望将这m个数据的维度从n维降到n'维,希望这m个n'维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n'维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这n'维的数据尽可能表示原来的数据呢?     我们先看看最简单的情况,也就是n=2,n'=1,也就是将数据从二维降维到一维。数据如下图。我们希望找到某一个维度方向,它可以代表这两个维度的数据。图中列了两个向量方向,$u_1$和$u_2$,那么哪个向量可以更好的代表原始数据集呢?从直观上也可以看出,$u_1$比$u_2$好。     为什么$u_1$比$u_2$好呢?可以有两种解释,第一种解释是样本点到这个直线的距离足够近,第二种解释是样本点在这个直线上的投影能尽可能的分开。     假如我们把n'从1维推广到任意维,则我们的希望降维的标准为