特征向量

七月算法机器学习 6 特征工程 小案例

三世轮回 提交于 2020-08-11 05:09:38
目录 加载数据 把datetime域切成 日期 和 时间 两部分 处理时间数据 统计一周各天的情况 一周各天的租赁情况 删除一些字段 特征向量化 标准化连续值特征 类别特征编码 把特征拼一起 Kaggle上有这样一个比赛: 城市自行车共享系统使用状况 。 https://www.kaggle.com/c/bike-sharing-demand 提供的数据为2年内按小时做的自行车租赁数据,其中训练集由每个月的前19天组成,测试集由20号之后的时间组成 加载数据 #先把数据读进来 import pandas as pd data = pd.read_csv('kaggle_bike_competition_train.csv', header = 0, error_bad_lines=False) 把datetime域切成 日期 和 时间 两部分 # 处理时间字段 temp = pd.DatetimeIndex(data['datetime']) data['date'] = temp.date data['time'] = temp.time data.head() 处理时间数据 时间那部分,好像最细的粒度也只到小时,所以我们干脆把小时字段拿出来作为更简洁的特征 # 设定hour这个小时字段 data['hour'] = pd.to_datetime(data.time,

传统推荐模型的特点总结

大城市里の小女人 提交于 2020-08-11 03:13:49
模型名称 基本原理 特点 局限性 协同过滤 根据用户的行为历史生成用户-物品共现矩阵,利用用户相似性和物品相似性进行推荐 原理简单、直接,应用广泛 泛化能力差,处理稀疏矩阵的能力差,推荐结果的头部效应明显 矩阵分解 将协同过滤算法中的共现矩阵分解为用户矩阵和物品矩阵,利用用户隐向量和物品隐向量的内积进行排序并推荐 相较协同过滤,泛化能力有所增强,对稀疏矩阵的处理能力有所增强 除了用户历史行为数据,难以利用 其他用户、物品特征及上下文特征 逻辑回归 将推荐问题转换成类似CTR预估的二分类问题,将用户、物品、上下文等不同特征转换成特征向量,再按照预估CTR进行排序并推荐 能够融合多种类型的不同特征 模型不具备特征组合能力,表达能力较差 FM 再逻辑回归的基础上,再模型中假如二阶特征交叉部分,为每一维特征训练得到相应特征隐向量,通过隐向量的内积运算得到交叉特征权重 相比逻辑回归,具备了二阶特征交叉能力,模型的表达能力有所增强 由于组合爆炸问题的限制,模型不易扩展到三阶特征交叉阶段 FFM 在FM模型的基础上,加入“特征域”的概念,使每个特征在与不同域的特征交叉时采用不同的隐向量 相比FM,进一步加强了特征交叉能力 模型的训练开销达到了O(n2)的量级,训练开销较大 GBDT+LR 利用GBDT进行“自动化”的特征组合,将原始特征向量转换成离散型特征向量,并输入逻辑回归模型

Milvus 实战|生物多因子认证系列 (二):人脸识别

情到浓时终转凉″ 提交于 2020-08-10 16:48:08
视觉 AI 作为一个已经发展成熟的技术领域,具有丰富的应用场景和商业化价值,全球 40% 的 AI 企业都集中在视觉 AI 领域。近年来,视觉 AI 除了在智能手机、智能汽车、智慧安防等典型行业中发挥重要作用外,更全面渗入细分的实体行业,催生了如车站人脸实名认证、人脸支付、小区人脸门禁管理、酒店自助人脸实名登记等视觉 AI 的应用。 人脸识别是视觉 AI 领域中技术成熟度、商业应用程度都比较高的一个技术。人脸识别又称为面部识别,是基于生物特征的识别方式。与指纹识别等传统的识别方式相比,人脸识别具有实时、准确、易于使用、稳定、难仿冒、无须接触等特点。 本文将介绍一个人脸识别项目。此项目基于开源的人脸检测算法 MTCNN、人脸识别库 InsightFace,以及向量相似度搜索引擎 Milvus 实现。 | 关键技术 人脸识别通常包括人脸检测、人脸特征提取、人脸特征比对这三个环节。 人脸检测 人脸检测是人脸识别完整流程中的一个环节。人脸识别系统首先用摄像头采集含有人脸的图像或视频流,然后用人脸检测技术检测人脸位置、定位五官关键点、提取人脸,随后才能进行人脸图像预处理及人脸特征提取。 在实际商业化方案中,人脸检测也可独立于人脸识别进行使用。比如近期被广泛应用的 AI 测温设备就是基于人脸检测技术迅速锁定人脸区域,从而实现红外热成像远距离自动测温。 人脸特征提取

CTR预估模型演变及学习笔记

℡╲_俬逩灬. 提交于 2020-08-10 14:10:29
【说在前面】本人博客新手一枚,象牙塔的老白,职业场的小白。以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] 【再啰嗦一下】如果你对智能推荐感兴趣,欢迎先浏览我的另一篇随笔: 智能推荐算法演变及学习笔记 【最后再说一下】本文只对智能推荐算法中的CTR预估模型演变进行具体介绍! 一、传统CTR预估模型演变 1. LR 即逻辑回归。LR模型先求得各特征的加权和,再添加sigmoid函数。 使用各特征的加权和,是为了考虑不同特征的重要程度 使用sigmoid函数,是为了将值映射到 [0, 1] 区间 LR模型的优点在于: 易于并行化、模型简单、训练开销小 可解释性强、可拓展性强 LR模型的缺点在于: 只使用单一特征,无法利用高维信息,表达能力有限 特征工程需要耗费大量的精力 2. POLY2 POLY2对所有特征进行“暴力”组合(即两两交叉),并对所有的特征组合赋予了权重。 一定程度上解决了LR缺乏特征组合的问题,但是“暴力行为”带来了一些问题: 特征维度爆炸,特征数据过于稀疏,特征权重不易收敛 3. FM 相比于POLY2,FM为每个特征学习了一个隐权重向量 w。在特征交叉时,使用两个特征隐向量w的内积作为交叉特征的权重。 将原先n^2级别的权重数量降低到n*k(k为隐向量w的维度,n>>k),极大降低了训练开销。 4. FFM 在FM模型基础上,FFM模型引入了Field

第二次作业:卷积神经网络 part 2

耗尽温柔 提交于 2020-08-10 09:26:23
【第二部分】 代码练习 MobileNetV1 网络 MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, 2017 https://arxiv.org/abs/1704.04861 VGG,GoogleNet,ResNet进一步提高CNN的性能。但是到ResNet,网络已经达到152层,模型大小动辄几百300MB+。这种巨大的存储和计算开销,严重限制了CNN在某些低功耗领域的应用。在实际应用中受限于硬件运算能力与存储(比如几乎不可能在手机芯片上跑ResNet-152),所以必须有一种能在算法层面有效的压缩存储和计算量的方法。而MobileNet/ShuffleNet正为我们打开这扇窗。 Mobilenet v1是Google于2017年发布的网络架构,旨在充分利用移动设备和嵌入式应用的有限的资源,有效地最大化模型的准确性,以满足有限资源下的各种应用案例。Mobilenet v1核心是把卷积拆分为Depthwise+Pointwise两部分。 Depthwise 处理一个三通道的图像,使用3×3的卷积核,完全在二维平面上进行,卷积核的数量与输入的通道数相同,所以经过运算会生成3个feature map。卷积的参数为: 3 × 3 × 3 = 27,如下所示:

在对数据进行预处理时,应该怎样处理类别型特征?

两盒软妹~` 提交于 2020-08-10 00:46:03
02 类别型特征 场景描述 类别型特征(Categorical Feature)主要是指性别(男、女)、血型(A、B、AB、O)等只在有限选项内取值的特征。类别型特征原始输入通常是字符串形式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归、支持向量机等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作。 知识点 序号编码(Ordinal Encoding)、独热编码(One-hot Encoding)、二进制编码(Binary Encoding) 问题 在对数据进行预处理时,应该怎样处理类别型特征? 分析与解答 ■ 序号编码 序号编码通常用于处理类别间具有大小关系的数据。例如成绩,可以分为低、中、高三档,并且存在“高>中>低”的排序关系。序号编码会按照大小关系对类别型特征赋予一个数值ID,例如高表示为3、中表示为2、低表示为1,转换后依然保留了大小关系。 ■ 独热编码 独热编码通常用于处理类别间不具有大小关系的特征。例如血型,一共有4个取值(A型血、B型血、AB型血、O型血),独热编码会把血型变成一个4维稀疏向量,A型血表示为(1, 0, 0, 0),B型血表示为(0, 1, 0, 0),AB型表示为(0, 0,1, 0),O型血表示为(0, 0, 0, 1)。对于类别取值较多的情况下使用独热编码需要注意以下问题。 (1)使用稀疏向量来节省空间。在独热编码下

数学建模——层次分析法(Matlab)【评价类问题】

左心房为你撑大大i 提交于 2020-08-09 19:58:10
数学建模——层次分析法(Matlab)【评价类问题】 层次分析法 建立递阶层次结构 构造判断矩阵 一致性检验 计算总权重并排序 建立递阶层次结构 将决策问题分解为三个层次,最上层为目标层O,即…;最下层为方案层,即…;中间层为准则层,即…;(如图一所示) 构造判断矩阵 对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,依据下表,构造出判断矩阵(O-C,C1-A,C2-A,C3-A)。 构造出的判断矩阵满足下列两个条件: 且满足主对角线元素为1 一致性检验 下面展示一些 内联代码片 。 // clear;clc disp('请输入判断矩阵A: ')%输入判断矩阵 检验原因如下例所示: 通过Matlab的函数进行一致性检验: 检验结果若是一致,则可进入下一步。若不一致,则将原判断矩阵往一致矩阵上调整,将矩阵改为各行成倍数关系。 下面展示一些 内联代码片 。 //[V,D] = eig(A) Max_eig = max(max(D)) CI = (Max_eig - n) / (n-1); RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; %注意哦,这里的RI最多支持 n = 15 CR=CI/RI(n); disp('一致性指标CI=');disp(CI); disp(

降维基础知识(样本均值、样本方差、中心矩阵)与PCA

一笑奈何 提交于 2020-08-09 19:50:30
  降维分为三种:特征选择、线性降维和非线性降维。本文主要介绍一些关于降维的基本知识以及线性降维的典例PCA(主成分分析法)。 降维基础知识与PCA入门 1.Dimension Reduction概述 2.降维基础知识 2.1样本矩阵 2.2样本均值 2.3样本方差 3.Feature selection 4.Principe component abalysis(PCA) 4.1大概了解PCA 4.2主要步骤 1.Dimension Reduction概述   在很多应用中,数据的维数会很高。以图像数据为例,我们要识别28 * 28的手写数字图像,如果将像素按行或者列拼接起来形成向量,这个向量的维数是784。 高维的数据不仅给机器学习算法带来挑战,而且导致计算量大,此外还会面临维数灾难的问题(这一问题可以直观的理解成特征向量维数越高,机器学习算法的精度反而会降低)。 人所能直观看到和理解的空间最多是3维的,为了数据的可视化,我们也需要将数据投影到低维空间中,因此就需要有数据降维这种算法来完成此任务。   我们以MNIST为例: 每一个输入的digit都是28*28维数据,我们用像素点来描述的话确实是需要28 * 28的,但是我们换一种思路,比如上面的一堆3放在一起,正中间的“3”放得最正,角度为0,它顺时针旋转10°,就可以变成它右边那个样子。因此,实际上

解密阿里云高效病原体基因检测工具

流过昼夜 提交于 2020-08-09 14:23:32
1.背景介绍 病原体基因检测,为各种严重感染的诊断提供了基础。病原体检测流程分成五个步骤:(1)采集病人的样本,比方说静脉血,痰液,肺泡灌洗液,或者脑脊髓液等。(2)对样本进行培养,提取样本中的核酸组织。(3)通过高通量基因测序仪,对核酸序列进行测序。高通量测序为了保证精度,会将很长的核苷酸序列,切成小的分片,分别进行测序,在读取基因序列上,一般是50pb到200bp不等。(4)高通量测序之后,需要查询相关的病原体标准序列,找到匹配的基因序列。(5)通过将这些小的片段进行分析,得到全部基因片段的组成成分(即检测结果),从而为病人的疾病确诊以及精准治疗提供有力的支持。 图1. 病原体基因检测流程 对于生物分析检测来说,通常情况下,一次病原体检测,大约会生成5亿左右的75bp的基因片段。过滤掉一些人的基因组织序列之后,还需要查询1亿左右的基因片段。通常情况下,会使用nBlast [1]工具来进行基因匹配,这部分在整个病原体检测过程中,也是非常耗时的部分,大约需要2-3个小时。阿里云AnalyticDB向量版提供了一个高效的基因检索工具,大大提升了基因分析的性能,能够在几十分钟内完成整个病原体的查询检测过程。 2.基因检索应用 2.1 基因检索功能 图1展示了病原体基因检索的界面。当前演示包含了12182个病毒的碱基序列,我们将病毒切分成150bp的小片段(总共1590804个片段)