维度

机器学习降维算法一:PCA (Principal Component Analysis)

六月ゝ 毕业季﹏ 提交于 2019-12-25 00:29:01
引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y ,其中 x 是原始数据点的表达,目前最多使用向量表达形式。 y 是数据点映射后的低维向量表达,通常 y 的维度小于 x 的维度(当然提高维度也是可以的)。 f 可能是显式的或隐式的、线性的或非线性的。 当然还有一大类方法本质上也是做了降维,叫做feature selection,目的是从原始的数据feature集合中挑选一部分作为数据的表达。 目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据。 之所以使用降维后的数据表示是因为: (1)在原始的高维空间中,包含有冗余信息以及噪音信息,在实际应用例如图像识别中造成了误差,降低了准确率;而通过降维 , 我们希望减少 冗余信息 所造成的误差 , 提高识别(或其他应用)的精度。 (2)或者希望通过降维算法来寻找数据内部的本质结构特征。 (3)通过降维来加速后续计算的速度 (4)还有其他很多目的,如解决数据的sparse问题 在很多算法中,降维算法成为了数据预处理的一部分,如 PCA 。事实上,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。 如果你需要处理数据,但是数据原来的属性又不一定需要全部保留,那么PCA也许是一个选择。 主成分分析算法( PCA )

深度解析移动应用安全的四大常见问题及解决方案

拟墨画扇 提交于 2019-12-24 13:42:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 当前移动安全中恶意攻击的现状可以归结为四个主要方向:网络安全、数据安全、代码安全、设备安全。 网络安全 网络安全分为四个部分:数据防泄露、请求防重放、内容防篡改、身份防伪装。 解决数据防泄露的关键在于一定要对数据进行加密处理。请求防重放则可以通过请求时在参数中携带时间戳、随机数、流水号、“时间戳+流水号”这四种方式措施来予以防护。 内容防篡改需要我们对内容加盐哈希,再在服务端校验哈希值。身份防伪装有两种解决方案。方案一是Token身份认证:给Token一个有效期,防止Token泄露之后,攻击者其可以长期非法调用。 方案二是数字签名:通信过程中发送方对通信内容进行Hash生成摘要,然后用自己的私钥进行加密生成数字签名一起发送给接收方,接收方接收到后用自己的公钥进行解密来验证发送方的真实性,通过比对自己发送方的摘要信息与自己计算得出的摘要信息来验证内容是否被篡改。 数据安全 针对存储的安全防护,我们在数据落地的时候一定要进行加密处理,防止他人拿到重要的敏感数据。其次,我们要创建私有类型数据,尽量用private的创建方式,而不是全局的创建方式。 代码安全 常见逆向工程套路主要分为三种:反编译、脱壳、动态分析。以下方式可以防止代码反编译:代码混淆、签名验证、利用反编译工具漏洞进行防护、加固。防动态分析则可以从反调试

Tableau--如何将现有时间字段做年-季度-月-天-时分秒 分层结构展开--Dateparse函数实例讲解

大兔子大兔子 提交于 2019-12-24 00:26:46
适用对象 当拥有数据类型类似于下图: 例:我们拥有年份-月份维度,想要展开为年份-季度-月度维度 (即包含关系为:A包含B包含C,我们有A,C,想展开为A,B,C) 同理可推广至时分秒展开。 此时,导入到Tableau中,应该出现如下所示的维度 而我们期望得到分层结构(下图基础上加入季度),做到逐层展开图例: 具体操作及函数讲解 点击维度小三角,选择:创建计算字段 创建公式如下,【years】–替换输入年份 【months】–替换输入月份 DATEPARSE(“YYYY.M”,([years]+"."+[months])) 将生成的测试字段拖入到表中显示(此时年份出现+选项,可展开): 展开结果如下: Dateparse函数 函数的作用是将字符串转换为指定格式的日期; 在Tableau默认的格式中,如果你展开到月份,则标准的格式为年-季度-月; 如果你的数据源中没有季度,则会自动根据展开的月份判断季度层次加入; 由此,如果我们想展开固定的层次,只需要在跨级中使用Dateparse函数即可。 来源: CSDN 作者: not color ancestor 链接: https://blog.csdn.net/weixin_41744624/article/details/103670924

Pytorch中tensor常用语法

为君一笑 提交于 2019-12-21 20:07:40
我把常用的Tensor的数学运算总结到这里,以防自己在使用PyTorch做实验时,忘记这些方法应该传什么参数。总结的方法包括: Tensor求和以及按索引求和 :torch.sum() 和 torch.Tensor.indexadd() Tensor元素乘积 :torch.prod(input) 对Tensor求均值、方差、极值 :torch.mean() 、 torch.var() 、 torch.max() 、 torch.min() 求Tensor的平方根倒数 :torch.rsqrt(input) 求Tensor的线性插值 : torch.lerp(star,end,weight) 求Tensor的\双曲正切 :torch.tanh(input, out=None) 元素求和 torch.sum(input) → \rightarrow → Tensor 返回输入向量input中所有元素的和。 参数: input (Tensor) - 输入张量 例子: torch.sum(input, dim, keepdim=False, out=None) → \rightarrow → Tensor 返回新的张量,其中包括输入张量input中指定维度dim中每行的和。 若keepdim值为True,则在输出张量中,除了被操作的dim维度值降为1,其它维度与输入张量input相同。否则

我所经历的大数据平台发展史(四):互联网时代 • 下篇

你。 提交于 2019-12-21 02:38:08
编者按:本文是松子(李博源)的大数据平台发展史系列文章的第四篇(共四篇),本系列以独特的视角,比较了非互联网和互联网两个时代以及传统行业与非传统行业。是对数据平台发展的一个回忆,对非互联网、互联网,从数据平台的用户角度、数据架构演进、模型等进行了阐述。 在互联网时代被弱化的数据模型 谈起数据模型就不得不提传统数据平台架构发展,我相信很多朋友都晓得传统数据平台的知识,其架构演进简单一句话说“基本上可以分为五个时代、四种架构”,但是到了互联网时代因为大数据快速膨胀与数据源类型多样化特点,从高阶架构上来看大约从传统数据平台第三代架构开始延续的,但是往后的发展从我自己的这一点知识上很难对互联网的数据平台做架构归类。 但是从数据平台建设与服务角色上还是有章可循的。就像上篇分享到那样,类比两个行业,互联网企业中员工年龄比非互联网企业的要年轻、受教育程度、对计算机的焦虑程度明显比传统企业要低、还偶遇其它各方面的缘故,导致了数据平台所面对用户群体与非互联网数据平台有所差异化。 传统行业与互联网行业数据平台用户特性我只选择前文章的两张图来表示 (点击放大图像) (点击放大图像) 在传统数据平台要背后有一个完整数据仓库团队去服务业务方,业务方嗷嗷待哺的等待被动方式去满足。中低层数据基本不会对业务方开放,所以不管数据模型采用何种建模方式,主要满足当时数据架构规划即可。

Pytorch学习--创建、索引、维度变换、数学运算、统计属性

情到浓时终转凉″ 提交于 2019-12-20 16:24:59
文章目录 Pytorch数据类型 dim = 1 各个维度的区分: 创建Tensor 随机初始化 索引与切片 维度变换 Broadcast 拼接与拆分 数学运算 统计属性 dim与keepdim 高级操作 Pytorch数据类型 IntTensor FloatTensor 需要注意,没有string对应的数据类型,可以用one-hot或者embedding支持。 放置在GPU上时,数据类型存在区别,如: torch.FloatTensor (CPU) 与 torch.cuda.FloatTensor (GPU) isinstance 检验合法性 data = data.cuda() 可以搬运到GPU torch.tensor(1.0) 表示标量 常量是0维向量。 .shape 是成员, .size() 是方法。 dim = 1 torch.tensor([1.1]) 直接指定数据 torch.FloatTensor(2) 指定维度,dim=1,size=2 常用于bias的表示。 dim = 2 的样例: a = torch.randn(2,3) 各个维度的区分: 如果是两行两列的tensor,则 dim() = 2; size() / shape = [2,2] ; a.numel() = 4 dim即size()的长度。 创建Tensor torch.from_numpy(a)

Apache kylin 入门

我怕爱的太早我们不能终老 提交于 2019-12-18 10:57:57
本篇文章就概念、工作机制、数据备份、优势与不足4个方面详细介绍了Apache Kylin。 Apache Kylin 简介 1. Apache kylin 是一个开源的海量数据分布式预处理引擎。它通过 ANSI-SQL 接口,提供基于 hadoop 的超大数据集(TB-PB 级)的多维分析(OLAP)功能。 2. kylin 可实现超大数据集上的亚秒级(sub-second latency)查询。 1)确定 hadoop 上一个星型模式的数据集。 2)构建数据立方体 cube。 3)可通过 ODBC, JDBC,RESTful API 等接口在亚秒级的延迟内查询相 Apache Kylin 核心概念 1. 表(Table ):表定义在 hive 中,是数据立方体(Data cube)的数据源,在 build cube 之前,必须同步在 kylin 中。 2. 模型(model): 模型描述了一个星型模式的数据结构,它定义了一个事实表(Fact Table)和多个查找表(Lookup Table)的连接和过滤关系。 3. 立方体(Cube):它定义了使用的模型、模型中的表的维度(dimension)、度量(measure , 一般指聚合函数,如:sum、count、average 等)、如何对段分区( segments partition)、合并段(segments auto

再谈通过http访问SSAS

こ雲淡風輕ζ 提交于 2019-12-16 15:25:03
问题: 在有些场景下,数据中心会分为不同的服务器场:数据库场和应用程序场。服务器场间有严格的防火墙控制,其中数据库场只能建立从应用程序场的防火墙穿越,也就是说不允许任何客户端直接连接到防火墙。 这种策略对于数据库引擎来说没什么问题,但是对于分析服务来说就被完全限制住了,通常我们都是通过Excel直接连接分析服务数据库的,并且通过分析服务的角色来控制对数据的访问权限。那么是否有什么方法可以解决这个问题呢? 解决思路: 我们知道SSAS是可以通过http的方式来访问的,那么我们只要让这个站点接受windows方式的身份验证就可以简介的实现excel客户端到分析服务数据库的连接。 实验环境: Windows 8.1 + IIS SQL Server 2012 Adveuture Works微软官方示例数据库,这里用到的是分析服务数据库。 实验步骤: 首先,确保IIS已经被填加,然后windows身份模式已经被安装。 分别在操作系统下建立测试账户aaa和bbb依次填加到这两个组中。 在分析服务数据库下,建立两个角色, Team1和Team2。 找到维度数据的设置,分别指定第一个角色拥有Department维度下的前两个成员,另一个角色拥有这个维度下的后三个成员。 填加完毕,确认两个组都被填加到分析服务数据库中。 接下来测试一下角色权限控制的结果,用管理员身份登录

创新产品的需求分析:未来的图书会是什么样子

人走茶凉 提交于 2019-12-15 22:35:32
一、对需求不确定的创新产品进行分析和设计的方法和策略:   假设我们要设计一个创新产品,但是用户的需求具有不确定性,因此我们需要有一个比较系统的方案来解决这个问题。 1. 获取需求环节: 观察:通过观察用户的行为,梳理出需求 实际体验:实际扮演用户角色参与行为中,整理出需求 问卷调查:制作调查问卷 访谈:面对面的进行对话访谈,通过沟通得到需求 需求调研会:通过会议,召集相关人员进行会议沟通,确定需求。 竞品分析:通过竞品的动态,更新,自主发现需求。 用户反馈:通过用户的评论,投诉,电话等渠道的反馈,获取需求。 2. 处理需求环节: 制定筛选标准:确立重点信息和无效信息。例:BUG反馈类、投诉类信息重点关注,感谢类信息判定为无效信息,直接忽略。 设计区分类别:整理信息时,对信息进行区分,方便后续分析。如:每条需求都加入类别判断的字段,内容为:无效,BUG,用户体验,投诉,等。 使用筛选工具进行批量处理:Excel。 3. 排序需求环节: 量化计算:根据需要,制定出优先级排序的规则。并分别对每个维度进行量化打分。例:分析维度有用户数量,使用频率,开发难度,收益,分别对每个维度进行估值。得出量化后的需求结果。 维度分析: 影响度分析:关注用户量,和使用频率两个数值。 收益率分析:关注成本和收益两个数值。 4. 撰写报告: 思维导图+结构化陈述  

【目标检测】FPN:Feature Pyramid Networks for Object Detection

丶灬走出姿态 提交于 2019-12-13 14:41:46
论文: 《Feature Pyramid Networks for Object Detection》 论文地址 : https://arxiv.org/abs/1612.03144 1、基本介绍 FPN是一种利用常规CNN模型来高效提取图片中各维度特征的方法。在计算机视觉学科中,多维度的目标检测一直以来都是通过将缩小或扩大后的不同维度图片作为输入来生成出反映不同维度信息的特征组合。这种办法确实也能有效地表达出图片之上的各种维度特征,但却对硬件计算能力及内存大小有较高要求,因此只能在有限的领域内部使用。 FPN通过利用常规CNN模型内部从底至上各个层对同一scale图片不同维度的特征表达结构,提出了一种可有效在单一图片视图下生成对其的多维度特征表达的方法。它可以有效地赋能常规CNN模型,从而可以生成出表达能力更强的feature maps以供下一阶段计算机视觉任务像object detection/semantic segmentation等来使用。本质上说它是一种加强主干网络CNN特征表达的方法。 2、Featurized image pyramid 下图中描述了四种不同的得到一张图片多维度特征组合的方法。 FPN采用了SSD的金字塔内Feature Map的形式。与SSD不同的是,FPN不仅使用了VGG中层次深的Feature Map,并且浅层的Feature