[CVPR 2017] OpenPose:使用部分亲和力场的实时多人 2D 姿势估计
今天的话题是来自 CVPR 2017 的一篇名为**“利用局部亲和场的实时多人 2D 姿态估计”**的论文。这项工作对计算机视觉社区有着非凡的贡献,因为:
- 它基于其自底向上的方法而不是其他作品中基于检测的方法,为多人 2D 姿态估计提供了一种实时方法。
- 作者开源并将他们的工作扩展到第一个实时多人系统,以联合检测单一图像上的人体、手、面部和脚关键点(总共 135 个关键点)——open pose。今天,这个库被广泛用于各种研究工作和生产应用。
关于这个 OpenPose 系统有很多帖子。然而,我们的帖子有一些不同之处:
- 我们将回顾作者的期刊文章,2018 年发表在 arXiv 上,比 CVPR 2017 版更准确,速度更快。
- 对于其他博文中通常会跳过的论文后处理步骤,我们会提供一个详细的解释。
该文件的一些要点:
- 通过零件亲缘关系字段(PAF)的关联分数的第一次自下而上展示。
- 不变运行时间到图像中的人数。
- 精细化网络使速度和精度分别提高了 200% 和7%(2018 年期刊版)
- 可以将推广到任何关键点关联任务如车辆关键点检测。
概述
- 介绍
- 体系结构
- 置信图
- 零件亲缘关系字段(PAF)
- 多级 CNN
- 使用 PAFs 的多人解析
- 车辆姿态估计
- 履行
- 参考
介绍
人体姿态估计是理解图像和视频中人的核心问题。在单人姿态估计中,通过假设图像只有一个人,问题被简化。多人姿态估计更困难,因为在一幅图像中有多人。多年来,有许多工作致力于解决这个问题。
一种常见的方法是遵循两步框架,该框架使用人体检测器并解决每个人体的姿态估计。这种方法的运行时间往往会随着图像中人数的增加而增加,并使实时性能成为一个挑战。
在本文中,作者提供了一种自底向上的方法,其中通过模型检测身体部位,并使用最终解析来提取姿态估计结果。这种方法可以将运行时间复杂度从图像中的人数中分离出来。
作者也在 OpenPose 库开源他们的作品。这个 OpenPose 系统提供了易于使用的管道,带有命令行接口、Python API、Unity 插件。系统支持NVIDIA GPU(CUDA)、AMD GPU(OpenCL)和纯 CPU。他们甚至提供可移植的可执行二进制文件,可以简单地下载并在 Windows 上使用。
以下是社区分析的一些视频:
体系结构
Overall Pipeline of the OpenPose architecture. (Source)
上图是 OpenPose 的整体流水线。有几个步骤:
- 首先,图像通过基线网络提取特征图。在论文中,作者使用了 VGG-19 模型的前 10 层。
- 然后,用多级 CNN 处理特征图,以生成: 1)一组零件置信度图和 2)一组零件亲和域(PAF)
- 部位置信度图:一组身体部位位置的 2D 置信度图 S 。每个关节位置都有一张地图。
- 零件亲和域(PAF):一组 2D 矢量场 L ,对零件之间的关联程度进行编码。
- 最后,通过贪婪算法处理置信图和部分亲和场,以获得图像中每个人的姿态。
置信图
置信图是一种 2D 表示法,表示特定身体部位可以在任何给定像素中定位的信念。
设 J 为身体部位(关节)的数量。然后,置信图是:
总之,每个地图对应一个关节,并且与输入图像大小相同。
零件亲缘关系字段(PAF)
部位亲和场(PAF) 是对身体部位之间的非结构化成对关系进行编码的一组流场。
每对身体部位都有一个 (PAF) ,即脖子、鼻子、手肘等。
设 CC 为身体部位的对数。然后,**部分关联字段(PAF)**是:
如果一个像素在一个肢体(身体部位)上,该像素的 Lc 中的值是从开始关节到结束关节的 2D 单位向量。
多级 CNN
这是来自 OpenPose 的 2018 journal 版本的多级 CNN 的架构。有如下几个步骤:
- 阶段 1 :从基网络的特征图中计算零件亲和域(PAF)、 L1 、 F 。让ϕ1 成为第一阶段的 CNN。
- 阶段 t 到阶段 Tp :使用特征图 F 和先前的 PAFLt 1改进先前阶段的 PAF 预测。让ϕt 成为舞台上的 CNN
- 在 Tp 迭代之后,从最近更新的 PAF 预测开始,对置信图检测重复该过程。设 ρt 为阶段 t 的 CNN。该过程重复进行 Tc 迭代。
- 最后的 S 和 L 是置信图和零件亲和域(PAF),它们将由贪婪算法进一步处理。
注意:
- 这个多级 CNN 来自 2018 期刊版。在最初的 CVPR 2017 版本中,他们在每个阶段都改进了信心图和零件亲和域(PAF)。因此,它们在每个阶段都需要更多的计算和时间。在新方法中,作者发现新方法在速度和精度上分别提高了 200% 和 7% 。
使用 PAFs 的多人解析
在本节中,我们将向您概述贪婪算法,该算法用于从置信度图和零件相似性字段中解析多人的姿势。
许多其他博客帖子显示了这个问题有多难。然而,没有很多详细的解释这个步骤。
幸运的是,我们发现了一个由 tensorboy 完成的这篇论文的优秀实现,它有详细的文档和简单明了的代码。我们建议您检查一下这个存储库,并亲自尝试一下。
解析过程可以总结为三个步骤:
- 步骤 1 :使用置信图找到所有关节的位置。
- 第 2 步:使用第 1 步中的部件亲和域和关节,找到哪些关节组合在一起形成肢体(身体部位)。
- 第三步 : 关联属于同一个人的肢体,得到最终的人体姿态列表。
步骤 1:使用置信图找到所有关节位置。
输入:
- 置信图:
- 上采样比例:输入图像和置信图的宽/高差异。
输出:
- joints_list :大小为 JJ 的关节位置列表,其中每一项都是峰值列表(x,y,概率)。
- 例如,关节 _ 列表长度为 18,对应 18 个关节位置(鼻子、脖子等)。)并且 joints_list 中的项目是不同长度的列表,其存储每个关节位置的峰值信息(x,y 位置和概率分数)。
流程:
对于从 1 到 J 的每个关节:
- 在置信图中获取相应的接头 2D 热图。
- 通过对 2D 热图进行阈值处理找到峰值。
- 对于每个峰值:
- -在堆中的峰周围取一小块
- -使用上采样标尺放大补丁。
- -在放大的补丁中获得最大峰值位置。
- -将峰信息添加到接头的峰列表中
第 2 步:使用第 1 步中的“部分相似性”字段和关节,找到哪些关节组合在一起形成肢体(身体部分)。
输入:
- 关节 _ 列表:第一步的输出。
- 零件关联性字段(PAF):
- 上采样比例:输入图像和 PAFs 贴图的宽高不同。
- 中间点数:获取 PAFs 值的源关节和目的关节之间的中间点数。
输出:
- connected_limbs :大小为 CC 的连通分支列表,其中每一项都是找到的该类型的所有分支的列表。
- 每个肢体信息包含:源关节的 id、目标关节的 id 和连接程度的分数。
流程:
第三步:关联属于同一个人的肢体,得到最终的人体姿态列表。
输入:
- 关节 _ 列表:来自步骤 1
- 连接 _ 肢体:来自步骤 2
输出:
- 姿势:图像中每个人的姿势列表。每个项目都包含该人的关节位置。
流程:
对于每个肢体类型和该类型的连接肢体中的每个连接:
- 找到与当前连接的任一关节相关联的人
- 如果没有人;用当前连接创建一个新的人
- 如果有 01 人:将当前连接添加到该人
- 如果有 02 人:将这 02 人合并成 01 人。
移除关节很少的人。
车辆姿态估计
在 2018 年的期刊版本中,作者证明了这种方法可以应用于任何关键点标注任务。下图是车辆关键点数据集的结果:
履行
- OpenPose 的最佳实现来自用 C++实现的 OpenPose 库。这个 OpenPose 系统提供了易于使用的管道,带有命令行接口、Python API、Unity 插件。系统支持NVIDIA GPU(CUDA)、AMD GPU(OpenCL)和纯 CPU。他们甚至提供可移植的可执行二进制文件,可以简单地下载并在 Windows 上使用。
- 一个优秀的 PyTorch 实现,由 tensor boy实现,有详细的文档和简单的代码。
- ildoonet 提供了具有多个基础网络的 Tensorflow 实现。
参考
- 【1】曹哲,托马斯·西蒙,施-韦恩,亚塞尔·谢赫,利用部分亲和场的实时多人 2D 姿态估计(2017),CVPR 2017 口述
- 【2】曹哲,托马斯·西蒙,施-韦恩,亚塞尔·谢赫,OpenPose:使用部分亲和场的实时多人 2D 姿态估计(2018),a rXiv
- [3] OpenPose:用于身体、面部、手和脚估计的实时多人关键点检测库
- [4] tensorboy 的实现
- [5] ildoonet 的实现
我的评论
图像分类:【NIPS 2012】AlexNet
图像分割:【CVPR 2019】Pose 2 seg姿态估计:【CVPR 2017】open Pose
姿态跟踪:【CVPR 2019】STAF
[CVPR 2019]利用递归时空亲和场的高效在线多人 2D 姿态跟踪
在单个 GPU 上以 30 fps 的速度实时检测和跟踪多人的 2D 姿势。
Real-time detect and track 2D poses of multiple people at 30 fps on a single GPU. Source
在本帖中,我们将回顾来自 CVPR 2019 的一篇名为**“具有递归时空亲和场的高效在线多人 2D 姿态跟踪”**的新论文。
作者提出了一种在线方法,可以在单个 GPU 上以 30 fps 的速度有效地同时检测和跟踪多人的 2D 姿势。
根据作者的说法,这是**“目前最快和最准确的自下而上方法,它对场景中的人数和摄像机的输入帧率都是运行时不变的和准确性不变的。”**
该文件的一些要点:
- 鲁棒且对输入帧速率不变,即使在 6Hz 输入时也是如此
- 处理快速移动目标和摄像机移动
- 运行时间对帧中的人数不变。
- 提出时空亲和场(STAF) 编码跨帧的关键点之间的连接。
- 提出一种新颖的跨肢体交叉链接的时间拓扑,可以处理移动目标、摄像机运动和运动模糊。
这里是作者的结果。
概述
介绍
整体管道
- VGG 特色
- PAF 和关键点热图
- 时间亲和场
- 推理
交联拓扑
结果
限制
履行
参考
我的评论
介绍
在过去的几年中,人体姿态和跟踪受到了极大的关注。最近推出的 PoseTrack 数据集是一个大规模的视频数据语料库,使得这个问题在计算机视觉社区中得以发展。
关于这个问题还有其他几部作品。然而,这些方法都不能像通常那样实时运行:
- 遵循自上而下的检测和跟踪任务方法,随着人数的增加,需要更多的计算。
- 需要离线计算或帧堆叠,这降低了速度,并且没有获得比匈牙利算法基线更好的跟踪结果。
在本文中,作者的目标是建立一个真正在线和实时的多人 2D 姿态估计器和跟踪器。作者以循环的方式在视频上工作,以使该方法实时。它们通过组合 1)关键点热图 2)零件亲和场和 3)时空亲和场(STAF)来利用来自前一帧的信息。
作者在 2017 年 CVPR 的 OpenPose 中扩展了零件亲和域。这篇论文的作者也是 OpenPose 的作者。请随意查看我们之前在 OpenPose 上的博文。
整体管道
The overall pipeline of the STAF algorithm. Source
上图是时空亲和场(STAF) 算法的整体流水线。视频帧在时间上以循环方式进行处理,包括:
- 提取 VGG 特征。
- 提取零件亲缘关系字段(PAF)
- 提取关键点热图
- 跨帧提取关键点之间的连接作为时间相似性场(TAFs) 。
VGG 特色
VGG features. Source
每一帧由 VGG 骨干网处理,以提取 VGG 特征。这部分不需要以前的帧信息。
对于视频时间 t 处的帧 It ,它们计算如下:
PAF 和关键点热图
Part Affinity Fields (PAFs). Source
Keypoints Heatmaps. Source
PAFs 和关键点热图与开放姿态方法非常相似,除了它们也将使用来自前一帧的信息。
在本文中,有三种计算 PAFs 的方法:
- 使用 5 个先前的帧数据。
- 仅使用 1 个前一帧。
- 同时估计 PAF 和 taf。
在他们的实验中,他们发现:
- 方法 1 产生了好的结果,但是由于递归阶段,它是最慢的。
- 方法 2 提高速度,而性能没有大的损失。
- 方法 3 最难训练,但速度最快。
在这篇博客中,我们只讨论方法 2。其他方法,请查看原论文。
方法 2 在单次通过中计算 PAF 和关键点,如下所示:
时间亲和场
时间亲合场(taf)编码跨帧的关键点之间的连接。
这些 taf 是向量场,指示每个身体关节将从帧 I t1****移动到帧 It 的方向。Andreas Doering 等人在论文中也介绍了 taf。
在下图中,taf 表示为蓝色箭头 RtRt。
Connections between keypoints across frames. Source
Temporal Affinity Fields (TAFs). Source
taf 依赖于来自前一帧和当前帧的 VGG 特征和 PAF 以及来自前一帧的 taf,如下所示:
推理
Inference. Source
推断出的 PAF 和 taf 在推断出完整的姿势并将它们跨帧与唯一的 id 相关联之前,都按照它们的分数进行排序。
以下是步骤:遍历排序列表中的每个 PAF:
- 如果 PAF 的两个关键点都没有指定,初始化一个新姿势
- 01 关键点已分配:添加到现有姿势
- 两个关键点都被赋值:将姿势中 PAF 的分数更新到同一个姿势。
- 两个关键点被分配到不同的姿态:合并两个姿态
- 使用前一帧中最频繁出现的关键点 id为当前帧中的每个姿势分配 id。
以下是原始论文中的详细算法:
Algorithm: Estimation and tracking of keypoints and STAFs. Source
交联拓扑
STAFs 有三种可能的拓扑变体。
Topology variants for STAFs. Source
拓扑 A 是关键点 TAF,并且当关键点具有最小运动或者当新人出现时缺乏关联属性。
拓扑 B 和拓扑 C 是交联分支拓扑。作者证明了交联肢体拓扑可以解决来自拓扑 A 的运动问题。当有最小的运动时, TAFs 就变成了那个肢体的 PAFs 。
Keypoint TAF vs Cross-Linked Limb TAF. Source
在论文实验中,拓扑 C 与拓扑 B 相比表现不佳。
结果
- 该方法即使在帧率下降到 6Hz 时也能达到高精度。
Camera framerate experiments of STAFs. Source
- 该方法具有较高的准确率和较快的推理速度。
Camera framerate experiments of STAFs. Source
- 该方法可以在 PoseTrack 数据集上取得有竞争力的结果。
Camera framerate experiments of STAFs. Source
限制
这项工作有一些限制:
- 本文没有嵌入重新识别模块来处理人离开和重新出现在场景中的情况。
- 这种方法不能处理场景变化。因此,可能需要检测场景变化,并从该帧重新开始该过程。
履行
本文在作者资源库 soulslicer/openpose 开源。
这是来自 OpenPose 库的一个分支。在不久的将来,它们将被合并,你可以直接从 OpenPose 使用它。
参考
- [1] Yaadhav Raaj,Haroon Idrees,Gines Hidalgo,亚塞尔·谢赫,使用递归时空亲和场的高效在线多人 2D 姿态跟踪,CVPR 2019
- 【2】曹哲,托马斯·西蒙,施-韦恩,亚塞尔·谢赫,使用部分亲和场的实时多人 2D 姿态估计(2017),CVPR 2017
- 【3】Andreas Doering,Umar Iqbal,Juergen Gall,联合流:多人跟踪的时间流场,CoRR,abs/1805.04596,2018
- 项目页面:使用递归时空亲和场的高效在线多人 2D 姿态跟踪
- Github 代码:soulslicer/openpose
我的评论
图像分类:【NIPS 2012】AlexNet
图像分割:【CVPR 2019】Pose 2 seg
姿态估计:【CVPR 2017】open Pose
姿态跟踪:【CVPR 2019】STAF
[CVPR 2019] Pose2Seg:无检测人体实例分割
在本帖中,我们将回顾来自 CVPR 2019 的论文**“pose 2 seg:检测自由人体实例分割”**。提出了一种新的人体实例分割方法,该方法基于人体姿态而不是提议区域检测来分离实例。
本文的一些亮点:
- 基于姿态的人体实例分割框架比基于 SOTA 检测的方法能够达到更好的准确性并且能够更好地处理遮挡。
- 一个新的基准**“被遮挡的人(OCHuman)”**,它关注被遮挡的人,带有包括边界框、人姿势和实例遮罩的注释。
概述
- 介绍
- 被遮挡人类基准(OCHuman)
- 体系结构
- 实验
- 履行
- 参考
介绍
人体姿态估计和分割是更好地理解人体活动的重要信息。有很多研究集中在这个主题上。最流行的深度学习方法之一是 Mask R-CNN,它是一个简单而通用的对象实例分割框架。
即使通过像 Mask-RCNN 这样的方法,也可以检测对象并为图像中的每个实例生成分割掩模。这些方法存在一些问题:
- 这些方法首先执行对象检测,然后使用非最大值抑制(NMS) 移除冗余区域,并从检测包围盒中分割出对象。当同一类别的两个对象有较大重叠时,NSM 会将其中一个作为冗余的提议区域,并将其消除。
- “人”是一个特殊的类别,可以基于姿态骨架来定义。目前的方法如 Mask-RCNN 没有利用姿态信息进行分割。
本文提出的方法 Pose2Seg ,是专门为人体实例分割而设计的,具有以下优点:
- 使用自下而上的方法,这种方法基于姿态信息而不是边界框检测。
- 旨在解决每个人类实例被一个或几个其他实例严重遮挡的问题。
被遮挡人类基准(OCHuman)
遮挡人体基准(OCHuman) 本文引入数据集,强调遮挡是研究人员研究的一个挑战性问题,并鼓励算法变得更适用于现实生活情况。
遮挡人体基准(OCHuman) 数据集包含 8110 带有 4731 图像的详细注释人体实例。平均而言,一个人的超过 67%的包围盒区域被一个或几个其他人遮挡。
以下是一些来自 OCHuman 数据集的图片:
Source: OCHuman Dataset
OCHuman 数据集
这是一个比较 COCO 数据集和 OCHuman 数据集的表格。
如你所见,COCO 包含很少的被遮挡的人类案例,当面对被遮挡的人脸时,它不能帮助评估方法的能力。
OCHuman 是为与人类相关的所有三个最重要的任务而设计的:检测、姿势估计和实例分割。
奥乔曼最重要的方面是平均马西欧是 0.67 。这意味着超过 67% 的人的包围盒区域被一个或几个其他人遮挡。这在视频监控或店内人体行为分析等实际应用中是一个非常常见的问题。
体系结构
Pose2Seg 的结构如下图所示:
Source: Pose2Seg project page http://www.liruilong.cn/projects/pose2seg/index.html
该方法的步骤可以描述如下:
- 首先,模型将图像和人体姿态作为输入。人体姿态可以是其他方法的输出,如 OpenPose 或数据集的地面实况。
- 整个图像通过基网络来提取图像的特征。
- 对准模块仿射对准用于将感兴趣区域对准到统一尺寸。可以想象这个模块会从大图中提取多个固定大小的区域。每个固定大小的区域对应于图像中的每个人。然后,仿射对齐区域将执行仿射变换,以将每个姿势与姿势模板之一对齐。
- 仿射对齐的对齐输出将与骨架特征连接,并馈入分割模块以生成分割掩模。
- 骨架特征:简单来说就是零件亲和场(PAF),它是每个骨架的双通道矢量场图。这是 OpenPose 的输出。
- SegModule :是一个 CNN 网络,以 7 x 7 stride-2 conv 层开始,后面是几个标准剩余单元。然后,双线性上采样层用于恢复分辨率,并且1×1 conv 层用于预测遮罩结果。
- 最后,使用来自仿射对齐的仿射变换的逆变换,将每个人的分割掩模组合成一个最终分割掩模。
实验
咬合性能
- Pose2Seg 在 OCHuman 数据集上可以达到比 Mask R-CNN 高近 50%的性能。作者还使用地面实况关键点作为输入进行了测试,准确度提高了一倍多 (GT Kpt) 。
- 关于闭塞情况的一些结果:
一般情况下的性能
- Pose2Seg 在 COCOPersons 数据集上也能达到比其他方法更高的准确率。
履行
这篇论文的官方 PyTorch 代码可以在 https://github.com/liruilong940607/Pose2Seg 找到
参考
- 【1】张,宋海和李,瑞龙和董,辛和松香,保罗 L 和蔡,子希和,韩和杨,丁成和黄,郝智和胡,石世民,Pose2Seg:检测自由人体实例分割(2019),2019
- 【2】曹哲,托马斯·西蒙,施-韦恩,亚塞尔·谢赫,OpenPose:利用局部亲和场的实时多人 2D 姿态估计(2017),CVPR 2017 口述
我的评论
图像分类:【NIPS 2012】AlexNet
图像分割:【CVPR 2019】Pose 2 seg
姿态估计:【CVPR 2017】open Pose
姿态跟踪:【CVPR 2019】STAF
CycleGAN:机器学习如何学习不成对的图像到图像的翻译
我最近读了 CycleGAN 的论文(链接),我发现它非常有趣,因为 CycleGAN 模型具有不可思议的能力,可以准确地将图像变成它们不是的东西(例如,将一匹马的图片变成一匹斑马的图片)。*非常凉爽。*让我们深入了解它的工作原理。
Some of CycleGAN’s applications (left to right): changing a Monet painting to a real-world picture, changing zebras to horses, changing a picture of a location in the summer to a picture of the same location in the winter. All of the applications can be reversed as well. Image credits to Zhu et al., the authors of the CycleGAN paper.
**甘斯。**生成对抗网络 CycleGAN 的基本思想。GANs 有一个特殊的损失函数:对抗性损失。基本上,GAN 由两种不同的机器学习模型组成。首先是发电机。这个模型就是生成图像的模型(顾名思义)。还有鉴别器。其目的是试图区分由生成器提供给它的真实图像和虚假图像。对抗损失是整体 GAN 试图优化的函数。可以把它想象成生成器和鉴别器在争夺哪个是更好的模型。当损失被优化时,发生器(理论上)正在创建鉴别器无法从真实图像中区分的图像。
在我们讲述一些机器学习金融应用之前,我们先来了解一下什么是机器学习。机器…
www.datadriveninvestor.com](https://www.datadriveninvestor.com/2019/02/08/machine-learning-in-finance/)
基本原理是,GAN 能够生成任何事物的假图像,只要它有足够多的该事物的现有示例。我之前使用了一个简单的 GAN 来生成鞋子的图像,你可以在这里找到。
Representation of a GAN that generates an image of a shoe.
**CycleGAN。**cycle GAN 与标准 GAN 的不同之处在于,它不会从随机噪声中生成图像。它使用给定的图像来获得该图像的不同版本;这是图像到图像的转换,允许 CycleGAN 将马变成斑马。然而,图像到图像的翻译并不是 CycleGAN 独有的功能;CycleGAN 是首批允许不成对图像对图像训练的型号之一。这意味着你不需要有一匹马的图片,也不需要知道这匹马作为斑马在数据集中的样子。相反,你可以分别拥有一群马和一群斑马。这在无法获得配对数据的情况下很有用(例如,如果您希望能够从一匹马生成一个斑马版本,那么为了获得配对数据而将每匹马都画成斑马是不合理的)。不成对的图像到图像翻译的特征是非常强大的,并且有许多应用。
The CycleGAN paper’s example of paired vs. unpaired data. Paired data is from changing a pencil sketch of an object to its real life counterpart. Unpaired data consists of images vs. paintings. Image credits to Zhu et al., the authors of the CycleGAN paper.
应用。除了把马变成斑马,还有更多方法可以应用 CycleGAN。这是一个非常通用的型号,如此通用,它还可以用来将一个苹果变成一个橙子!是啊,不是最强的例子,所以这里有一些其他的。
- 根据建筑蓝图生成建筑的真实效果图。
- 创建一个位置在每个不同季节的形象。
- 把画变成真实的图像。
- 根据警方的素描渲染出嫌疑人的真实面部表情。
- 增强照片的各个方面,使它们看起来更专业。
**方便。**光有一堆应用是不够的,还需要非常好用。CycleGAN 的可用性极高,因为它不需要成对的数据。通常很难获得大量精确的配对数据,因此使用高精度非配对数据的能力意味着无法访问复杂(且昂贵)配对数据的人仍然可以进行图像到图像的翻译。对于像我这样的机器学习爱好者来说,这是个好消息!你可以通过 GitHub 上的官方资源库使用 CycleGAN。
我在下面列出了一些你可能感兴趣的其他资源。
CycleGANs 创造计算机生成的艺术
对 CycleGANs 的解释和计算机生成艺术的演示
CycleGANs 是指能够拍摄图像并生成反映某种类型转换的新图像的 g an 的子集。CycleGANs 最酷的部分是你不需要成对的图像。这对于没有成对图像的情况非常有用。例如,如果你想把斑马的图片转换成马的图片。这种数据可能是不可能收集的,除非我猜如果你画斑马和马…有足够的创造力,它们也可以用于创建计算机生成的艺术,实际上看起来很好!
This figure is taken from the original CycleGAN paper.
在这里,我将概述一下 CycleGANs 是如何工作的。这篇文章假设你至少对 GANs 有一些了解。因此,如果你不熟悉 GANs,可以看看我的博客文章“面向初学者的生成对抗网络(GANs):生成分心司机的图像。”
在这篇文章中,我使用了一个示例 CycleGAN,它被训练来将森林的图片转换成森林的抽象画。我用来生成这些图像的代码可以在我的 GitHub 上找到。
数据集
在这里,数据集由森林图像和抽象画组成。我用关键词“森林”和“著名的抽象画”从谷歌图片上刮下了这些图片为此,我使用了 Python 包谷歌图片下载。下面是几个例子。
车型
训练 CycleGAN 时,需要训练四个神经网络:
- 生成抽象画图片的生成器(抽象画 生成器)。
- 生成森林图片的生成器(森林 图像生成器)。
- 能辨别真假抽象画的鉴别器(抽象画鉴别器)。
- 能够辨别森林真假图片的鉴别器(森林图像鉴别器)。
如果你已经熟悉 GANs,你会发现这里真的没有什么新东西。新颖之处在于如何训练这些网络。
模特培训
在进入细节之前,让我对如何训练 CycleGANs 做一个高层次的概述。首先,我们拍摄一个森林图像,使用抽象画生成器创建一个假的抽象画,然后我们拍摄假的抽象画,使用森林图像生成器重新创建原始的森林图像。我们还从另一个方向出发,拍摄一幅抽象画,使用森林图像生成器创建一幅假森林图像,然后拍摄假森林图像,使用抽象画生成器重新创建原始的抽象画。这个关于循环的巧妙想法是 CycleGANs 的新颖贡献,如下图所示。需要注意的是,相同的生成器用于生成假抽象画和抽象画的重建,相同的生成器也用于生成假森林图像和森林图像的重建。
CycleGAN training. This figure is adapted from the original CycleGAN paper.
下面你可以看到我们的 CycleGAN 实际上是什么样子。你可以看到真实的图像,被生成为假的,然后被重建回真实的。你可能会注意到,尤其是在抽象画中,物体的结构不会发生剧烈的变化。这是对 CycleGANs 的常见观察,可能是因为娱乐步骤。对于一个 CycleGAN 来说,彻底改变一个图像,然后又回到它的原始版本可能太过分了。
好了,现在让我们进入细节!在训练模型时,基本上有两个步骤:训练生成器,然后训练鉴别器。
- 训练发电机
就像任何神经网络一样,我们需要计算损耗(在这种情况下是针对发电机),并使用带有反向传播的随机梯度下降(即链式法则)来计算梯度,并根据这些梯度更新权重。但是我们如何计算发电机损耗呢?这种损失实际上由几个不同的部分组成。
首先,我们计算抽象画生成器的 GAN 损耗(在“循环”中我们在下图的黄色阴影部分)。这是通过拍摄一幅真实的森林图像并将其放入抽象画生成器来生成一幅假的抽象画来实现的。假的抽象画然后通过抽象画鉴别器。我们可以认为鉴别器的输出是这幅画是一幅真正的抽象画的概率。然后用二进制交叉熵损失评估鉴频器的输出。这就是 抽象画 甘损 。
GAN loss for abstract painting generator
第二个,我们计算森林影像 发电机的 GAN 损耗(在循环中我们在下图的黄色阴影部分)。这是通过获取一幅真实的抽象画并将其放入森林图像生成器来生成一幅假的森林图像来实现的。然后,假森林图像通过森林图像鉴别器。我们可以认为鉴别器的输出是照片是真实森林图像的概率。然后用二进制交叉熵损失评估鉴频器的输出。这就是 森林形象甘损 。
GAN loss for forest image generator
很好,现在我们有了一幅假的抽象画和一幅假的森林图像。正如上面的高级概述中所解释的,我们现在必须将这些伪图像重建回相应的真实图像。因此,第三个,我们将假的抽象画放入森林图像生成器,生成重建的原始真实森林图像(在下图的黄色阴影部分)。我们对照具有 L1 损失的真实森林图像来评估该重建的森林图像(注意,这里,L1 损失通常乘以某个常数,因此它与其他计算的损失处于相同的规模)。这就是 森林影像周期一致性损失 。
最后,我们将假森林图像放入抽象画生成器,生成重建的抽象画(在下图的黄色阴影部分)。我们对照具有 L1 损失的真实抽象画来评估该重建的抽象画(注意,这里 L1 损失通常乘以某个常数,因此它与其他计算的损失处于相同的规模)。这就是 抽象画 周而复始的损失 。
现在我们差不多可以计算发电机损耗了(是的,所有这些工作都是为了一个数字)。还有一个损失我们需要计算,就是身份映射。计算身份映射损失是因为,如下图所示,该步骤显示为保留原始图像的颜色。首先,我们将真实森林图像放入森林图像生成器,并计算真实森林图像和生成的森林图像的 L1 损耗。这就是 森林影像身份映射损失 (注意,这个损失也是乘以常数)。第二,我们对抽象画做同样的事情,我们通过抽象画生成器来绘制真正的抽象画。这就是 抽象画 的身份映射损失。
Figure 9 from the CycleGAN paper.
我们终于可以计算发电机损耗了,这是所有损耗分量的总和:
生成器损耗 = 抽象画 甘损耗+森林图像甘损耗+森林图像循环一致性损耗+抽象画 循环一致性损耗+森林图像身份映射损耗+抽象画 身份映射损耗
发电机的重量随后根据这一损失进行更新!
2。训练鉴别员
现在我们已经更新了生成器的权重,接下来我们需要训练鉴别器。
首先,我们更新抽象画鉴别器的权重。我们将一幅真实的抽象画通过抽象画鉴别器,并获取该输出,用二进制交叉熵损失对其进行评估。然后,我们取之前生成的伪抽象画,放入抽象画鉴别器,同样用二值交叉熵损失进行评估。然后我们取这两次损失的平均值。这就是 抽象画鉴别器损耗 。抽象绘画鉴别器的权重相对于该损失进行更新。
第二个,我们更新森林图像鉴别器的权重。我们将一幅真实的森林图像通过森林图像鉴别器,并获取该输出,用二进制交叉熵损失对其进行评估。然后,我们把先前生成的假森林图像,把它通过森林图像鉴别器,也评价它与二值交叉熵损失。然后我们取这两次损失的平均值。这就是 **森林图像鉴别器损耗。**森林图像鉴别器的权重根据该损失进行更新。
架构
到目前为止,我已经提到了这些生成器和鉴别器的存在,但我还没有说出这些神经网络的确切架构。当然,这些网络的架构有多种选择,但在这里我将简要提及用于生成森林抽象画的架构。这些架构的细节可以在代码中查看。发生器来自以前用于风格转换和超分辨率的架构(见 Johnson et al. )。网络架构基本上由一堆 ResNet 块组成,它们对网格大小进行下采样,保持网格大小不变,然后对网格大小进行上采样。请参见下图中的架构图。
Generator architecture from Johnson et al.
对于鉴别器,我们使用 PatchGAN,它基本上试图分类图像的每个 N×N 块(这里是 70×70)是真是假。参见代码和这张纸以获得更多补丁的细节。
计算机生成的森林图像
训练一段时间后,让我们看看计算机生成的抽象森林图像是什么样子的!下面是一些例子,但是你可以在我的 GitHub 上查看它们。
不算太差!我为杜克大学的人工智能艺术竞赛创作了这些图像,最终赢得了第一名— 点击此处了解更多信息。
结论
正如你在上面看到的,在这种情况下,由于 CycleGANs,计算机确实可以产生艺术。同样,CycleGANs 真正酷的部分是,在数据集中不需要成对的图像。这是相当惊人的,这是可能的!我会很好奇,看看在其他领域,比如自然语言处理领域,不成对的机器学习是否可能存在(可能这个已经存在了!).
*** 2020 年 1 月 26 日更新* * *:我忘了早些时候发布这个,但这里展示的艺术在杜克大学的一次人工智能艺术竞赛中获得了第一名。查看一篇描述这场比赛的文章!
D-ID 正在改变面部识别走向隐私的道路
当世界其他地方都被自拍、面部拍照和上传照片的热潮所吸引时,三个年轻人看到了监控越来越多的未来,现在他们正在寻求改变这种状况。
DEPOSIT PHOTOS
在过去的十年里,我们目睹了网络照片分享的泛滥。从 Pinterest 到 Instagram,再到 Snapchat,照片分享的兴起使得自拍、公民新闻和即时事件的活动激增。 Brandwatch 的最新统计显示,在 18-24 岁的人群中,超过 75%的人使用 Instagram 和 Snapchat,94%的人使用 Youtube:
- 在 Instagram 上,迄今已有超过 400 亿张照片被分享
- 每天有超过 9500 万张照片被上传到 Instagram 上
- 2017 年第三季度,发送了 35 亿次快照。
基于之前的估计,图像和视频的未来一目了然:
- 据估计,2018 年 84%的通信是视觉的。
- 据估计,2018 年 79%的互联网流量内容是视频。
- 包含图片的帖子的参与度提高了 650%
D-ID Co-founders: Eliran Kuta, Gil Perry, and Sella Blondheim
三个来自以色列的年轻人正在见证图像共享的到来。Gil Perry、Sella Blondheim 和 Eliran Kuta 当时在以色列国防军服役。当全世界都沉浸在自拍、面部拍照和上传照片的热潮中时,吉尔、塞拉和埃利兰却有着截然不同的看法。
我们就是做不到【免费上传照片到网上】。我们有不同的观点。即使在那时,我们也知道政府在用照片技术做什么。图像共享的全球涌入的现实,相机无处不在,谷歌眼镜承诺的兴奋——所有这些与新兴的人脸识别技术相结合,我们看到了未来。这种未来正在今天发生,并且正在走向一条越来越危险的道路。
输入 D-ID ,去标识的简称。Sella Blondheim、首席运营官的首席执行官吉尔·佩里(Gil Perry)和首席技术官埃利兰·库塔(Eliran Kuta)很早就意识到,他们需要对面部识别技术的影响采取一些措施。吉尔的职业是程序员,六年前他进入大学学习计算机科学。到那时,他和塞拉已经在面部识别以及保护照片和存储照片的选项方面做了大量的研究。他们开始构建一个解决方案,让人们可以上传照片,在线使用,但内容将无法识别。当时,没有人——无论是公司还是投资者——知道人脸识别技术。
面部识别技术早在 1960 年就开始了。号称面部识别技术之父的 Woodrow Wilson Bledsoe 创造了第一个半自动面部识别系统,被称为 Rand Tablet 。到 20 世纪 70 年代初,戈尔茨坦、哈默和莱斯克能够通过识别 21 个标记,如头发颜色和嘴唇厚度来提高面部识别的准确性。但直到 20 世纪 90 年代初,美国国防高级研究计划局(DARPA)和国家标准与技术研究所(NIST)才推出了人脸识别技术(FERET)项目,以鼓励在情报、执法和安全方面的具体应用创新。吉尔解释道,
我们知道相机无处不在。在伦敦桥上,人们每天被抓 300 多次。几乎每个人都有智能手机,拍照,到处上传,却没有真正了解风险。因此,当你结合三个因素时:人脸识别越来越准确,到处都是照片和图像的市场,以及来自客户、员工和游客的照片的商业存储——这相当于一场完美风暴。意识到隐私没了。我们已经失去了基本的隐私权。任何人都可以跟踪你,认出你,从而窃取你的身份。
吉尔开发了一个工作原型,并接触了面部识别领域的一位顶级专家,他开发了第一个使用深度学习的算法。通过一系列的接触,他积累了足够的知识来了解政府和企业如何使用当前的技术,吉尔、塞拉和埃利兰决定将他们的解决方案带到这个世界,以恢复隐私或至少阻止这种迫在眉睫的未来发生。
如果没有人知道你是谁,你的孩子是谁,他们去哪里,谁是他们的朋友,他们住在哪里,你将无法走在街上。如果我们什么都不做,这将是我们的未来。
不久,塞拉、吉尔和埃利兰成立了 D-ID 公司。日期是 2017 年 1 月。他们向风投和企业推销,但无人理睬。人们认为他们多疑。他们努力解释他们的研究和经验,但没有说服投资者有市场需求。他们被告知面部识别不起作用。该团队还意识到,市场在很大程度上没有意识到面部识别技术的危险。他们毫不畏惧,继续讲述他们的故事和解决方案。
对我们来说,这是一个完美的时刻。我们的背景给了我们独特的个人痛点,这让我们走上了这条道路。我们相互信任,我们继续发展我们的技术,使它变得更强大。没有人以我们的方式思考,这对我们来说是好事。是什么让我们坚持下去?我们就是知道!
然后监管发生了。2018 年 5 月 25 日,欧洲通用数据保护和法规(GDPR) 发布,这是第一套全球公认的法律,旨在从根本上改变欧洲的数据做法。它的触角伸得很远,开始影响全球的政策和隐私变化。团队知道企业最终会感受到它的愤怒。在 GDPR,面部图像被认为是敏感的个人身份信息(PII)。D-ID 意识到他们将能够填补监管和广泛传播的图像共享现实之间的差距。D-ID 计划成为照片和视频的隐私增强技术。
D-ID 使用先进的图像处理和深度学习技术来重新合成任何给定的照片,使照片在人眼看来相似且足够好,但在面部识别算法看来不同。吉尔解释说这不是同一张照片。它看起来像你,但实际上是不同的。典型的降噪滤波器无助于降低保护。然而,通过应用 GANS 攻击(对抗性噪声注入)等解决方案,用户也可以将照片上传到社交网络,打印照片,拍摄截图——照片仍将受到保护。
它足够强大,可以抵御逆向工程的尝试,逆向工程可能试图通过训练新的分类器来忽略 D-ID 变化,从而克服保护。
Left– an original, unprotected image. Right — a resynthesized image of the same person, now deidentified
从隐私到完全匿名
D-ID 最近开发了另一种产品。他们的匿名产品不是保护照片,而是改变面部,使其与原始照片明显不同。当身份被掩盖时,剩下的是重要的属性,包括年龄、性别、种族、情感等。吉尔解释道,
人脸识别无处不在。当我们购物和与他人联系时,公司试图理解我们的意图和情绪。现实是我们无法阻止侧写的发生。这就是钱的所在。我们的身份在未经我们同意的情况下被使用。然而,如果公司想通过聚合数百万人的数据来改进他们的产品,身份就不应该成为这项研究的一个因素。没必要下到个人层面。
在这个充斥着假货的市场中,假货被用于社交网络上的模仿和约会网站上的恶作剧,更不用说不存在的人的发展,吉尔很清楚 D-ID 的意图是保护人们的隐私。然而,风险在于任何人都有可能利用这项技术来维持这个市场。
我们并不专注于防范深层假货。我们的目标是让我们的技术如此强大,没有人可以重新识别照片。我们专注于保护隐私。在监管的同时,我们的目标是利用我们的技术来保护个人隐私。互联网巨头今天正经历着可怕的隐私问题,因为他们很晚才明白他们的决定的含义。他们需要改变他们的隐私策略,以重新赢得用户的信任。
D-ID 的销售对象是对隐私敏感的组织,这些组织拥有大量来自员工、客户/患者或访客的照片,并且需要遵守 GDPR 等隐私法规。这包括学校、医疗保健、金融机构、政府合规部门、KYC 或物理徽章或许可证识别。
D-ID 也在向 B2B2C 销售:处理数百万消费者图像的公司,包括设备制造商、云提供商/安全提供商和安全提供商。照片可以通过它们的 API 立即得到保护。未来,D-ID 还可以安装在手机上,以保护用户照片。吉尔提到了 Ntech labs 和他们现在已经不存在的应用程序, Findface ,它允许你通过简单的照片搜索来识别一个人。D-ID 试图使这些类型的应用变得无用。正如吉尔所说,这是一个市场信任的问题。
Gil 认为 D-ID 优于当前的竞争对手解决方案。匿名化领域的竞争对手使用像素化来扭曲照片的外观,以至于最终图像无法使用。鹦鹉识别用于确定像素化程度,以某种程度的准确性重新识别原始图像。他坚持认为这些方法不是为了防止人脸识别。
我们认为你不应该隐藏。你不必戴眼镜或帽子来阻止别人认出你。您应该能够在众目睽睽之下自由行走,同时保护您最敏感的信息。
迄今为止,D-ID 已经筹集了 1000 万美元,雇佣了 5 名博士,以及以色列顶尖的深度学习和计算机视觉专家。D-ID 的顾问验证了技术和愿景:
Ann Cavoukian 博士,三任加拿大安大略省信息和隐私专员,设计隐私框架的创建者:
人脸已经成为我们的数字标识符,因此必须受到严格保护。随着越来越多的系统采用面部识别,隐私风险急剧上升。这就是为什么每个处理图像的组织(公司、政府、安全机构)都需要快速行动,实施强大的安全、身份识别和隐私措施。D-ID 的面部识别技术是专门设计的,旨在使人工智能难以克服,并将帮助个人和组织摆脱伤害。
Pitango Capital Venture 执行普通合伙人兼联合创始人 Rami Kalish:
越来越多关于我们每个人的数据正以惊人的速度从各种设备中产生。保护我们的隐私免受面部识别带来的风险,需要果断的监管和强大的技术相结合。D-ID 是技术方面的领导者之一,他们开创性的技术帮助组织确保客户、员工和公民的隐私安全。
组织和个人越来越意识到他们的信息是如何被使用和滥用的。虽然脸书等网站上的用户活动已经减少,但人天生就是群居动物。公司和消费者将继续在线交流,创建、上传、分享和存储图像和视频。D-ID 正着手让他们在这个过程中感到安全和安心。
这篇文章最初出现在福布斯上。
基于数据的日常决策:数据驱动的生活
超连接最迷人的结果之一是,网络用户越来越多地基于数据做出决定,尽管这个过程被如此友好的界面所隐藏,以至于最终变得完全自然。
Photo: Franki Chamaki
我们日常使用的搜索引擎和社交平台的算法以我们的数据为食,并以这样一种方式返回聚合、处理和提炼的数据,即我们不再将它们视为数据。
从纠正我们的语法并从一亿个结果中选择十个结果的搜索引擎,到像变魔术一样出现在我们最喜欢的社交网络的时间轴中的内容,一切都基于帮助我们做出日常决策的数据。
专业门户网站推荐算法推荐的音乐、电影、连续剧和书籍,以及虚拟旅行指南推荐的酒店和餐馆,不仅来自我们的历史和社交图谱,还来自数千或数百万用户的数据情报。
正是大规模收集、汇总和提炼数据的能力,赋予了网络和智能手机给我们带来的“社交”服务永久的价值。
根据这些数据,我们每天都在为我们的生活做出决定,根据《纽约时报》杂志的说法,我们的生活已经成为“数据驱动的生活”。
虽然在企业环境中,谈论管理、决策和数据驱动的营销已经很常见,但我们仍然不太认为个人决策过程也越来越多地受到数据的制约和丰富,即使我们与一位聪明的演讲者“交谈”。
随着物联网扩展到智能手表和身体活动追踪器等日常设备,每个用户的个人指标都进入了海量数据的规模,这些数据的处理和可视化指导着睡眠时间、卡路里消耗、体重控制、心率和步行距离等方面的决策。
围绕我们在社交网络中所有活动的统计数据,有时到了痴迷的极端,也是我们做决定的数据。我们从like那里学到了,什么照片效果最好,用什么滤镜和关键词,什么时候发布…
虽然我们将继续根据经验、推理和情感做出个人决定,但认识到数据(伪装在友好的界面下)已经是技术促使我们与环境联系的方式的一部分是件好事。
如果通过超文本链接学习阅读和写作是生活在网络创造的世界中所需的素养,那么学习阅读、可视化和解释数据将是生活在超互联世界中的必要技能。
Jose Luis Orihuela 是一名教授、演说家和作家,生于阿根廷,现居西班牙。他是纳瓦拉大学(潘普洛纳)通信学院的教员。26 个国家的访问学者和演讲者。作家和博客作者关注互联网对媒体、通信和文化的影响。他的最新著作有:《乳齿象手册》(2023 年)、《数字文化》(2021 年)、《互联网时代》(2015 年)、《推特世界》(2011 年)、《未来的 80 克拉维斯》(2011 年)和《博客革命》(2006 年)。从 2002 年开始在 eCuaderno(eCuaderno . com)发布,从 2007 年开始在 Twitter since)发布,从 2022 年开始在 mastosdon(mastosdon . social/@ jlo ri)发布。
数据科学家的舞蹈课
Within These Walls by Lenora Lee Dance, Photo by Robbie Sweeny
数据科学家和现代舞者有什么共同点?对大多数人来说,鱼和花生酱之间几乎没有区别。一个熟人甚至拒绝相信我是他们昨晚刚刚看到的两个男舞者之一(舞台上有 8 个人,我很难错过)。
对于那些不知道的人来说,我已经练习了 6 年的数据科学,并且在我的整个成年期都是半专业地跳舞。尽管跳舞的门槛对男人来说比较低,但我足够优秀,人们愿意让我在旧金山和纽约的舞台上(#privilege)。
两种文化之间的差异是巨大的,但数据科学家需要体验接触即兴创作(又名接触即兴)。接触即兴表演在这段视频的第一分钟得到了最好的解释,视频中伊泰·亚图瓦和一个两岁的跳舞。这是一种舞蹈形式,专注于意识和探索你的身体与他人和环境的关系。
了解自己局限性的最快方法是和另一个人跳舞
Flat Affect by Ellis Wood, Photo by Edward Casati
我的一位舞蹈导师 Lizz Roman 说,了解自身缺陷的最快方法就是与另一个身体共舞。她认为,当我们拒绝其他人的运动质量时,那是因为即使我们尝试了,我们也不能以同样的方式运动。可悲的是,大多数人非但没有被人体的活动范围所激励,反而变得具有防御性。
你是否曾被某人的做法震惊到完全拒绝他们的工作或意见?对我来说,这种反应在拥有丰富经验和直觉的主题专家和拥有丰富数据挖掘技术的数据科学家之间很常见。人们通常会开拓领域,解决不同的短期问题,而不是试图从两个世界中取长补短。从长远来看,这些方法不仅会导致不一致的产品,还会导致支离破碎的文化。这种冲突不太明显,但在数据科学和软件开发、产品管理甚至设计等其他学科之间也很常见。但是为什么不学着像其他学科一样思考呢?
在接触即兴表演中,我通过预测和模仿我的伙伴的动作来获得他们的信任。这样做的目的是发出信号,即使我的眼睛转向别处,我也可以在半空中支撑它们。类似于数据科学,通过问自己是否能猜到 X 会说什么来获得信任。然后验证他们是否真的同意你的总结。如果你失败了,你只是学会了一种等待被发现的新的思维方式!
请注意,我要求你不要只是倾听,而是积极地采用其他人的解决方案框架。如果你同意上述观点,一个有趣的推论是,我们应该积极地与一群不同的问题解决者合作!你们的差异应该相互激励,而不是使你们分离!
让创造力成为一种惯例
Island City Waterway by Epiphany Dance, Photo by Edgar F Zepeta Gutierrez
在接触即兴表演中,我最大的恐惧之一就是让我的搭档感到无聊。当同样的例行公事重复第三次时,它就有可能变成一场乏味的大炮或热身运动。没人想和只会一招的小马跳舞。
Twyla Tharp 在《创造习惯》一书中拒绝接受创造力不是天赋的观点,并主张创造力更接近于需要训练和维护的肌肉。按照她的建议,我总是试图在每次接触中尝试一些不同的东西来给自己带来惊喜:限制一个肢体,跟随我的伴侣的肘部,反转运动,甚至增加停顿。这些微小的变化会对随后的动作产生蝴蝶效应,从而产生新的想法。
我认为这个教训很好地适用于技术。你的领导层上一次没有要求每个人都具有创新性和颠覆性是什么时候?网飞著名的文化甲板阐明了不断激励你的同伴的需要。在孟山都,他们教导经理们通过想法影响他人,而不是通过权威来领导。对创造力的需求同样重要。可悲的是,创造力不是你能得到的。
我见过数据科学家反复应用他们最喜欢的工具(有人说深度学习吗?)到一个小问题上,然后希望别人发现一个有利可图的策略。我也听到许多人抱怨他们的工作变得重复。在这两种情况下,我认为你遇到了同样的问题,现在是时候积极发现和重新想象,而不是希望这次相同的公式会以某种方式产生不同的结果。但是这些新想法并不是突然亮起来的灯泡。
我建议你每天锻炼一点你的创造力,而不是在需要的时候等待缪斯唱歌。如果您由于数据隐私更改而突然失去了某个功能,您会怎么办?您还能如何验证您的假设?您能如何以不同的方式协作?查看数据的其他方式是什么?
这不是《T4》的《神速 T5》吗?可能是,但是我不需要在快速失败上有创造性。如果你发现自己陷入了一个循环,也许是时候和另一个人跳舞了。
通过纪律获得自由
Rehearsal for Ouroboros by Ariel Osterweis, Photo by Ariel Osterweis
我最喜欢的一句话是玛莎·葛莱姆说的“自由只有通过纪律才能实现”。在画室里,你学会顺从,让自己服从你的工艺的要求,这样你才能最终获得自由。”。
对于你们这些不跳舞的人来说,只要听听芭蕾舞中一个简单的动作背后有多少细节就行了。这看起来像一个简单的“膝盖弯曲”,但实际上是每一次跳跃、抬起和重心转移的开始和结束。对我来说,这强调了不断回顾你的手艺的基础和根本的必要性。
数据科学的基础是什么?对我来说,这是重新审视我的指标和假设,了解每个项目的总体与当前样本,在我所做的一切中建立一个反馈系统,在查看数据之前宣布我的预期,了解数据管道,查看我的模型的残差,以及重新阐述公司的数据科学愿景等。
然而,我经常看到数据科学家在很好地理解公司战略、用户甚至数据之前,就专注于学习流行的技术(如生成性对抗网络)。你认识一些人吗,他们想装配模型而不问它如何装配到产品中?你的科技债务削弱了你的创新能力吗?对我来说,你的自由受到了限制,因为你在过去的某个地方忘记了基本的东西。幸运的是,与舞蹈不同,数据科学中的错误很少会过早地终止你的职业生涯。在太晚之前回到演播室。
勇敢一点
在接触式即兴表演中,你需要勇气走进一个满是汗流浃背的陌生人的房间,你需要勇气去信任其他搬家工人,当你感到不安全时,你需要勇气说不。
当我告诉我的舞蹈朋友们我发现编舞是一种可怕的经历时,他们都很震惊。观众是一个高度异质和固执己见的群体,他们要么喜欢你的作品,要么不喜欢。没有空间像数据科学那样捍卫你的工作,在那里你可以(通常)理性地分解一个问题。跳舞,尤其是关于个人话题的,可能是一种非常脆弱的经历。
类似地,数据科学家需要推销他们的想法,挑战他们的同行,并在糟糕的项目变成技术债务之前终止它们。有了数据,我们通常是能够清楚地说出在 5%的产品发布后终止产品的原因的团队。在其他情况下,我们应该在推动特性开发之前,要求我们的同行有可度量的目标(而不是事后寻找度量)。在个人层面上,给人们完全坦诚的反馈。这些看起来像是吃力不讨好的任务,但这是工作的一部分,对士气和表现有着长期的影响。
我的建议和创造力一样,是经常练习。在完美之前进行演示,在大型团队会议上提问,要求参加未被邀请的会议,在午餐时提出想法,或者为安静的同事说话。
然而,一个警告是要知道你的勇敢行为会被如何看待。男人或女人、经理或个人贡献者说的同样的话可能会有很大的不同。理解这种感觉是成为有效沟通者的关键。我看到了非常勇敢和有才华的同事的职业生涯是如何被破坏的。如果您是经理,请确保在建议您的报告遵循您的路径之前仔细检查您的权限。
谢谢
感谢你读到这里,这是我的第一篇媒体文章,非常感谢你的反馈!
ML 中的危险反馈循环
机器学习模型如何改变社会行为
Trefoil Knot, is an impossible knot with no known origin
昨天,一位刚刚加入我团队的数据科学家问了我一个问题。他的问题与我们公司的一个非常具体的问题有关,但答案的含义远不止于此。他问道:
生产中的当前模型决定了我们是否会根据一组给定的功能给销售线索回电。如果之前的模型确定某些特征表明我们不应该给销售线索打电话,那么这些特征现在与结果高度相关,因为我们只给那些销售线索回电。如果我想开发一个新的模型,这些特征会不会成为泄露的数据?
换句话说:如果我们用一组给定的特征训练一个模型,并且我们展示基于这些特征的行为,那么这些特征现在与结果相关,并且所有后续的模型将继续使用它们。
这里有一个简单的例子来说明这是如何工作的:
管道:
- 给定一组输入要素,返回销售线索转换的概率。
- 考虑到潜在客户转化的可能性,给客户回电。
- 如果我们有大量的销售线索,但只有少量的回电,我们该如何优化呢?
假设我们的模型有来自脸书、谷歌和必应的线索。如果我们的第一个模型决定来自这些给定来源的转换概率为 3%、5%和 1%,并且我们可以进行有限数量的回调,我们将只回调 5%的概率。现在快进两个月。第二个模型发现这些概率现在是:0.5%,8.5%,和 0%。发生了什么事?
因为我们开始只给谷歌潜在客户回电,我们增加了转化这些潜在客户的机会,同样,因为我们不再给脸书和必应潜在客户回电,这些潜在客户从未转化过,因为我们从未给它们打过电话。这是一个真实世界反馈循环的例子。
这种反馈循环对一家公司来说很危险,但对一个社会来说可能更危险。
在上面的例子中,反馈循环意味着我们因为历史转换率而放弃了脸书和必应的领先优势。这些潜在利率可能会改变,这意味着这些线索实际上可能会及时变得更好(例如,如果脸书在引导线索到正确的地方方面做得更好)。因为我们有一个强系数的模型,把权重往下拉,我们可能永远不会调用这些线索,即使给出一个变化,我们也会对它们有偏见。
在这种情况下,该模型不再基于来自源头的销售线索转化的实际潜在分布,而是基于来自源头的销售线索转化的行为结果(即召回来源)。
从更广泛的角度理解这一含义
这个反馈循环的著名案例是累犯模型。如果我们训练一个模型,根据一些特征(包括位置、性别、家庭成员入狱的概率和所犯罪行)预测一名囚犯最终是否会回到监狱,我们可能会发现我们的模型对某个种族和性别特别有偏见。这是为什么呢?
如果巴尔的摩的黑人男性更有可能因为肤色和性别而入狱,那么这个模型就会发现这一点。但是为什么他们更容易进监狱呢?是因为他们犯罪的潜在分布高于西雅图的白人女性,还是因为历史上(和目前)司法系统对这个群体更有偏见,并以更高的比率对他们采取行动?
对于大多数读者来说,这可能不会特别深刻,不是因为你不关心正义,而是因为你可能不会控制累犯模型。我要强调的另一个例子是雇佣模特。
假设我们在招聘模型中加入了性别因素。这里的招聘模型是预测一个雇员是否是公司的成功候选人的模型。假设我们正在为谷歌的软件开发人员建立一个招聘模型。我们发现绝大多数“成功”的软件开发人员恰好是男性。那么给定 1k 个候选人,难道不应该只挑男候选人吗?
这种模式可能会因为几个原因而有所偏差,例如,“成功”是由一些固有的更以男性为中心的指标选择的,女性在男性主导的世界中更难“成功”,或者许多其他原因。尽管如此,公司可以根据这种性别划分采取行动,并进一步创造这种划分。
也许今天,大多数公司都意识到了种族和性别不平等,并积极反对它。但也许隐藏在几层深处,它在银行贷款模型、保险价格模型和其他支配我们世界的模型中被遗漏了。
数据科学黑客马拉松的黑暗面
我在前面的三部曲部分中描述了参加黑客马拉松的几个理由。学习和赢得有价值的奖项的动机吸引了几乎所有的人,但由于组织者或赞助公司的错误,活动经常失败,参与者不满意地离开。我提供目前的职位,以避免这种不愉快的事件频繁发生。第二个三部曲部分致力于组织者的错误。
目前的帖子是这样组织的:从最开始,我谈论事件,解释哪里出错了,结果是什么(或者长期可能的结果)。然后,我会提供自己对发生的事情的评估,以及如果我是活动组织者,我会采取的行动方式。我可以假设真正的组织者的动机,因为我是所有活动的参与者。所以,我的评价可以是片面的。有些观点可能看起来是错误的,但事实上,我们就是这样想的。
在读者看来,作者似乎决定在一场战斗后挥舞拳头。但那是假的。我设法在列出的某些黑客马拉松中赢得了一个奖项,然而,这并不妨碍我得出这个活动组织得很差的结论。
出于对组织者和参与者的尊重,帖子中不会指定任何特定的公司。然而,细心的读者可能会猜测(或谷歌)他指的是谁。
黑客马拉松#1。限制
数据分析黑客马拉松是由一家大型电信公司半年前在莫斯科举办的。二十个队奋力争取第一名。该事件提供了一个用于分析的数据集,其中包含对公司支持服务的呼叫数据、社交媒体活动以及编码用户的数据(性别、年龄等)。).最令人感兴趣的数据集部分,即用户的消息和操作员的响应(文本数据),相当嘈杂,因此需要清理才能继续操作。
组织者设定了以下任务:用提供的数据创造一些有趣的东西。禁止使用来自网络的额外开放数据集或自行解析数据。此外,禁止提供与数据集无关的想法。事实上,提供的数据很差,因为很难将它们转化为有趣的产品。很明显,公司已经实施了(或将尽快实施)许多之前提出的想法。
结果,绝大多数团队(20 个中有 15 个)创建了聊天机器人。其中一个团队在发言中提供的决定与之前的略有不同。然后其中一个评委问下一组:好的,伙计们,你们也有聊天机器人吗?。因此,那些没有创建聊天机器人的团队获得了三个可用聊天机器人的第一名和第二名。
好吧,伙计们,你们也有聊天机器人吗?
让我们比较一下两年前由一家国际咨询公司为 Qwerty123 公司组织的黑客马拉松。组织者谈到了 Qwerty123 公司使用的指标,因为大多数黑客马拉松参与者在活动开始前并不知道 Qwerty123 公司的活动细节。然后提供了六个不同方向的数据集,包括文本、表格、地理位置——所有参与者都有回旋的余地。组织者并不禁止额外的数据集使用,但也支持这样的倡议。十个有不同决定的团队在比赛的决赛中争夺主要奖项,所有团队都使用了公司提供的数据(尽管没有禁令),这些数据表明获得高质量产品的良好潜力。
道德
避免限制创造性参与者的流动。作为组织者,你必须提供材料,并信任他们的远见和专业精神。如果你是黑客马拉松的成员,所有的限制或禁令都应该提醒你。通常,这是一个坏的组织证据。做好准备,如果仍然满足限制,你必须在一个大的竞争水平池中创建一个项目。因此,你必须负责任,这意味着在这样的事件中承担风险:要么创造一些全新的东西,要么提供一个不同寻常的杀人功能,以便与类似项目的流有很大的不同。
避免限制创造性参与者的流动。作为组织者,你必须提供材料,并信任他们的远见和专业精神。
黑客马拉松#2。不可能的任务
Amadora 的黑客马拉松一定会很有趣。主要的电话制造商赞助公司在活动日期前 4 个月开始筹备黑客马拉松。公关活动发生在社交网络上,意味着潜在参与者要成功完成一项技术测试,并写下他们过去的项目,才能被选中参加当前的活动。奖金池足够大。在黑客马拉松前几天,导师们举行了一次技术会议,为参与者提供足够的时间来感受行业细节。
组织者在活动中提供了一个巨大的日志数据集(总大小约为 8 GB ),任务是对设备故障进行二进制分类。他们讲述了项目的评估标准,即分类质量、特色创造、创造力、团队合作能力等。但这只是运气不好——在训练中只有 20 个例子,在 8 GB 功能的测试中有 5 个。最后,数据集包含一个漏洞:周三收到的设备日志包含设备操作错误,而周四创建的那些日志不包含错误(顺便说一下,只有两个俄罗斯团队知道,因为这个国家被认为是经验丰富的“数据矿工”的家园)。尽管有真实的测试标签知识可用,但该任务是不可能解决的。组织者未能达到他们努力争取的结果。因此,参与者花了很多时间来解决一个糟糕的任务。所以,现在的黑客马拉松失败了。
最后,数据集包含一个漏洞:周三收到的设备日志包含设备操作错误,而周四创建的日志不包含错误
道德
确保提供任务的技术专业知识,并检查您的任务是否充分。为了避免这种情况,最好为初步检查支付过高的费用(在这种情况下,任何数据科学家都会立即确认不可能解决当前问题)。
为了避免失败的黑客马拉松,最好是为初试多付钱
在这种情况下,除了花费的时间和金钱,公司还失去了潜在候选人的信誉。顺便说一下,参与者和公司都应该告知成功的黑客马拉松结果,这意味着尽可能多地宣传黑客马拉松。不幸的是,许多公司没有做到这一点,并通过在 Twitter 上发布公告和几张活动图片来限制自己。
黑客马拉松#3。要就要
最近,我们的团队参加了在阿姆斯特丹举行的黑客马拉松。能源学科特别适合我们,因为我有能源工程硕士学位(专业是可再生能源)。黑客马拉松在网上举行。我们被提供了任务描述以及一个月的时间来完成。组织者的愿望是得到一个完整的项目,这将有助于提高阿姆斯特丹房屋的能源效率。
我们设法创建了一个应用程序,提供电力消耗预测(我之前参加了一个关于当前主题的竞赛,在那里我收到了与 SOTA 解决方案相近的)以及太阳能电池板发电。然后根据预测优化电池性能(目前的想法部分取自我的硕士文凭)。我们的项目完全符合组织者的任务(在我们看来是这样)和阿姆斯特丹政府在未来几年可再生能源领域的政策。
在项目评估期间,我们的团队和其他团队被告知这与客户的期望相矛盾。因此,我们被告知,为了有机会获奖,我们必须改变产品。但并没有改变它,而是屈服于失败。队伍总数是 40 个,但是我们甚至没能进入前 7 名,尽管组织者的选择看起来很奇怪。他们选择了基于智能手机传感器数据开发风速和太阳辐照度计算应用程序的团队:一个用于风的麦克风和一个用于太阳辐照度的光传感器。最大的特点是将热狗/不热狗分为三类,即太阳、风、水和相应的维基百科文章(演示)。
让我们暂时把道德问题放在一边:用胜利的机会来要挟参与者是不道德的。由于黑客马拉松的参与动机之一是(特别是对于有经验的开发人员来说)自己的想法的实现,所以很多强有力的参与者可能会在听到这样的反馈后离开活动(这种情况发生在我们的团队和其他在听取导师的意见后停止项目页面更新的团队身上)。然而,让我们假设我们同意了组织者的愿望,并设法根据他们的要求改变了我们的项目。接下来会发生什么?
用胜利的机会勒索参与者是不道德的
所有的组织者都有自己的理想项目理念,因此所有的愿望(和变化)都会导致当前的理想。参赛者将花费他们的时间,他们将更难拒绝进一步的参与(因为已经做出了一定的努力,似乎胜利是如此之多)。但事实是,奖项的竞争将会增加,因此参与者将越来越多地根据组织者的编辑来改变项目,同时希望获得奖项。所以,那些没有获奖的人,回头看会意识到他们没有拿到钱就参加了自由职业,因为他们根据客户的意愿做出了改变,但没有得到任何回报(当然,除了相关的经验)。
所以,那些没有获奖的人,回头看会意识到他们没有拿到钱就参加了自由职业,因为他们根据客户的意愿做出了改变,但没有得到任何回报(当然,除了相关的经验)。
道德
通常组织者的愿望和反馈都有助于项目。然而,在这种情况下,参与者不应该依赖导师的建议。得到组织者的负面反馈意味着你的参与完成。因为黑客马拉松不是自由职业者(尤其是没钱的时候)。
得到组织者的负面反馈意味着你的参与完成。因为黑客马拉松不是自由职业者(尤其是没钱的时候)。
如果组织一个有明确项目愿景的黑客马拉松,但没有技能或能力自己实现它,那么最好以自由职业者的规范形式形成您的愿景。否则,你将不得不为黑客马拉松和自由职业者的服务支付两倍的费用。
仪表板设计:关键绩效指标和度量标准
如何为您的仪表板选择正确的数据
设计有效的仪表板最重要的方面是确保您选择了正确的指标和 KPI 来显示。不管一个视觉设计有多棒或多聪明,如果它不能展示与受众相关的有意义的见解和数据,它最终只会是一个没人看的漂亮展示。
本文将向您展示一些行之有效的技术,这些技术将帮助您为管理层和运营层收集和定义适当的性能指标。虽然这里讨论的技术集中在仪表板设计上,但是这些相同的原则可以用于许多不同的商业智能需求收集工作。
随着各种软件产品中仪表板工具和显示的流行,人们对仪表板、指标和关键绩效指标(KPI)的组成有了不同的理解。为了确保我们说的是同一种语言,我将定义一组术语,它们将构成我们设计讨论的基础。
衡量标准和关键绩效指标
度量和 KPI 是许多仪表板可视化的构建块;因为它们是提醒用户相对于他们的目标他们在哪里的最有效的手段。下面的定义构成了仪表板信息设计的基本构件,它们建立在自身的基础上,因此在继续下一个定义之前,充分理解每个定义和所讨论的概念非常重要。
Measure:Measure 是数字上可量化的数据。销售额、利润、留存率,都是具体衡量标准的例子。
维度:维度表示给定度量的不同方面。例如,时间经常被用作分析不同度量的维度。其他一些常见的维度有地区、产品、部门、细分市场等。
**层次:**维度可以进一步分解为层次。例如 时间 维度也可以形成层次结构,例如年>季>月>日。
粒度:层次结构中的每一层都被称为维度的粒度。例如,如果您正在查看一个地理维度,那么各个颗粒(级别)可能是区域>国家>州/省>城市>邮政编码 e
**公制:**公制是我们经常在仪表板中显示的数据类型,是一种度量,它表示与一个或多个特定的尺寸和相关的颗粒相关的一段数据。
每周总销售额是一个指标的例子。在这种情况下,度量将是美元(总销售额),而维度将是时间以及相关联的谷物(周。)
查看一个以上维度的度量,如按地域 和 时间划分的总销售额,称为多维分析。设计用于多维分析的仪表板会显著增加仪表板设计和用户体验的复杂性,因为我们使用二维表面(设备屏幕)来表示多维度。虽然有有效的布局和交互模式来处理这种类型的分析,但在设计阶段之前注意这一点很重要,因为这些类型的设计需要更复杂的方法。
关键绩效指标(KPI):KPI 就是一个与目标相关的指标。通常,KPI 表示某个指标高于或低于预定阈值的程度。KPI 通常显示为实际与目标的比率,旨在让业务用户立即知道他们是在计划之内还是之外,而最终用户不必有意识地关注所表示的指标。
例如,我们可能会决定,为了达到季度销售目标,我们需要每周销售 10,000 美元的小部件。衡量标准是每周小部件销售额,目标是10,000 美元。如果我们使用百分比量表可视化来表示这个 KPI,并且到周三为止我们已经销售了 8000 美元的小部件,用户将立即看到他们已经完成了目标的 80%。
为 KPI 选择目标时,您需要记住,对于您想要在指标中查看的每个颗粒,都必须有一个目标。要有一个按日、周、月显示总销售额 KPI 的仪表板,您需要确定每种相关谷物的目标。
记分卡、仪表板和报表
记分卡、仪表板和报告之间的差别是细微的区别之一。这些工具中的每一个都可以结合其他工具的元素,但是在一个高层次上,它们都针对业务决策过程的不同和独立的级别。
记分卡:从业务决策谱的最高、最具战略性的层面开始,我们有记分卡。记分卡主要用于帮助运营执行与业务战略保持一致。记分卡的目标是通过监控现实世界的执行情况并将执行结果映射回特定的战略,使企业专注于共同的战略计划。记分卡中使用的主要衡量标准是关键绩效指标。这些关键绩效指标通常是衡量组织执行战略目标的能力的几个度量标准或其他 KPI 的组合。记分卡 KPI 的一个例子是一个名为“盈利销售增长”的指标,它将几个加权指标(如新客户获得量、销售量和总盈利能力)组合成一个最终得分。
**仪表板:**仪表板在业务决策过程中比记分卡低一级;因为它较少关注战略目标,而更多地与具体的运营目标联系在一起。运营目标可以直接促成一个或多个更高级别的战略目标。在仪表板中,运营目标本身的执行成为焦点,而不是更高层次的策略。仪表板的目的是以一种既直观又有见地的方式向用户提供可操作的业务信息。仪表板主要以指标和 KPI 的形式利用运营数据。
**报告:**商业中最流行的商业智能工具可能是传统的报告。报表本质上可以是非常简单和静态的,例如给定时间段的销售交易列表,也可以是更复杂的跨选项卡报表,包括嵌套分组、滚动汇总和动态钻取或链接。当用户需要以易于阅读的格式查看原始数据时,最好使用报告。当与记分卡和仪表板结合使用时,报告提供了一种巨大的方式,允许用户分析其度量和关键绩效指标背后的特定数据。
收集仪表板的 KPI 和指标要求:
传统的 BI 项目通常使用自下而上的方法来确定需求,重点是数据领域和数据中存在的关系。在为您的仪表板项目收集指标和 KPI 时,您将希望采用自上而下的方法。自顶向下的方法从需要首先做出的业务目标和决策开始,然后向下处理支持这些决策所需的数据。
为了采用自上而下的方法,您必须让将利用这些仪表板的实际业务用户参与进来,因为只有这些人能够确定特定业务数据与其决策过程的相关性。
当采访业务用户或利益相关者时,目标是发现引导用户做出特定决策或行动的指标和 KPI。有时用户会非常详细地了解哪些数据对他们很重要,有时他们只会有一个高层次的目标集。通过遵循下面概述的实践,您将能够将用户提供给您的信息提取到您的仪表板的一组特定的 KPI 和指标中。
采访商业用户:
在我们与客户直接合作并收集各种行业中执行和运营仪表板项目的需求的经验中,我们发现面试过程围绕着两个简单的问题:“您需要回答哪些业务问题,一旦您有了这些答案,您将采取什么行动或做出什么决定?”
问题 1:“你需要回答哪些商业问题?”
这里的目的是帮助业务用户定义他们的需求,使我们能够获得他们问题背后的数据。例如,销售副总裁可能会问:*“哪些销售人员是我的首席制片人?”或“我们这个月的目标实现了吗?”*在“哪些销售人员是我的首席制作人”这个问题上然后,我们可能会问副总裁几个问题,问她“这个衡量标准是基于总销售额吗?您想每天、每周还是每月查看一次?”
我们希望确定构成 KPI 或指标的具体数据组件。因此,我们需要花足够的时间与用户讨论这个问题,直到我们清楚地理解将要表示的度量、维度、粒度和目标(在 KPI 的情况下)。
问题 2:“根据对问题 1 的回答,这会引发哪些其他问题,或者你会采取什么行动?”
一旦我们理解了回答用户问题所需的指标或 KPI,我们就需要找出用户是否想要基于该答案执行进一步的分析,或者他们是否能够采取行动或做出决策。目标是让用户不断分解问题,直到他们有足够的信息来采取行动或做出决定。这个深入问题的过程类似于剥洋葱的皮;我们希望继续深入,直到我们到达核心,在这种情况下是用户做出决定或采取行动的能力。
作为这一由两部分组成的迭代问题流程的结果,我们将快速筛选出对用户决策过程真正关键的指标和 KPI,这些指标和 KPI 可能只是感兴趣的。这种方法与我所说的仪表板开发的“厨房水槽方法”相反,在这种方法中,产品和/或工程团队设计一个仪表板,其中包含所有可用的数据和复杂的小部件,允许用户搜索、过滤和/或钻取他们需要的数据。
在仪表板设计中采用厨房水槽的方法,往往会让你的用户不知所措,有太多的选择和认知负荷,导致仪表板无法使用。相反,提供紧密针对用户需要查看和做出决策以改善业务状况的数据将会产生一个高效且广泛使用的仪表板。
将所有这些放在一起 KPI 轮
为了帮助这个需求面试过程,我创建了一个简单的工具,叫做 KPI Wheel。面试过程很少是结构化的线性对话,更多时候是思想和问题的有机自由交流。KPI 轮允许我们与最终用户进行自然流畅的对话,同时让我们专注于收集具体需求的目标。
我建议把下面的图片打印在几张纸上,放在方便用户访问的地方,你可以直接在滚轮上写笔记。
You can right click on image and open in new browser window to print.
KPI Wheel 是一种工具,可用于收集定义和可视化指标或 KPI 所需的所有特定信息。我们将使用该工具收集以下信息:
- 我们试图帮助用户回答的业务问题。
- 这个问题适用于哪些业务用户。
- 为什么这个问题对业务目标很重要。
- 数据驻留在哪里来回答这个问题。
- 此指标或 KPI 还会引发什么问题。
- 利用这些信息可以采取什么行动或决策
从任何地方开始,但去任何地方
KPI 轮被设计成圆形,因为它体现了一个概念,即你可以从任何地方开始,但可以去任何地方,从而涵盖所有相关领域。在面试过程中,你需要参考转盘,以确保在讨论时,你已经填写了每个区域。随着谈话的进行,你可以在适当的部分简单地记下笔记,如果有些地方没有回答,你可以确保跟进更多的问题。这种方法背后的美妙之处在于,用户可以从非常高的层次开始“我想知道销售情况如何”,或者从非常低的层次开始“我需要看到按地区、时间和毛利润分类的产品销售情况。”在这两种情况下,您都可以从用户感觉舒适的任何点开始,然后在轮子周围移动,填充所需的细节。
问题 1:什么问题?
轮盘的这个区域指的是基本的“你需要回答什么业务问题?”我们通常可以从这个问题开始访谈,或者当用户开始考虑一个特定的指标时,我们可以通过问他们“这个指标能为你回答什么业务问题?”轮盘的这一部分决定了整个指标或 KPI 的整体背景和相关性。
问题 2:谁在问?
对于给定的指标,我们想知道谁将使用这些信息来制定决策和采取行动。了解组织内可能查看此指标的各种用户非常重要。我们可以记下具体的个人,也可以只是指一个有类似业务需求的普通人群。
问题 3:为什么它很重要?
因为真正有效的仪表板可以成为每天都在使用的工具,所以我们希望验证所显示的每个指标和 KPI 的重要性。在这个需求收集过程中,我们经常会收集一长串潜在的度量和 KPI,在某些时候,用户将不得不选择哪些数据对他们来说是真正最重要的。我建议使用 1-10 分,并说明该指标的重要性,这样当您开始制作仪表板原型时,您就可以了解该指标的重要性。
问题 4:数据来源
对于给定的指标或 KPI,我们还想确定支持数据将来自哪里。有时,为了计算一个或多个维度的指标,我们需要从几个不同的来源汇总数据。在“毛利润最高的销售产品”的情况下,我们可能需要从 CRM 系统和 ERP 系统中提取数据。在这个阶段,简单地指出保存数据的业务系统就足够了;此时没有必要深入实际的表/字段名描述。
上半部分:测量、尺寸和目标
我们希望确保已经捕获了创建度量或 KPI 的三个主要属性,并让用户验证任何给定维度的粒度。如果我们无法确定指标的度量和维度,和/或 KPI 的目标,那么在设计仪表板时,我们将无法收集和可视化这些数据。
下半部分:提出的问题
在 KPI 轮的这一部分,我们希望列出在我们回答了主要问题后可能会提出的任何其他问题。该列表可以作为创建后续 KPI 轮的基础,这些 KPI 轮用于定义进一步的指标和 KPI。
下半部分:要采取的行动
对于任何给定的指标或 KPI,我们希望了解根据度量的状态可以做出什么类型的决策或采取什么类型的行动。通过填写此部分,我们还能够帮助验证指标的重要性,并将“必须拥有”的 KPI 与“最好拥有”的 KPI 区分开来。
轮子产生其他轮子
在填写 KPI 轮的过程中,通常会产生对多个 KPI 和指标的需求。这是首先进行初始分析的目的之一;让用户的所有需求浮出水面。当你在收集需求的过程中,你会发现没有正确的方法可以得到你的答案,问题会引出其他的问题,你最终会绕回来,以一种新的方式覆盖已经讨论过的领域。重要的是要有耐心,保持开放的心态,因为这是一个发现的过程。目标是具体了解如何通过使用良好的度量和 KPI 来增强用户的能力。
当您开始收集大量 KPI 轮时,您将开始看到您收集的 KPI 之间的关系。当您觉得您已经达到了一个饱和点,而您和用户都想不出任何更有意义的度量方法时,您将会想要在相互关联的上下文中检查所有 KPI 轮子。汇总 KPI 并创建逻辑分组和层次结构是一个很好的做法,这样您就可以清楚地了解各种指标之间存在的关系。一旦完成这些步骤,您将有一个坚实的基础来开始您的仪表板可视化和设计过程。
关于收集需求和业务用户的一句话
花费必要的时间进行正式的需求收集过程通常不被业务用户所理解,尤其是高级管理人员。这个过程有时会被视为许多不必要的繁忙工作,会打断用户已经忙碌的一天。重要的是要记住,你现在所做的关于什么数据是相关的,什么数据是不相关的决定必须在某个时候做出,唯一能够做出这个决定的人是用户自己。问题是,你是现在就花时间做出这些根本性的决定,而你只是在思考问题,还是以后在你煞费苦心地设计仪表板并围绕它们构建复杂的数据集成服务之后。
和所有的软件开发项目一样,当您经历开发周期的每个阶段时,变更的成本呈指数增长。一个很好的类比是用于房屋建筑的类比。当一面墙是图纸上的一条线时,移动它的成本是多少,而在墙上挂了一幅画后移动它的成本是多少?
把一切都包起来
虽然本文触及了一些可以用于收集仪表板项目需求的基本构建块,但它绝不是一个全面的方法。每个商业智能架构师在创建新的解决方案时都有一套最佳实践和设计模式。我希望我在这里提到的一些过程可以被修改,并用于补充各种利用仪表板技术的解决方案的当前最佳实践。
如果您喜欢这篇文章,并想了解如何应用这些原则来构建数据可视化,以帮助您的产品在市场上获得更多的销量、客户参与度和吸引力,只需 点击此处 。
原载于 2019 年 7 月 22 日http://www.brightpointinc.com。
苏格兰的数据行动主义和争取社会公正
我坐在爱丁堡的一间警察审讯室里。那天早上,我打电话给 101,举报大学校园里的跨性别涂鸦,此事迅速升级。下午三点左右,我和一名警官在手机上浏览照片,并签署了一份证人声明。
几个月后,我正式投诉一所大学违反了其平等、多样性和包容性(EDI)政策。一遍又一遍地阅读官方文件,以准确定位该机构的行动偏离了他们所宣称的政策。
我参与这些进程,意识到它们不太可能带来有意义的变化。我打给 101 的电话不会引发一队官员煞费苦心地审查闭路电视录像以确定罪犯,我的单一投诉也不会改变大学对事件和发言者的态度。然而,作为一个定期收集和分析 EDI 数据的人,有必要接触这些机构系统,并记录一些错误。
当人们讨论 EDI 数据时,话题往往集中在头条统计数据上,比如 T2 男女雇员之间的平均薪酬差距或者 T4 大学里白人和黑人学生之间的成就差距。尽管这些统计数据非常重要,并正确地揭示了这些不平等,但它们只代表了与 EDI 相关的潜在数据的一小部分。
作为一个定期收集和分析 EDI 数据的人,有必要接触这些机构系统,并记录一些错误。
爱丁堡希望将自己定位为欧洲的数据之都。然而,我们仍然对这座城市或整个苏格兰的多样性知之甚少。例如,使用 2011 年人口普查数据,我们知道 4.0%的苏格兰人来自非白人少数民族。这一数字在格拉斯哥(12.0%)、爱丁堡(8.0%)和阿伯丁(8.0%)较高。我们还知道,在苏格兰,30.0%的女性和 26.0%的男性披露了长期的限制性精神或身体健康状况或残疾。然而,分析族裔、性别和残疾等身份交叉的努力仍处于初级阶段。如果没有这些重要信息,可能会有许多我们尚不知道的与不平等和歧视相关的细微差别。
虽然对与性/性别、种族和族裔、年龄和残疾有关的数据的交叉分析不完整,但与一些身份群体的现有数据相比,这些特征的数据质量仍然遥遥领先。
例如,苏格兰 2021 年的人口普查将是第一次全国范围内对人们的性取向和跨性别身份/历史的统计。这一具有里程碑意义的举措将让我们更清楚地认识到我们是一个什么样的国家。然而,在这种进步的背景下,苏格兰政府决定不扩大对性别问题的回答选项,以包括那些认为自己不是双性恋的人。性别问题是人口普查中为数不多的必问问题之一。这意味着许多非二进制受访者将别无选择,只能将自己错误地登记为男性或女性。
National Records of Scotland, Edinburgh (Photo: Alamy)
苏格兰 2021 年人口普查中没有非二进制人口,对完成人口普查的人的记录不准确,这不太可能危及所收集数据的质量。然而,不被计算在内意味着什么。我的工作包括收集平等监测数据,我经常被问到‘我们真的需要询问一个人的跨性别身份/历史吗?或者‘询问一个人的宗教或信仰有必要吗?这些问题有一个明显的潜台词:T4 的身份特征是否足够重要或有足够的价值被计算在内?
诸如此类阴险的评论强调了 EDI 数据的武器化已经降临到我们头上。为了从大型资助机构获得资金,我们需要了解我们的数据。为了证明一个专门与边缘化群体合作的社会或文化团体的存在,我们需要知道我们的数据。数据就是弹药。数据就是力量。
在苏格兰,解决不平等、劣势和歧视的工作经常被原谅,因为“数量太少”。人们通过自己的圈子和网络来了解社会。当这些圈子和网络中的人看起来和听起来相似时,差异就被理解为发生在苏格兰之外的事情。“了解我们的数字”的重要性在今年夏天的边缘活动中变得显而易见,杰西卡·布劳的彩色边缘和哈里·约瑟芬·贾尔斯的 TransFringe 等活动记录了在白人和异性恋占压倒性优势的文化背景下边缘群体的行为和表演者的存在。
我们需要知道我们的数据。数据就是弹药。数据就是力量。
数据不仅仅是数字和文本,它还为我们提供了一种大声呼喊“看这里,有问题存在”的方式!提高数据素养活动人士的技能将使我们能够展示苏格兰普遍存在的不平等、代表性和排斥问题。那些掌握权力的人已经在利用数据作为不作为的借口——我们必须收回这块土地,并确保数据赋予积极分子带来有效变化的工作权力。
凯文·古言博士是爱丁堡的一名平等、多样性和包容性研究员。他以个人身份写作。
使用 R 进行数据分析和可视化
初学者循序渐进指南
你是从数据科学领域开始你的旅程的吗?R 需要知道怎么入门吗?你对数据可视化感兴趣吗?如果是,那么这个教程就是为你准备的!
概述&目的
通过这篇文章,我们将学习如何对一个数据集进行基本的探索性分析,创建可视化并得出推论。
我们将要报道的内容
- R 入门
- 了解您的数据集
- 分析和构建可视化
1。R 入门
1.1 下载并安装 R | R Studio
r 编程提供了一组内置的库,有助于用最少的代码和灵活性构建可视化。
可以从 R 项目网站轻松下载 R。下载时,您需要选择一个镜像。根据您的操作系统选择 R,如 Windows、Mac 或 Linux。
安装 r 非常容易。只要按照基本的安装步骤,你就可以开始了。
对于编写脚本的简单方法,我推荐使用 R Studio 。这是一个开源环境,以其简单和高效而闻名。
Launch Screen after starting R Studio
1.2 安装 R 包
包是由包含可复制的 R 代码的社区创建的基本单元。这些包括可重用的 R 函数、描述如何使用它们的文档和样本数据。
存储软件包的目录称为库。r 带有一套标准的软件包。其他的可以下载和安装。安装后,必须将其加载到会话中才能使用。
要在 R 中安装一个包,我们只需使用命令
install.packages (“所需包的名称”)
1.3 加载数据集
在 R 中已经预装了一些数据集。在这里,我们将使用泰坦尼克号的数据集,它内置于泰坦尼克号软件包的 R 中。
在使用任何外部数据源时,我们可以使用 read 命令来加载文件(Excel、CSV、HTML 和文本文件等)。)
该数据集也可在 Kaggle 获得。您可以下载数据集,包括训练和测试文件。在本教程中,我们将只使用训练数据集。
titanicread . CSV(" C:/Users/Desktop/titanic . CSV ",header=TRUE,sep= “,”)
上面的代码将文件 titanic.csv 读入一个数据帧 titanic 。Header=TRUE 时,我们指定数据包含一个标题(列名),sep= ","指定数据中的值用逗号分隔。
2。了解数据集
我们使用了泰坦尼克号数据集,其中包含了所有登上泰坦尼克号的乘客的历史记录。以下是对数据集中 12 个变量的简要描述:
- PassengerId:序列号
- 幸存:包含二进制值 0 & 1。乘客没有生还— 0,乘客生还— 1。
- 机票等级|一等、二等或三等机票
- 姓名——乘客的姓名
- 性别——男性或女性
- 年龄—以年为单位的年龄—整数
- SibSp——兄弟/配偶——兄弟、姐妹和/或丈夫/妻子的数量
- 羊皮纸——父母/子女数量——母亲/父亲和/或女儿、儿子
- 票证—序列号
- 票价——乘客票价
- 客舱—客舱号
- 登船-登船港| C-瑟堡,Q-皇后镇,S-南汉普顿
2.1 偷看你的数据
在我们开始处理数据集之前,让我们好好看看原始数据。
观(泰坦尼克号)
这有助于我们熟悉数据集。
头(泰坦尼克号,n) |尾(泰坦尼克号,n)
为了快速浏览数据,我们经常使用 head()/tail()。
Top 10 rows of the data set.
Bottom 5 rows of the data set.
如果我们没有显式地传递 n 的值,它将采用默认值 5,并显示 5 行。
人名(泰坦尼克号)
这有助于我们检查数据集中的所有变量。
Familiarising with all the Variables/Column Names
str(泰坦尼克号)
这有助于理解数据集的结构、每个属性的数据类型以及数据中的行数和列数。
总结(泰坦尼克号)
A cursory look at the data
Summary() 是帮助汇总数据集中每个属性的最重要的函数之一。它根据变量的类型给出了一组描述性统计数据:
- 如果是数字变量->给出平均值、中值、众数、范围和四分位数。
- 在因子变量的情况下->给出频率表。
- 在因子+数值变量的情况下->给出缺失值的数量。
- 如果是字符变量->给出长度和类。
如果我们只需要数据集中特定变量的汇总统计数据,我们可以使用
summary(dataset name $ VariableName)-> summary(titanic $ p class)
as.factor(数据集$列名)
有时候,数据集中的一些变量是因子,但可能被解释为数字。例如,Pclass(乘客类)显示值 1、2 和 3,但是,我们知道这些不能被认为是数字,因为它们只是级别。为了将这些变量视为因子而非数字,我们需要使用函数 as.factor() 将其明确转换为因子
3.分析和可视化
数据可视化是一种将数据转化为易于理解的洞察力的艺术。在本教程中,我们将分析生存模式,并检查影响相同的因素。
思考要点
现在我们已经了解了数据集和变量,我们需要确定感兴趣的变量。领域知识和变量之间的相关性有助于选择这些变量。为了简单起见,我们只选择了 3 个变量,即年龄、性别和阶级。
存活率是多少?
当谈到泰坦尼克号的数据集时,首先出现的问题是“有多少人幸存?”。让我们用一个简单的条形图来演示同样的情况。
ggplot(泰坦尼克号,AES(x =幸存))+ geom_bar()
在 X 轴上我们有幸存的变量,0 代表没有幸存的乘客,1 代表幸存的乘客。Y 轴代表乘客数量。这里我们看到超过 550 名乘客没有生还,大约 340 名乘客幸存。
让我们通过检查百分比来使它更清楚
道具表(表(泰坦尼克$幸存))
登上泰坦尼克号的乘客中只有 38.38%幸存。
存活率基础性别
据信,在灾害期间的救援行动中,妇女的安全是优先考虑的。那时候也发生过同样的事情吗?
我们看到,与男性相比,女性的存活率明显更高。女性的存活率约为 75%,而男性不到 20%。
存活率基础票类(Pclass)
根据乘客乘坐的舱位等级,分为三个等级,即一等舱、二等舱和三等舱。我们看到超过 50%的乘客乘坐三等舱。
Survival Rate basis Passenger Class
一等舱和二等舱乘客的存活率不成比例,一等舱乘客的存活率超过 60%,二等舱乘客的存活率约为 45-50%,三等舱乘客的存活率不到 25%。
我会让你想一想……是因为对精英舱乘客的优待,还是因为距离近,因为三等舱在下层?
存活率基础票类和性别 (pclass)
我们看到第一和第二组的雌性有很高的存活率。乘坐一等舱和二等舱旅行的女性存活率分别为 96%和 92%,男性为 37%和 16%。乘坐三等舱的男性存活率不到 15%。
到目前为止,很明显,性别和乘客级别对存活率有显著影响。现在让我们检查一下乘客年龄对存活率的影响。
基本年龄存活率
查看图表中年龄< 10 岁的部分,我们可以看到存活率很高。而且存活率很低,超过 45 岁就下降了。
在这里,我们使用的箱宽度为 5,您可以尝试不同的值,看看图形如何变化。
存活率基础年龄、性别和船票等级
考虑到所有这三个变量,这张图表有助于确定生存模式。
上面的 3 个部分描述了三个阶层的女性生存模式,而下面的 3 个部分代表了三个阶层的男性生存模式。在 x 轴上我们有年龄。
很明显,一年级和二年级学生的存活率最高。除一名女童外,乘坐一等舱和二等舱的所有儿童都幸存下来。乘坐三等舱的男性存活率最低。
我希望这篇文章对你有所帮助。不断学习,不断成长!
网络安全 101 数据分析:检测数据泄露
Miguel Á. Padriñán from Pexels,
使用网络流量数据创建基本警报来检测数据盗窃
这既是最近 2019 趋势科技 CTF 中通配符 400 挑战解决方案的演练,也是网络安全监控的一些注意事项。我建议你先试试这里的挑战。所有解决方案的实现都可以在这个内核中找到。
前提
您是中型企业 XYZcorp 的网络安全管理员。你经常使用网络流量数据来发现异常的安全事件。该挑战提供了一些关于流的样本聚合数据,并使用异常事件的答案来构建标记。
这里的数据是合成的,不模拟典型的网络协议和行为。因此,这些挑战不需要深入了解网络协议。
我们要找什么?
本次挑战中的所有问题都与后利用活动有关,这些构成了网络杀戮链的后半部分。
<插入强制杀伤链图和说明>
网络安全的现代方法并不仅仅停留在试图防止利用。利用漏洞只是攻击的第一步,最终目标通常是*数据窃取。
*勒索软件攻击等攻击除外
攻击者如何从最初的立足点获取您的数据?
- 为了获取数据,攻击者需要破解数据
- 为了泄露数据,攻击者需要到达数据 ( 横向移动)
- 为了横向移动,攻击者需要与他们的立足点 ( *命令和控制)*相协调
如果我们能够在这些阶段中的任何一个阶段检测并阻止攻击者,那么我们可以认为这是一次胜利!
“预防是理想的,但检测是必须的”——埃里克·科尔博士
当然,这是一系列更复杂事件的简化版本。如果你想在这方面了解更多,你可以浏览一下 ATT & CK 矩阵
数据泄漏
数据泄露是数据盗窃的一种奇特说法*。* 在某一点上,数据必须从您的网络内部流向攻击者手中。*
*当然也有例外,比如数据的物理泄露
公然渗透
我们的知识产权正大量离开这栋大楼。里面的一台机器被用来发送我们所有的小工具设计。一台主机从企业中发出的数据比其他主机多得多。它的 IP 是什么?
这里我们可以假设攻击者没有试图隐藏。他们试图传输尽可能多的数据,而不对数据传输设置限制。让我们看看出站网络流量最大的主机。
13.37.84.125 looks like a bad IP
我们将13.37.84.125
识别为不良 IP,并观察流量出站的分布,发现这是非典型的。
13.37.84.125 is clearly an outlier
这是你能发出的最简单的警告。查看您的出站流量的每日分布,并找到一个阈值进行警告。攻击者在一个小时内将 50GB 数据上传到 Google Drive,三天后才发现数据泄露,这将是一件令人尴尬的事情。
您可能会发现正常的异常值!成为局外人不一定等同于恶意。您可以找到与网络其余部分相比出站流量非常大的主机,但却发现它们是正常的。
假设您的公司使用一个 web 代理服务器,并要求 HTTPS 流量通过该服务器进行代理。那么我们会期望这个代理服务器的流量比网络的其余部分大几个数量级。我们从中观察到的流量是数百个用户的 HTTPS 流量的总和。
**在这种情况下,您应该记录这些特殊的服务器,并分别进行分析。**同时,您可能还想检查那些产生或试图产生直接出站 HTTPS 流量的台式机,即使它们不消耗高带宽,因为它们应该通过代理。
业余活动
另一个攻击者计划导出我们内部 wiki 的内容。一台主机在非工作时间从企业发送的数据比其他主机多得多。它的 IP 是什么?
通常,我们应该对工作时间和下班时间有一些概念。对于这个挑战,我们首先必须推断出营业时间
Office hours are between 16:00 to 23:00
现在我们已经确定了公司的营业时间,我们只过滤 0:00 到 16:00 之间产生的流量,并查看在非营业时间具有最多出站流量的主机。
12.55.77.96 looks suspicious
这一次,我们看到12.55.77.96
可能是我们的坏 IP。我们查看了非工作时间总出站流量的分布,我们也看到这是一个异常值。
12.55.77.96 is an outlier
只查看非工作时间的流量很重要,因为如果只查看整体出站流量,我们可能检测不到这一点。
12.55.77.96 looks normal if we include traffic from “on” hours
很明显,我们应该分别模拟“开”和“关”的时间。这很直观,你期望在白天看到的活动类型和晚上看到的不同。这包括周末和特殊假期。
这些间歇期也是你基线的良好起点。你对你的网络的“背景辐射”有一个概念。
通常在营业时间出现的糟糕交通状况,可能会在非营业时间凸显出来。
你可能还会发现内部威胁。“在休假、生病或在非正常时间远程访问网络”、“在非正常时间工作”是内部威胁的行为指标[1]。人们对身体监视更加敏感;他们更有可能在没有人的时候尝试做坏事,而没有意识到他们的行为在网络层面是显而易见的。
休息时间是有价值的。如果我想识别呼叫总部、文件泄露和其他可疑活动,我喜欢在下班后观察。车流量少了,人也少了……这就是我喜欢记录一家公司自己的特殊下班时间的原因。对于某人来说,通过将所有活动保持在 9-5/M-F 来隐藏他的流量是很容易的,但是如果攻击者不知道公司给圣斯威辛放假,那么他就更有可能坚持到底。
迈克尔·柯林斯[2]
尽管如此,如果你去打猎,你会发现这里有许多合法的(可能没有记录的)业务流程,比如那些试图在晚上卸载以在白天对业务产生最小影响的流程。例如,您可能会发现数据库团队已经安排了每周午夜 12 点将您的数据库备份到您的亚马逊 S3 存储桶。这些绝对是你应该能够察觉的事情。
使用通用协议的隧道
一些攻击者正在获取所有员工和供应商的电子邮件地址,并通过通常用于其他用途的通道发送出去。这类似于攻击者滥用 DNS 进行数据泄露。一台主机在企业的某个端口上发送的数据比其他主机多得多。它的港口是哪里?
DNS 隧道是一种用于通过 DNS 协议的功能来渗透数据的技术。如果一台主机试图通过 DNS 过滤数据,那么我们预计发送到端口 53 的请求数量会比其他只使用 DNS 解析域 IP 地址的主机多得多。因此,我们要寻找的是该特定端口的异常流量。
实际上,我们可以使用与前面部分类似的方法,查看流量的主要来源,并根据端口的单变量分布查看它们是否是异常值。然而,当您现在必须查看许多端口时,这种方法的扩展性不好。
让我们首先看几个端口,我们看到它们中的大多数是“好的”(也许太好了),但是有不同的均值和方差。
Note that these are from synthetic data
在查看了一些分布后,它们看起来是钟形的,因此使用 Z 分数可能是合适的。然而,如果你发现分布是高度倾斜的,那么你可能想做一些变换,比如对数变换,使分布更像钟形。
对于每个端口,我们对出站流量进行标准化,并获得每个端口的最高 z 值。
Clearly port 124 has the “most outlying outlier”
并且调查 124 端口的分布,我们看到12.30.96.87
看起来像是我们的不良 IP。
如果我们将端口 124 的总出站流量与其他端口进行比较,我们会发现,如果我们使用全局阈值,这是无法检测到的。
If looking at the long tail, then maybe
那么我们如何检测到这一点呢?与上一节相似,有一个重复出现的主题:分别对不同类型的网络活动建模。如果您可以在网络流量中识别出不同的组,那么尝试分别分析它们。如果数据是同分布的,则更容易检测出异常值。
还有,**也要考虑分析长尾。**如果您看到不常用端口的出站流量,那么您应该调查它是什么。如果合法使用,请记录下来。否则,你一开始就不应该允许未知端口的出站连接。
然而,对于诸如 DNS 流量之类的协议,它们是必不可少的。所以你会发现这些端口是对外开放的。类似于 web 代理,为了让我们的生活更轻松,您应该要求所有 DNS 查询都通过内部 DNS 服务器,并阻止端口 53 上除内部 DNS 服务器之外的所有出站流量。通过来自 DNS 服务器的日志,您可以获得丰富的信息,使 DNS 隧道等检测技术变得更加容易。您不必将警报限制在频率和连接大小上,因为您可以使用唯一子域的数量或查询的唯一域的数量。
如果你想了解更多关于 DNS 隧道的信息,你可以阅读 Akamai 的博客。另一种类似且有趣的隧道方式是通过 ICMP 。
保护您的数据
想到**当您在出站网络流量中检测到数据泄漏时,可能已经太晚了,这有点可笑!**为了检测高出站流量,攻击者必须先窃取大量数据。
为了减轻这种情况,您必须考虑您真正关心的数据:
- 数据在哪里?
- 谁可以访问它?
- 他们如何访问它?
假设一个攻击者想要从您的 SQL 数据库中窃取 50GB 的数据。他首先必须将您的 SQL server 的表转储到他的主机,然后将这些表上传到一些外部云存储中。
如果您能够在以下任一方面发出警报,您甚至可以在攻击者泄漏数据之前就检测到他:
- 未经授权的 SQL 数据库转储
- 从 SQL server 传输的异常高的流量
例如,您查看您的 SQL server 通常会做些什么,并发现 SQL server 的大部分流量通常会与 web 应用程序服务器、一些 ETL 进程以及一些备份进程相关联。那么从 SQL server 到 SQL admin 工作站的高数据传输可能被认为是异常的。
通过一点分析,您可以集中精力于网络中的几个组件,而不是监控网络中的所有流量来寻找“任何奇怪的东西”。
将您的一些警报范围缩小到一些关键用户或系统,可以使您的模型更加高效,并且您能够检测到更微妙的高影响攻击。
下一个:横向运动
在下一篇博文中,我们将讨论一些关于寻找 横向运动的问题。
攻击者控制的初始主机可能无法访问攻击者想要的数据。然后,攻击者必须在网络中探索和导航,通过不同的主机和帐户,直到他达到最终目标。如果有合适的有利位置,这可能是我们可以探测到的
参考
[1] US-CERT,对抗内部威胁 (2014)
[2] M. Collins,通过数据分析实现网络安全(2014 年)
[3] SEC511:持续监控和安全操作
10.000 人工智能创业公司的数据分析
从 AngelList 公司提取见解
简介
AngelList 是一个将初创公司与投资者和希望在初创公司工作的求职者联系起来的地方。他们的目标是使投资过程民主化,帮助初创公司筹集资金和人才。无论是找工作、投资创业公司,甚至只是建立联系,这都是一个技术领域的每个人都应该知道的平台。自该网站于 2010 年创建以来,已有逾 400 万家公司、800 万名投资者和至少 100 万名候选人在其网站上注册。
在机器学习呈指数增长的时代,我想看看那些人工智能初创公司,并围绕它们和它们的活动领域进行探索性的数据分析。AI 领域的投资有多大?AI 创业公司如何规模化?哪些市场对他们来说最有前景?
数据析取
为了找到常见的相关单词,一个很好的工具是 explosion.ai 的 SenseToVec ,这是一个神经网络模型,它可以读取 2015 年发布到 Reddit 的每一条评论,并使用 word2vec 和 spaCy 构建一个语义地图。您可以搜索一个单词或短语,并获得与之最相似的单词(我甚至偶尔用它来查找同义词)。所以我输入了机器学习,得出了这样的术语:
- 数据科学
- 自然语言处理
- 计算机视觉
还有几十个。过滤掉一些术语后,我将剩下的作为查询输入到 Angel 的搜索框中。
刮网器是用硒和美汤制成的。它创建一个驱动程序来访问 URL(https://angel.co/companies),点击搜索栏并编写一个特定的查询。然后,它滚动列表中的每个公司并存储其数据。由于网站限制每次搜索 400 家公司,我选择使用过滤器并增加查询次数,以确保我得到几乎所有与每家公司相关的公司。
Angel Scraper
删除重复项后,结果是一个包含 10.139 个唯一数据点的 CSV 文件,包括以下特征:
- 名称’→公司名称
- 加入 ’ →公司加入安吉尔的日期
- 类型’→公司类型(初创公司、私营公司、孵化器……)
- 地点 ’ →公司所在地城市
- 市场’→公司的活动领域(电子商务、游戏……)
- 推销’→公司口号
- 募集 ’ →投资公司募集的金额
- 科技’→主要编程语言(Python,Javascript…)
数据分析
在从数据中寻找见解之前,我必须清理和预处理数据,以便对分析有用。这包括一些步骤,如格式化日期、规范化文本以及将货币字符串转换为浮点数。之后,我导入了 Geopy 库来从 location 列中提取坐标信息,这样我们以后就可以处理纬度和经度了。以下是经过处理的数据帧的示例:
现在,我们可以用这样的数据框做很多事情。让我们从检查那些公司正在使用的编程语言开始。
哇!这是一个巨大的差异。当谈到机器学习时,Python 是使用最多的语言之一,它看起来像是安吉尔人工智能初创公司的一个很大的最爱。请注意,根据他们的说法,我们只是在 AngelList 顶级技术中进行比较,所以其他重要的编程语言没有包括在内。
我们可以按照加入的日期重新排列这些数据,并检查这些技术在过去几年的发展情况:
Tech growth by year
Python 确实在成长。它是一种令人惊叹的高级通用语言,拥有广泛而强大的库,可能是数据科学和机器学习领域最著名的语言。
回到我们的分析,我们来看看现在的市频。最常见的有哪些?
Market distribution
很好。虽然其中一些过于笼统(如 b2b 和 SaaS ),而其他一些可以归入同一类别(如大数据分析和大数据),但我们可以对现有行业进行很好的比较。
让我们试试更有趣的东西。将我们的数据按市场分组,并对增值求和,以查看按行业划分的投资总额:
Total investment by market
这是投资最高的 20 个市场。这并不一定意味着他们拥有最多的投资公司。让我们来看看最大的公司:
Airbnb → 10.3 Bi(酒店)
网景→ 4.2 Bi(新闻)
Nest → 3.3 Bi(物联网)
Palantir → 2.1 Bi(分析)
Grail → 1.7 Bi(诊断)
这解释了在酒店市场的巨大投资。一两家大公司可能在投资总额中占据太大比重。也许取每个市场的投资中值会给我们带来不同的结果:
Median investment by market
这是投资中值最高的 10 个市场。酒店市场已经不复存在。尽管如此,可能还有其他方法让我们得到更有启发性的结果。
让我们用他们的市场来统计被投资公司的数量,而不是得出投资金额。其次,最好能在投资范围之间进行比较。例如,有多少移动广告公司获得了 100 万到 1000 万美元的投资?
为此,我建立了一个交互式图表,在其中你可以点击按钮进行交互(最多 100 万,从 1 到 1000 万,等等)。对于每个按钮,你会看到一个条形图,显示在这个范围内筹集了一定金额的公司数量。
Number invested companies by market
这是一个更复杂的分析,可以让投资者和创始人更深入地了解这些市场与投资规模的关系。如果处于第一阶段(种子),在哪些市场更容易被养起来?哪些公司成为了十亿美元的独角兽?
根据你阅读这篇文章的设备,你可能无法使用下面的图表。否则,请随意与它互动并得出自己的结论。
Interactive Chart — Number of invested companies by market
利用每个行业每年的投资金额,我们甚至可以比较一些市场自 2011 年以来的变化。
Market growth since 2011
然后我们可以按阶段查看平均投资:
Average investment by stage
出于某种原因,A 轮的平均投资低于种子。让我们看看过去几年的投资总额(百万美元):
Total investments
我们清楚地看到,2012 年是 AngelList 爆发的一年,可能还有风险资本融资的增长和全球范围内越来越多的初创公司。下一张图显示了每年在网站上注册的创业公司的数量。
Number of startups per year
最后,我们可以使用从位置提取的坐标和 Geopy 构建一个包含这些创业公司全球分布的聚类图。结果是一个交互式地图,如下所示:
Cluster Map
这是这 10,000 家公司的位置图。即使是一个小样本,它也很好地代表了技术在国家间的分布。
为了制作它,我使用了 leav 库并将输出保存在 HTML 中。如果你想和地图互动,就去我的 GitHub 资源库→ 点击这里,下载cmap.html,在你的电脑里打开。
单击集群打开较小的集群,然后单击这些集群查看公司。如果你点击一家公司,你会得到他们网站的链接。
下图是按投资金额加权的热图( hmap_weighted.html ),或者说:AI 的钱都去哪了?
Heat Map
这还不到我们用这样的数据集所能做的一半。可以从员工数量(公司的规模)、公司的生命周期甚至的广告可以使用 NLP 进行分析。现在,让我们来看看创业口号中最常用的词。
Word Cloud
你还能提取什么?创始人、联合创始人和投资者的联系信息。网络抓取是惊人的,加上数据分析和机器学习,它成为一个令人难以置信的强大工具。
如果你想访问地图、数据或笔记本,只需进入我的 GitHub 知识库→ 点击这里,或者在下面留下评论。随时让任何观察,关注或想法,并感谢您阅读这篇文章。
AngelList 上人工智能创业公司名称的文本挖掘
AngelList 是一个美国网站,面向初创公司、天使投资人和希望在初创公司工作的求职者。在本教程中,我们想看看人工智能初创公司在其名称中使用的最流行的词语。
步骤 1:导入数据
我们使用由 rodrigosnader 跳过的数据。这个数据集包括 AngelList 上人工智能初创公司的 10,151 条数据记录。
第二步:数据争论
我们首先需要构建我们的数据,以更好地满足我们的需求。
分割名称
初创公司的名称存储在name
列中。
我们可以看到一些公司的名称是由不带空格的单词构成的(例如 MonkeyLearn、NextDeavor),因此我们希望将这些名称拆分成单独的单词。
为此,我们可以使用我从一个 stackoverflow 线程中找到的 wordninja 包。
我们将把拆分后的名字以小写形式存储在names
列表中。
词汇化
为了改进我们的分析结果,我们首先对我们的names
列表进行术语化。
词汇化是将一个词转换成它的基本形式的过程。你可以从这篇伟大的作品中了解更多关于文本挖掘的过程。
用单词的基本形式更新名字列表。
停止言语
像the
、a
这样的停用词没有提供有用的意思,所以我们将把它们从列表中删除。
删除单个字符
同样,我们希望从列表中删除没有意义的单个字符。
第三步:生成单词云
列表中前 20 个不同的单词
现在我们已经完成了数据争论的过程,让我们来看看列表中最受欢迎的词。
我们可以看到lab
、技术、data
、network
、neural
是创业公司在名称中使用最多的词汇。
我们可以使用 WordCloud 来绘制结果,以便更好地可视化。
我们现在可以得到一个词云,即:
为了让 WordCloud 看起来更干净,我们可以自定义它的颜色主题。
我们结束了。
结论
所以我们可以从词云上看到,人工智能创业公司名称中使用的最有意义的词是:
- 实验室
- 技术
- 数据
- 网络
- 神经的
- 冒险
- 自然语言处理技术
- 超正析象管
- 技术
- 承认
- 系统
- 解决办法
- 健康
- 空气
- 分析学
- 应用
- 深的
- 云
- 组
我们可以得出这样的结论
- 有很大一部分人工智能初创公司在识别、系统开发、健康、空气、数据分析、云领域工作。
- 初创公司喜欢把他们的公司描述成一个实验室、风险企业和团队。
- 。io 已经成为创业公司的热门域名扩展。为什么?检查这里的和。
参考
数据分析显示,纽约州的地区医疗费用可能相差超过 10 万美元
根据你是住在纽约州西部、北部还是南部,医疗费用从几万美元到几十万美元不等。
Photo by Piron Guillaume on Unsplash
对我们许多人来说,医疗费用是一个谜。没有两个病人是一样的,所以他们的账单也不会一样。了解手术的价格范围有助于消费者进行财务规划。这让他们对自己的共同保险、自付额、共付额和其他医疗保健相关费用有了更好的了解。
如果我们可以只从我们当地社区或地理区域内的医院获得医疗费用,那不是更好吗?不幸的是,这种地方一级的信息很难获得。这部分是因为包含成本信息的文档(数据库表)中可能没有适当的地理位置标签。为了使医疗保健成本与您所在地区的医院相匹配,您需要合并和组合不同来源的信息,这些信息最初并不是设计在一起的。
这正是我在这个分析中所做的。我的目标是按地理区域分离纽约州(NYS)的医疗保健成本信息,并将我的发现报告为最常见医疗条件的价格范围。
为了完成这项任务,我使用了来自 NYS 卫生部的成本透明度数据集,并结合了县和地区级别的地理位置信息,以进行适当的分组。我对这个数据集很熟悉,因为我曾经研究过它之前我绘制了在 NYS 观察到的最常见医疗状况的患者数量、医院成本和定价加价的趋势。
通过这一分析,我发现了纽约西部、北部和南部地区内部和之间医院费用的巨大差异。价格变化可以在几千到几十,有时几十万美元的某些程序,如关节膝关节置换手术。此外,相对于该州的平均水平,纽约西部和北部地区的医院收费较低,而长岛、下哈德逊谷和纽约市的医院收费比该州的平均水平高出 50%,有时甚至高出 100%。这篇文章解释了我的发现。
纽约州是如何划分成区域的?
为了实现我的目标,我将地理位置信息合并到成本透明度数据集中,以便根据 NYS 的地理区域对医院进行分组。我根据环境保护部的县和地区名称将 NYS 分为 9 个地区。每家医院都根据其邮政编码被分配到所在的县。然后将每个县与其对应的地区进行匹配。这些地区是:
- 纽约州西部:纽约州中部,手指湖,纽约州西部
- 纽约州北部:首都区,东阿迪朗达克,西阿迪朗达克
- 纽约南部:纽约市长岛,下哈得孙谷
调查了哪些医疗条件?
最初,概要成本透明度数据库表包含 979,862 行条目,每个条目具有多条信息,其中之一是所有患者精细诊断相关组(APR DRG)分类。广义而言,APR DRG 分类是患者被标记为住院的医疗状况。示例 APR DRG 分类包括膝关节置换手术、慢性阻塞性肺病和心力衰竭等。
根据成本透明度数据集,2016 年患者因 315 种不同的 APR DRG 分类而住院。这意味着,这近 100 万个条目属于这 315 个不同类别中的一个。为了使这个分析有意义,我选择了在 NYS 最有代表性的 APR DRG 分类。因此,我选择了具有以下特征的分类:
- 病人数量最多,因此在 NYS 接受治疗最多,
- 在大多数医院都有发现,因此在 NYS 各地都有治疗。
最终,选择了 15 种疾病,这些疾病出现在 88%以上的医院中,总共占 2016 年住院总人数的 33%。根据他们的生理系统,他们被松散地分组,没有特定的顺序:
- 生殖相关: 1)阴道分娩,2)剖宫产,3)正常新生儿或有条件的新生儿
- 呼吸系统: 4)慢性阻塞性肺病,5)肺水肿&呼吸衰竭,6)肺炎
- 感染: 7) 败血症&播散性感染,8)蜂窝组织炎&其他细菌性皮肤感染
- 肌肉骨骼: 9) 其他肌肉骨骼系统(MSK) &结缔组织诊断,10)膝关节置换
- **心血管:**11)心力衰竭,12)心律失常&传导障碍
- **心理:**13)精神分裂症
- 胃肠道: 14) 主要胃肠道(GI) &腹膜感染
- 肾脏: 15) 肾脏&尿路感染(UTI)
我如何解读结果?
以个体价值表示的医疗成本用途有限。没有两个病人是一样的,所以他们的账单也不会一样。更确切地说,知道一个程序的潜在价格标签的范围(在这个词的口语意义上不是统计的)对我们的财务计划更有帮助。例如,知道一个程序的中值成本是 15,000 美元是有信息的。但是,如果您还知道价格标签的分布,并且中间的 50%患者的费用在 9,000 美元到 27,000 美元之间,您将对您的共同保险、自付额、共付额和其他医疗保健相关费用的金额有更好的了解。
在我的例子中,短语“中间 50%的患者”指的是医疗费用分布的中心。这被称为四分位距(IQR)。在描述性统计中,使用 IQR 是因为据说它对异常值具有稳健性,换句话说,不受异常值的影响。在医疗保健价格数据集中,异常值可以代表非常昂贵或便宜的病例。使用盒须图绘制 IQR。一个盒须图有三个组成部分:一个盒,盒内的一条线和两条须。方框代表 IQR,中间值内的线,在我的选择中,两个胡须延伸到第 10 和第 90 个百分位数。实际上,我的盒须图占据了 80%的医疗成本。最便宜的 10%案例和最贵的 10%案例被忽略。
如果你需要一个关于解释盒须图的更详细的解释,我在这篇文章的结尾提供了一个小的部分来做进一步的说明。网上有很多资源可以更好地理解百分位数、四分位数和盒须图。 这里有一个 。
现在,根据我的发现。
纽约南部三个地区和该州其他地区的医疗费用相差很大
纽约西部
Figure 1: Box and whisker plots showing the IQR, median (red line), 10th and 90th percentiles (whiskers) hospital charges for each of the 15 most common medical conditions (APR DRG classifications) of hospitals within Central NY, the Finger Lakes and Western NY.
除了几个明显的例外,纽约西部的三个地区的医疗费用大致相同。几乎所有 15 个 4 月 DRG 分类的中位数都严格限制在 9000 美元到 17000 美元之间。三个例外是新生儿护理、阴道分娩和膝关节置换手术。医院新生儿护理费用的中位数徘徊在 3000 美元左右。阴道分娩的平均费用接近 7000 美元。由于剖腹产属于外科手术,因此其费用明显更高是有道理的,平均费用为 12,000 美元,几乎是阴道分娩费用的两倍。
令人惊讶的是,膝关节置换手术具有最高的中位数,最大的 IQR 和最广泛的传播,清楚地观察到胡须最长。根据我的分析,膝关节置换手术具有以下价值:
- 纽约州中部 : IQR 从 29000 美元到 48000 美元不等()中位数为 37000 美元*)。当考虑第 10 和第 90 百分位时,医院成本分别扩展到 27,000 美元和 80,000 美元。*
- 手指湖: IQR 从 30,000 美元到 42,000 美元不等(36,000 美元中位数)。当考虑第 10 和第 90 百分位时,医院费用分别增加到 23,000 美元和 63,000 美元。
- 纽约州西部: IQR 的房价从 26000 美元到 36000 美元不等(中位数为 29000 美元)。当考虑第 10 和第 90 百分位时,医院成本分别扩展到 24,000 美元和 43,000 美元。
为了客观地看待这个问题,膝关节置换手术 的中位成本高于除精神分裂症之外的所有剩余 APR DRG 分类的第 90 百分位成本。唯一没有观察到这种趋势的地方是纽约西部。
纽约北部
Figure 2: Box and whisker plots showing the IQR, median (red line), 10th and 90th percentiles (whiskers) hospital charges for each of the 15 most common medical conditions (APR DRG classifications) of hospitals within the Capital, Eastern and Western Adirondack regions.
在纽约州西部地区观察到的类似趋势也在纽约州北部地区观察到。 几乎所有 15 个被调查的 4 月 DRG 分类的中位数都在 11,000 美元到 21,000 美元之间。同样,纽约州北部医院的新生儿护理费用中位数在 3000 美元到 5000 美元之间。阴道分娩的费用中位数在 8000 美元至 12000 美元之间,而剖宫产的费用中位数在 15000 美元至 18000 美元之间。
与东部阿迪朗达克相比,首都区和西部阿迪朗达克的 IQR 和医疗费用差距较小。败血症、水肿和呼吸衰竭、肺炎、严重胃肠道感染都属于这种情况。例如,东阿迪朗达克地区的水肿和呼吸衰竭的 IQR 为 22,000 美元(从 15,000 美元到 37,000 美元不等;中位数为 27,000 美元)。在首都地区,IQR 为 13,000 美元(从 18,000 美元到 31,000 美元不等;中位数为 21,000 美元),而西部阿迪朗达克地区的 IQR 为 15,000 美元(从 12,000 美元到 27,000 美元不等;中位数为 17,000 美元)。更高的 IQR 表明医疗成本更加分散。
在纽约州西部,膝关节置换手术的住院费用中值最高,IQR 最大,分布最广。
- 首都地区 : IQR 从 27000 美元到 43000 美元不等(中位数 33000 美元)。当考虑第 10 和第 90 百分位时,医院费用分别增加到 22,000 美元和 59,000 美元。
- 东部阿迪朗达克: IQR 从 40000 美元到 51000 美元不等()中位数 42000 美元*)。当考虑第 10 和第 90 百分位时,医院费用分别增加到 32,000 美元和 60,000 美元。*
- 西阿迪朗达克: IQR 从 3 万美元到 5.1 万美元不等(中位数为 3.9 万美元)。当考虑第 10 和第 90 百分位时,医院费用分别增加到 26,000 美元和 52,000 美元。
纽约南部
Figure 3: Box and whisker plots showing the IQR, median (red line), 10th and 90th percentiles (whiskers) hospital charges for each of the 15 most common medical conditions (APR DRG classifications) of hospitals within Long Island, New York City and Lower Hudson Valley regions. Note the changes in scale and intervals for healthcare costs. The maximum value in the x-axis now reaches $200,000 and the intervals are in $20,000 increments.
在构成纽约州南部的三个地区,医疗保健价格处于不同的联盟。请注意这些图表和纽约州西部/北部图表在比例和间隔上的差异。纽约州西部和北部的最高费用加起来不超过 8 万美元。在纽约州南部,最高费用接近 18 万美元。为了适应这些变化,间隔现在以$20,000 而不是$10,000 的增量表示。
纽约南部的东西都贵得多。
继续我们对新生儿护理的分析,纽约州南部医院的平均成本在 7000 美元到 12000 美元之间。阴道分娩的费用中位数在 18,000 美元至 20,000 美元之间,而剖宫产的费用中位数在 26,000 美元至 34,000 美元之间。新生儿护理和阴道分娩是纽约州南部最便宜的两项中间成本。 所有其他 APR DRG 分类的中值成本在 24,000 美元到 53,000 美元之间。 相比之下,在纽约州西部和北部,所有其他 APR DRG 分类的所有中值成本的大部分都没有超过 20,000 美元。纽约州南部的 IQR 也明显更大,最小的为 6000 美元,最大的为 59000 美元。这再次表明,中间 50%的医疗保健费用广泛分布在数万美元之间。
然而,最惊人的费用还是来自膝关节置换手术。在纽约州南部,费用如下:
- 长岛 : IQR 从 6.5 万美元到 11.6 万美元不等(,中位数 8 万美元*)。当考虑第 10 和第 90 百分位时,医院成本分别扩大到 52,000 美元和 156,000 美元。*
- 纽约州: IQR 从 48000 美元到 107000 美元不等(中位数为 72000 美元)。当考虑第 10 和第 90 百分位时,医院成本分别扩大到 34,000 美元和 182,000 美元。
- 下哈得孙谷: IQR 从 5 万美元到 10 万美元不等(中位数为 6.3 万美元)。当考虑第 10 和第 90 百分位时,医院费用分别增加到 37,000 美元和 130,000 美元。
I 之前报告过膝关节置换手术是 APR DRG 分类中少数几个实际上在 2009 年至 2016 年间患者出院量显著增加且费用增幅最大的手术之一。
哪些医院收费过高?
接下来,我想确定哪些医院收费比同行高,以及它们位于哪里。
为了比较医院,我为 NYS 的 211 家医院定义了一个新的术语叫做相对价格。医院的相对价格是通过平均所有的 DRG 收费率来计算的。APR DRG 收费比率被确定为医院为特定 APR DRG 分类收费的金额除以 NYS 所有医院的相同 APR DRG 分类的平均收费之间的比率。换句话说,APR DRG 收费比率提供了一家医院在特定条件下的收费是高于还是低于所有医院的信息。
医院相对价格比是一项指标,表明一家医院相对于该州所有其他医院的平均收费。
相对价格比< 1.0 indicates the hospital charges below the average, a relative price > 1.0 表示医院收费高于平均水平,相对收费= 1.0 表示医院收费与该州的平均水平相同。
市场份额越大的医院收费越高吗?
我首先根据医院的出院市场份额来划分医院。他们的出院市场份额是一家医院的住院出院人数除以 NYS 的住院出院总人数。两者呈弱正相关(皮尔逊相关系数= 0.33),表明市场份额较大的医院与高于均值的收费呈弱相关。
Figure 4: Relative Price of hospitals (each dot represents a hospital) plotted against its discharge market share.
没有多少医院一开始就有很高的市场份额(不出所料,因为 NYS 有 200 多家医院)。但是有许多医院的收费高于 NYS 的平均水平。这些医院的相对价格都在 1.0 以上。现在知道医院收费多了,那医院在哪里呢?
在 NYS 的哪个地区有相对价格较高的医院?
我把所有的医院和它们的相对价格比,按它们所属的地区分开。 我发现 纽约州北部和西部的所有医院的相对价格比< 1.0,表明他们的收费并没有高于 NYS 的平均水平。
A relative price ratio > 1 indicates a hospital charges above the median price. A relative price ratio < 1 indicates a hospital charges below the median price.
有趣的是,在哈德逊河谷下游和纽约市的许多医院收费也低于州平均水平。但是,哈德逊河谷下游地区确实有一些医院的收费比平均水平高出 50%(相对价格比= 1.5),在某些情况下,收费比平均水平高出近 100%(相对价格比> 2.0)。
纽约市医院运行了所有的价格比率。相当一部分的相对价格比率为 1.0,有些甚至超过 2.0。
长岛在这方面很有意思,因为除了一家医院之外,所有医院的相对价格比率都大于 1.0。
摘要
智能数据分析与清晰的可视化相结合,有助于更好地了解 NYS 的医疗成本。我的一些主要发现是:
- 住院膝关节置换手术一直是最昂贵的医疗条件治疗。长岛医院的费用最高,中位数为 8 万美元。
- 医疗条件不同,花费的范围也大相径庭。在一些情况下,如新生儿护理,提供者收费在几千美元之间。在其他像膝关节置换手术提供商收费范围接近 150,000 美元。
- 总的来说,纽约州西部医院和纽约州北部医院的医疗费用非常接近。
- 纽约州南部(长岛、纽约市和下哈得孙谷地区)的医院对 15 种医疗状况中的 13 种收取 24,000 美元至 53,000 美元,而纽约州西部和北部的医院不超过 21,000 美元。
- 医院相对价格与其出院市场份额之间存在弱正相关关系。
- 纽约州西部和北部所有医院的收费都低于 NYS 的平均水平。
- 绝大多数长岛医院的收费高于该州的平均水平。与此同时,纽约市和下哈德逊河谷地区的医院根据相对价格收取的费用低于、等于或远远高于该州的平均水平。
感谢阅读!
代码:
使用 pandas、numpy 和 matplotlib 库在 Python 中进行了数据分析。代码可以在我的 github 存储库中找到。附件是我在分析中使用的数据库表。
代码: Github
IQRs 和盒须图上的底漆
四分位数区域(IQR)通常显示为盒须图。网上有大量解释百分位数和盒须图的资源,但为了简单起见,我附上了我最喜欢的之一。
为了理解百分位数,想象一组递增的数字,并将它们分成 4 个大小相等的组。您已经将数字集合分为第 25 个百分位数、第 50 个百分位数和第 75 个百分位数。你的每一组也可以被称为四分位数*,用于你进行的四分位数划分。正好在你的集合中间的数字叫做中位数。如果你想看看你的第 25 和第 75 百分位的界限*(或者第 2 和第 3 四分位),你会发现“中间”四分位。中间四分位数内的数字被称为内四分位数范围(IQR)* 。实际上,IQR 告诉您关于数据集中心的信息。用来传递这些信息的图表被称为盒须图。*
Example box and whisker plot showing the IQR, median, 10th and 90th percentiles labelled. A histogram of the data is charted above it, with shaded regions highlighting the IQR in blue, the 10th to 25th percentile and 75th to 90th percentile. Clearly, some data points are excluded from the box and whisker plot.
盒须图——顾名思义——有盒须。这个盒子代表我们上面讨论过的 IQR。触须通常延伸到数据的最小值和最大值(有效地显示数据集的范围)。然而,在我的分析中,我将胡须定义为延伸到第 10 和第 90 个百分点,因为我想避免离群值。
左边是直方图下面的方框和须状图。直方图绘制了本例 APR DRG 分类的医疗保健成本的整体分布。请注意直方图中蓝色阴影区域是如何拥有数据集的最高计数(高频)的。如果您将阴影区域从直方图扩展到一个方框和须状图,它将突出显示方框。IQR 的大小会缩小(或拉长)盒子的大小。盒子里面是一条红线,它是中间值,分布的中心点。
在这个例子中,左边的胡须延伸到第 10 个百分位数,而右边的延伸到第 90 个百分位数,每个都用灰色阴影表示。注意直方图中有多少数据点没有被灰色阴影区域覆盖。它们位于第 10 个和第 90 个百分位数之外,没有被盒须图和须图捕获。通过将胡须限制在第 10 和第 90 个百分位数,该信息被忽略。
我使用盒须图来绘制医疗价格的目的是传达大多数人将会陷入的价格范围。那些极其昂贵的案例位于分布的尾端(注意它们在直方图上的频率计数是 1),而不是常态。报道它们会分散我想传达的主要信息。
数据分析实践指南:如何开始?
很多初学者对如何学习数据分析很迷茫。今天我就来介绍一下数据分析的全过程,来解答大家的疑惑,开拓思路。
相信你已经知道数据分析在现代社会的重要性。掌握了数据,就掌握了规律。当你了解了市场数据,并对其进行分析,你就能得到市场规律。当你掌握了产品本身的数据,分析它,你就可以了解产品的用户来源,用户画像等等。数据分析如此重要,既是新时代的“数据结构+算法”,也是企业争夺人才的高地。
1.数据分析的流程是怎样的?
数据分析主要分为三步。
- 数据收集
那就是拿原材料,没有数据我们无法分析。
- 数据挖掘
数据挖掘是整个商业的价值。数据挖掘的核心是挖掘数据的商业价值,也就是我们所说的商业智能。
- 数据可视化
简单来说,让我们直观的了解数据分析的结果。
这样说话可能太简单了,我来详细给你介绍一下这三个步骤。
1.1 数据收集
在数据收集部分,您通常使用不同的数据源,然后使用工具来收集它们。
在网上,你可以收集各种各样的数据集。还有很多工具可以帮你自动抓取数据。当然,如果你写一个 Python 爬虫,效率会更高。掌握 Python 爬虫的乐趣是无穷的。它不仅可以让你在社交媒体上获得热评,自动下载带有关键词的海报,还可以自动为你的账户添加粉丝,给你自动化的快感。
1.2 数据挖掘
第二部分是数据挖掘,可以比作整个数据分析过程的“算法”部分。首先你需要知道它的基本流程,十大算法,以及背后的数学基础。在这一部分,我们会接触到一些概念,如关联分析、Adaboost 算法等。
掌握数据挖掘就像拿着一个水晶球。它用历史数据告诉你未来会发生什么。当然它也会向你展示高可靠性。
1.3 数据可视化
第三是数据可视化,这是我们特别感兴趣的非常重要的一步。数据通常是隐式的,尤其是当数据很大时,可视化是理解数据结构和结果表示的好方法。我们如何将数据可视化?有两种方法。
首先是用 Python。在 Python 中清理和挖掘数据的过程中,可以使用 Matplotlib、Seaborn 等第三方库进行渲染。
二是使用第三方工具。如果已经生成了 csv 格式文件,想用所见即所得的方式渲染,可以使用 Data GIF Maker、 Tableau 、 FineReport 等第三方工具。,可以轻松处理数据,帮你做演示。更多关于 aout 数据可视化工具的信息,可以阅读本文2019你不能错过的 9 款数据可视化工具。
当然这些理论都比较抽象,所以我觉得学习数据分析最好的方法就是在工具中使用,在项目中加深理解。
2.实践指南
刚才我们讲了数据分析全景,包括数据采集、数据挖掘、数据可视化。你可能觉得有很多东西,无从下手,或者觉得数据挖掘涉及很多算法,有些很难掌握。其实这些都是不必要的麻烦。
这里介绍一下 MAS(多维,问,分享)学习法。用这种方法,学习数据分析就是一个从“思考”到“工具”再到“实践”的过程**。**
今天我将从更多的角度与大家分享我的学习经验。我们可以
把今天的内容称为“实践指南”。我们把知识变成我们自己的语言,它就真的变成了我们自己的东西。这个转化的过程就是认识的过程。
那么如何提高自己的学习能力呢?简单来说,就是“知行合一”。
如果说认知是大脑,工具就像我们的手,数据工程师和算法科学家每天都和工具打交道。如果你开始做数据分析项目,脑子里已经想好了数据挖掘的算法模型,请牢记以下两条原则。
2.1 不要重复生产车轮
我见过很多有数据收集需求的公司。他们认为一些工具不能满足他们的个人需求,所以他们决定招募人员来做这项工作。发生了什么事?经过一年多的实践,他们投入了大量的资金,发现了大量的 bug,最终选择了第三方工具。这时候,其实有了及时评估的需要,就可以及时挽回损失。比如 数据上报 像 FineReport 这样的工具可以为各种行业提供解决方案。这也有助于你的需求评估。
2.2 工具决定效率
“不要重复生产轮子”的意思是你首先需要找到一个可以使用的轮子,这是一个工具。那么我们该如何选择呢?
这取决于你要做的工作。工具没有好坏,只有适合不适合。除了研究型的工作,大多数情况下,工程师会选择最用户友好的工具。比如 Python 有很多处理数据挖掘的第三方库。这些库有大量的用户和帮助文件来帮助您入门。
如果你在寻找合适的数据分析工具,可以参考本文2019 年 6 大数据分析工具 。
选好工具后,你要做的就是积累“资产”。很多知识点很难记住,也无法按照工具的指示去做,但通常能记住的是故事,做过的项目,做过的题。这些课题和项目是你的第一批“资产”。
我们如何快速积累这些“资产”?答案是熟练度。解决问题只是第一步。关键是训练我们工具使用的“熟练程度”。随着熟练度的提高,你的思维认知模式也在逐渐完善,效率自然会提高。
结论
认知三部曲,从认知到工具再到实战,是我最想和大家分享的学习建议。而且希望这篇文章对你有帮助!
您可能也会对…感兴趣
数据分析:使用 Python 预测住房市场
Overlook of Seattle from the top floor of an apartment near Westlake. Photographed by W. Weldon.
自 2008 年房地产泡沫破裂以来,我们进入了衰退,并在 2012 年跌至谷底。房地产市场再次上涨,价格已经超过了 2008 年的峰值。多年来,西雅图的住房市场一直以 85%的年增长率名列增长最快城市的前 3 名。
随着房价推向另一个新的高峰。我对负担能力表示同情,因为在过去的 9 年里,我在西雅图搬了 10 次家,因为房价也会直接影响租赁市场。每个人都想住在一个舒适的地方,尤其是有孩子的家庭。然而,一旦你买了房子,你就有了另一个需要担心的问题。
当抵押贷款还清后,拥有一套房子可能会成为你最大的资产。当房子的价格波动时,因为房子像股票和债券一样是一种投资,它会让人们害怕,因为房子的价值可能会低于抵押贷款余额。在一个完美的风暴场景中,你失去了工作,拖欠月供,你可能会失去房子和欠银行的钱。(他们以低于抵押贷款余额的价格拍卖你的房子。你拥有的钱=抵押贷款余额-出售价格。作为一个被动和脆弱的房主,你怎么能意识到下一场风暴呢?我将分析过去两年的一些房屋销售记录,并告诉你房屋市场的情况。
你买得起房子吗?
使用 Octoparse ,我在 2018 年和 2019 年刮出了大约 6000 套出售的房屋,数据包括卧室数量、出售价格和邮政编码。以下是步骤:
A.搜集数据
**第一步:**从 Trulia 中抓取一个 URL 列表。
**第二步:**将列表加载到 Octoparse 中。
**第三步:**从 Octoparse 中选择提取的数据字段。
**第四步:**保存并运行提取。
**第五步:**导出 CSV。
(他们的博客里有更多循序渐进的教程。)
B.使用 Python 分析数据[4]
步骤 1: 读取 CSV 文件,将每一行按照售价、卧室数量、平方英尺和出售日期进行分割。
**第二步:**将所有数据存储在元组列表中,列表中的每一项都是标有 price、bd、sqft、date 的值。
**第三步:**我展示的是 2018 年和 2019 年到今天,西雅图一共卖出了 5365 套房子。
**第四步:**找出 2018 年和 2019 年(到今天)卖出了多少套房子。这表明
2019 年销售的房屋:2309
2018 年销售的房屋:3056
**第五步:**按卧室数量筛选已售房屋。我想看看卧室数量的价格。特别是,不同数量的卧室的平均价格、中间价格和最高价格是多少?这里有一张数据表格。
Home sales in the second half of 2018 and the first half of 2019 by bedroom size
已售房屋告诉我们什么?
我使用 Python 来计算卧室的数量和销售价格,以便观察数量和价格之间的关系。我想出了三个卖出价格的数字:平均值、中间值和最高值。
三居室的房子是销售中最受欢迎的,售出了 1937 套。虽然三居室房屋的中值价格为 734,000 美元,但平均值略高于中值,这意味着更多三居室房屋的售价更高(意味着它们更难以承受)。)第二受欢迎的住宅类型是两居室住宅,售出 1577 套,中位数价格为 60 万美元。接下来是 4 居室房屋,售出 892 套,中值价格为 823,000 美元。
Home sales by ZIP codes
这些地区的家庭收入情况如何?
在 2018 年和 2019 年(截至今天),西雅图约有 6000 套出售的房屋。当数据通过邮政编码可视化时,我们可以看到 98103 和 98115 销售的房屋最多,分别为 392 和 383 套。它和那个地区的家庭收入有什么关系?由于这些地区靠近谷歌、亚马逊、Adobe campus 等科技巨头的所在地,但不像市中心那样昂贵,高收入和每天通勤的人需要喜欢住在市中心以北,以便方便地到达 I-5 高速公路。
拥有一套价格在中位数的三居室意味着什么?
我们来分解一下数字。有 36%的售出房屋属于 73.4 万美元的中等类别。这意味着,在 2018 年和 2019 年,大多数房主都可以负担得起 73.4 万美元的中位价格。我计算抵押贷款,看看你到底需要赚多少钱才能买得起中等价位的房子。它如下:
尽管每月都有债务,你希望快乐地生活在 36%的债务收入比中,但你的家庭每年需要赚 190,000 美元才能买得起一套售价 734,000 美元的三居室房屋。你击败了多少收入 19 万美元的人?根据 Pew Research[1]的调查,你属于前 25%的人群,这意味着你在大西雅图地区属于高收入阶层。报告还称,底层 90%的人拥有的收入缩水了 12.8%,而顶层 10%的人拥有美国全部收入的 50%。
Home price over time by the number of bedrooms
思想?
从一年前开始,西雅图的房地产市场在价格上相当平稳。对于那些提前买房的人来说,他们的房子正在升值。相比之下,一年内刚买了房子的人,很难说价格何时会再次北上。虽然每周的销售数量略有下降,但看看 2、3、4 居室房屋的中位价格以及你需要多少钱才能买得起一套房子,中产阶级在大都市地区开始节节败退就不足为奇了。收入的增长赶不上房价的上涨。我没有看到蓬勃发展的繁荣,但富人和其他人之间的差距越来越大。我们一直在努力让社会变得平等和文明。然而,从尼克松的禁毒战争,约翰逊的犯罪战争,到特朗普的移民战争,我仍然没有看到美国梦的自由和更大的好处。相反,这些年来,我只看到人们失去了工作和家园。
[1]https://www . pewresearch . org/fact-tank/2018/09/06/are-you-in-the-American-middle-class/
[4]
数据分析很难…以下是你如何超越的方法
我在 Google、Visa 和 Lazada 担任数据分析师/工程师 3 年来学到了什么
Upskill yourself (source)
我真的很喜欢从事数据工作。从大二开始,我就已经知道,我要把技术作为解决现实商业问题的一种方式。这给了我工作的意义,我希望这对你也一样。
每天我都会挤出每一点时间来阅读和学习。我会报名参加本地数据黑客马拉松,组织与分析相关的活动,向行业领袖学习。我在会议和大学活动中发言,指导我的后辈如何在大型科技公司中成为一名成功的数据分析师。我把自己想象成一名学生,去影响尽可能多的低年级学生,让他们学习并回馈社区。
如果你说这个最终目标听起来太高尚,你是对的!
事实上,作为一名基督徒,我懂得了时间是宝贵的,地球母亲是我们暂时居住的终点站。世界上没有什么是永恒的,包括时间。因此,我们需要创造和传递尽可能多的价值,为与上帝同在的永生做准备。对我来说,我的宗教和数据职业给了我超越、学习和贡献的意义。
在我获准进入谷歌担任数据分析师以开发更好的 ML 模型来打击滥用后,我收到了许多分享我的人生旅程和建议的请求,供我的下级思考。因此,我真的希望这个博客能够满足你的需求,给你一个成功的数据专家的起点。
我给有抱负的数据专业人士的最大建议
众所周知,数据科学和分析已经成为一个快速发展的行业,在过去几年中增长最快。短短几年内,许多大学开始提供数据科学专业,来自世界各地的成千上万的注册者。即使在新加坡,5 年前也没有这样的项目,但现在,这个学位的入学已经变得像进法律和商学院一样难了。
然而,尽管有上升的趋势,兴奋的去向还有很多不确定性。数据科学家的就业市场正变得越来越饱和和虚幻。许多创业公司开始意识到他们在数据科学方面进展太快,并开始解雇他们的数据科学家。
因此,为了确保你的未来,你需要迅速成熟起来,让自己与众不同。就像一场战争,你需要开始准备你的军械库。最好的方法,就是多做贡献:多学习,多写作,多说话,多专门化,多放松
学习:数据科学的燃料
不断尝试你的学习方式(动觉、听觉、视觉)。
当我在学习的时候,我的朋友总是给我一些精选的机器学习材料。但在阅读和听了大量视频后,我意识到我是一个动觉型的人(通过做来学习),我从听力中保留的很少。知道这一点后,我创建了自己的项目,并记录在 Github 上。令人惊讶的是,这些项目成了我进入 Visa 和 Google 的关键。
同样,也不要盲目遵循朋友建议的常规学习资料。做好你的尽职调查,并始终有一个试错的心态。很快,你会发现你最好的学习方式来提高你的技能。
对我来说,我通常使用来自 Youtube 和研究论文的许多不同种类的资源。我个人喜欢sendex和 Computerphile 。强烈推荐你观看这些视频,更好的是,复制它们。
此外,我还在佐治亚理工学院攻读兼职在线硕士学位,这让我接触到了机器学习和统计方面更深入的技术严谨性。
为了让你快速了解这个令人兴奋的行业,你需要不断地试验、尝试和犯错。
写:数据科学的遗产
写文章,把你的代码分享给 github,甚至创建一个 Youtube 频道。
在大学期间,我开始为大三学生编写在线教程,以解决他们的大学项目。一旦我形成了这些教程,我就会建立一些小会议来培养一个学习小组,并分享一些机器学习相关的模型。通过分享,我获得了乐趣,并学会了表达自己的想法。
同样,我也相信你写得越多,学到的东西也就越多。每次写一些项目,都会对某个模型/测试/代码评审进行反思。它会让你缩小知识差距,并找出如何提高技能和找到更好的解决方案。
到目前为止,我发现媒体是写作的最佳渠道之一。它为每个人的写作提供了一个圆滑和标准化的外观,这使你摆脱了处理视觉布局的麻烦。Medium 中的所有内容都已经针对您的读写进行了优化。
更好的是,你还可以注册计量收费墙。这将给策展人分发你的文章和提高你的读者群的机会。到目前为止,我已经发布了 30 篇文章,其中一些文章每篇赚了 300 美元。
老实说,我认为写作的最大好处是你有机会清晰地表达你的学习。不管你是在网上写博客还是制作 youtube 频道都没关系。目标是最大化你学习和提升自己的时间。
发言:数据科学的发言人
My dream is to learn and share my thoughts to inspire my fellow juniors. My sharing at SMU
教你的同伴或任何会议!
当你说话时,你是在传播你的知识给别人使用。你在提升你自己和你的公司。从长远来看,你会成为更有价值的数据科学家,因为你已经激励你的下属也这样做了。你将与你的同龄人区分开来。
此外,说会给你进一步的学习意义。你学得越多,说得越多。同样,你说得越多,学得越多。
最初,我会给大学、数据会议和青年团体发电子邮件,看看能否分享我在数据科学方面的一些作品。我很幸运,新加坡管理大学(SMU)和新加坡国立大学(新加坡国立大学)的一些学生团体接受了我的请求。
当我谈论我的知识时,我不仅鼓舞了我的下级,也向他们学习,以更好地交流我的想法。
**专攻:**数据科学的专业知识
尝试深入钻研某项数据科学技术,以补充你的优势(商业、社会科学、销售等)
有自己的心态,坚持下去。最常见的误解是,由于对技术专业知识的需求,商科学生会输给 IT 学生。这并不准确。我认识的很多超级分析师都有不同的背景,比如社会科学、商业和经济。他们使用分析来补充他们的专业知识。
因此,保持冷静,利用你的优势,而不是沉迷于最新的分析趋势,如 Random Forest,XGBoost 等
例如,如果你有金融背景,你可以开发自己的股票分析项目。如果你来自运营和库存管理,你可以专注于 JIT(准时制)分析,以最小化瓶颈,最大化效率。当你使用分析工具对你的领域进行数据驱动分析时,天空是无限的。
对我来说,我是软件开发出身。但是我通过开发一个简单的产品,用商业分析来交流我的技能。一天,我问学金融的朋友,他们是如何分析股票的。他们的回答让我吃惊,因为他们花了大部分时间将谷歌金融的每一个数据复制粘贴到一个 excelsheet 中并进行分析。作为回应,我创建了一个简单的程序,使用价值投资方法来抓取网页并产生内在价值。这已经成为我的旗舰产品,我和 SMU 的同学们分享。
Chill:数据科学的乐趣
My experience cycling 515 km over 3 days in Java Island Indonesia
避免精疲力尽,享受黑客的乐趣
人际关系在生活中很重要。因此,继续和你的朋友一起黑客吧。利用周六学习,周日放松。
此外,加入学习型公司。Visa 和 Google 就是其中的几个。在科技公司工作最大的好处是,你可以学到未来几年需要的关键技能。
对我来说,我很高兴通过在教堂和朋友们一起放松来避免筋疲力尽。每当我有空的时候,我都会健身。我会为马拉松、铁人三项,甚至海外自行车旅行(最近在印度尼西亚爪哇岛三天跑了 515 公里)进行训练。工作很忙,但也很充实,一旦新的星期一开始,我会重新振作起来。索利·迪奥·格洛丽亚。
最后…
我真的希望这是一本很棒的读物,是你发展和创新的灵感来源。
请在下面评论提出建议和反馈。就像你一样,我也在学习如何成为一名更好的数据科学家和工程师。请帮助我改进,以便我可以在后续的文章发布中更好地帮助您。
谢谢大家,编码快乐:)
关于作者
Vincent Tatan 是一名数据和技术爱好者,拥有在 Google LLC、Visa Inc .和 Lazada 实施微服务架构、商业智能和分析管道项目的相关工作经验。
Vincent 是土生土长的印度尼西亚人,在解决问题方面成绩斐然,擅长全栈开发、数据分析和战略规划。
他一直积极咨询 SMU BI & Analytics Club,指导来自不同背景的有抱负的数据科学家和工程师,并为企业开发他们的产品开放他的专业知识。
文森特还在best top和 10to8 上开设了他的一对一导师服务,指导你如何在谷歌、Visa 或其他大型科技公司获得你梦想的数据分析师/工程师工作。如果你正在寻找良师益友,请在这里预约你和他的约会。
最后,请通过 LinkedIn , Medium 或 Youtube 频道 联系文森特
数据分析:为什么经常达不到预期的结果
那些拥有正确数据和可用的正确分析方法的人将能够使预测更便宜、更具可扩展性。然而,只有少数公司成功地从单个用例走向了大规模部署。这样,经济承诺就无法兑现。
通过在决策过程之前提供基于事实的信息平台,数据分析有助于将错误决策降至最低。换句话说,数据分析可以帮助回答这样的问题:客户和业务合作伙伴需要什么?未来特定产品的需求量是多少,或者我可以预测材料磨损导致损坏之前的时间吗?如果你有正确的数据和适当的分析方法,你今天就可以回答所有这些问题,从而拥有明显的竞争优势。
机会不会耗尽。
2013 年,美国心理学家和行为经济学家丹·艾瑞里宣称:“大数据就像青少年性行为:每个人都在谈论它。没人知道怎么做。每个人都认为其他人在做,所以每个人都声称自己在做。”那是五年前的事了,从那时起,公司发生了很多变化。保持不变的是试点项目的规模。造成这种情况的原因有很多,总体而言,一家公司的数字化水平与公司中分析方法的跨职能扩展之间存在明显的相关性。
遗漏扩展的最常见原因是:最高管理层没有向分析团队提出正确的问题,并且没有在数据分析能力的开发方面进行足够的投资。结果可能令人沮丧:数据分析程序半途而废,达不到管理层的预期。继续学习的必要投资缺失,恶性循环必然开始。
经济利益半途而废。
然而,他们确实存在,这些公司的分析程序是成功的。但是这些公司做的有什么不同,或者其他公司做错了什么?要回答这个问题,您必须详细查看每个案例。
然而,十个典型错误通常与数据分析程序的失败有关:
- 管理层缺乏远见。
高级管理层不清楚他们想通过数据分析实现什么目标。 - 没有计算用例。
没有比较成本和收益,因此没有选择尽快为公司提供附加值的用例。 - 没有分析策略。
各单项工程互不相关。他们的选择是任意的。 - 角色没有明确定义。
专家和人事经理还没有为分析领域制定详细的工作简介。 - 分析专业人员太少。没有足够的员工既懂技术,又了解业务流程和市场,并能在技术专家和商业经济学家之间进行调解。
- 数据分析不是核心业务的一部分。
因此,来自这一领域的发现无法为公司的成功做出贡献,数据专家的工作也是无效的。 - 根据给予每个人平等份额的原则,代价高昂的数据清理。这个不是很有效,但是很贵。
- 分析架构服务于错误的目标。
新的分析架构的开发目的不是交付最佳结果,而是基于公司的旧 IT 系统。 - 数据分析计划的财务收益未知。没有人详细考虑过分析程序对公司的财务影响。
- 未考虑数据分析的道德、社会和法律后果。
注重技术的测试会导致损害形象的问题,甚至会产生法律后果。
尽管这十个错误可能不同,但它们都有一个共同点。它们表明:那些想要利用数据分析提供的机会的人,必须让他们的整个企业文化与这一目标保持一致。仅仅组建一个专家团队,并相信他们正在努力克服困难,同时仍然交付突破性的成果是不够的。数据分析必须是核心业务的一部分,并集成到营销和销售等其他业务流程中。
此外,除了技术人员和策略师之外,“分析专业人员”也必须加入进来。他们代表着数据专家与公司和最高管理层之间的联系。他们将公司管理层的目标和问题转发给数据专家,并将数据分析的结果反馈给公司。
管理层需要专业知识来回答重要问题
除了专家组之外,公司管理层也应该具备一定的这方面的专业知识。虽然“人工智能”和“高级分析”这些神奇的词广为人知,但很少有人知道它们背后的实际含义。然而,没有这些知识,就很难回答这些紧迫的问题。例如,应该从哪里控制数据分析?从一个中心位置?风险在于它不会渗透到单个业务领域。或者,从不同的部门分散?这里存在共存的风险。几个分析程序并行存在,并且不兼容。
特定任务是否应该外包给外部服务提供商?这个决定也应该慎重考虑。当然,战略伙伴关系可以是双赢的。但与此同时,数据分析堪比公司的大脑。那么谁会希望一个陌生人能接触到他所有的记忆和未来计划呢?目标必须始终是能够独自行走。
员工必须依赖数据分析的结果。
然而,其他员工也必须参与到数据驱动型公司的旅程中。毕竟,他们不仅要与数据专家密切合作,还要相信他们的结果。只有这样,数据分析才能成为关键业务决策的基础。很明显,仅仅将首席分析官(CAO)的新职位分配给首席数据官(CDO)是不够的。这只是工作的开始。
AWS 数据分析:简介
分析是对数据的系统化分析。数据分析是应用的特定分析流程。
数据分析对大大小小的企业都至关重要。它帮助决策者基于分析和数字而不是直觉和运气做出决定。关键任务,如:推出新产品、提供折扣或营销新领域,都需要时间敏感的决策和丰富的经验。当大规模经营时,经理们可能会被要做的决策数量淹没,有时,运气是你最好的赌注。
所有这些问题都可以通过数据分析解决方案来解决。然而,随着企业开始实施这些解决方案,他们可能会面临一些挑战:
- 使用什么数据以及如何使用?
- 如何连接我的所有数据源?
- 如何运行全自动化管道?
- 如何管理这些管道?
这些问题适用于小型或大型企业。两者都需要建立一个环境来回答这些问题并预测未来的问题。
组织在数据存储上花费了数百万美元。问题不在于找到数据——问题在于没有对数据做任何事情,AWS
大规模数据分析的优势
客户个性化
根据客户的行为、过去的购买行为和其他人的购买行为,应该向客户展示什么产品或服务?
欺诈检测
哪些交易是欺诈性的,或者哪些用户不是人类(机器人)?
安全威胁检测
我们如何从使用模式中识别潜在的安全风险?
用户行为
基于他的在线行为,我们如何识别一个用户是否是潜在客户,他能花多少钱购买我们的产品/服务?
金融建模和预测
如何根据财务数据预测市场趋势?
实时警报
我们需要接收哪些警报?谁将收到哪个警报?
数据分析解决方案
任何数据分析解决方案的主要逻辑是:
- 原始数据:以原始格式从数据源获取数据。它可以是文本、数字或视频…
- 数据表:将数据组织成存储方案(数据库、数据湖……)
- 数据视图:可视化收集和清理的数据,以执行分析并获得洞察力。
这些步骤需要在类似流水线的结构中执行:
- 连接到任何来源的原始数据
- 以任何形式、任何速度将数据接收到存储解决方案中
- 在可扩展、持久且安全的解决方案中存储各种数据(结构化、半结构化或非结构化)
- 处理这些数据,将其转换为可用的数据集,以供使用和分析(聚合、连接……)。这些数据集需要存储在与原始数据不同的位置
- 使用商业智能工具和仪表盘可视化最终数据,以寻求答案和见解。在这一步中使用机器学习来应用算法,以超越通常的分析。
数据分析的挑战
在现代企业中,数据由大量来源产生:电子商务网站、日志、CRM、ERP、数字营销、社交媒体、物联网…重要的问题是如何管理所有这些数据,以及如何从中产生价值,从而比竞争对手更具优势。
建立这样一个数据分析解决方案的挑战可以归结为我们所说的五对 : 量、速度、多样性、准确性和价值。
需要注意的是,根据业务类型、规模和产品,组织可能会面临上述五项挑战中的几项或全部。比如 Youtube (视频内容)就没有媒体存在的问题(文字内容)。
以下是每个 V 的简要定义:
- **卷:**是传入并将被系统接收的数据总量。
- **速度:**这是数据流入的速度,挑战在于近乎实时地处理数据并尽快返回结果。示例:验证信用卡交易必须是即时的(接近实时)
- **多样性:**系统中接收的数据可以有不同的格式,我们不能像处理视频或文本那样处理数字数据,因此数据分析解决方案必须管理所有这些多样性
- **准确性:**就是传入数据的准确性。这是任何分析解决方案的一个非常重要的部分,企业必须确保存储在系统中的数据是干净和准确的,否则产生的所有分析都将是有缺陷的,这可能是危险的
- **价值:**任何投资都必须为投资者创造价值,数据分析解决方案也不会偏离这一规则。决策者寻求从这些系统中提取有意义的信息和见解,以获得竞争优势。
AWS 在这一切?
AWS 是亚马逊网络服务的缩写,是电子商务巨头亚马逊的云分支。
AWS 是一家云提供商,提供全面管理、可扩展、耐用且安全的 IT 基础设施解决方案。这意味着只需几次点击,企业就能部署完整的数据分析解决方案,这非常强大。云提供商(谷歌和 GCP,微软和 Azure 等)的主要卖点是“专注于你的业务,让我们做剩下的事情”。
在这个系列中,我们将探索 AWS 提出的解决方案/产品,以设置数据分析解决方案的每个步骤。
接下来呢?
本文是我将介绍使用 AWS 进行数据科学和分析的系列文章的一部分。在本系列结束时,您将对数据分析中使用的 AWS 解决方案有一个概述。
在本系列的下一篇文章中,我将发表一篇关于数据分析解决方案每个组件的具体文章。我们将深入探索 AWS 生态系统,以建立完整的分析基础架构。