每周精选—2018 年 7 月 27 日
马里奥 vs 瓦里奥:Python 中的图像分类
由艾里克·林森 — 8 分钟阅读
从我的学龄前时代起,我记得花了很多时间和我最喜欢的游戏机玩游戏。我最喜欢的两个平台游戏是马里奥和瓦里奥。我记得当我的祖母看了一眼我正在玩的游戏,问我那是什么。我解释说是超级马里奥。
为什么“好的数据”缺乏精确性
由莎拉胡克 — 13 分钟读取
我刚刚在斯德哥尔摩参加了 2018 年 ICML 国际机器学习大会,度过了美妙的一周。ICML 最活跃的非正式社区之一是“数据为善”社区。我们组织了几次自发的午餐,在那里我遇到了一些令人难以置信的研究人员和应用实践者。
用 Python 进行零售价格推荐的机器学习
由苏珊李 — 6 分钟读完
日本最大的社区购物应用 Mercari 深刻地认识到一个问题。他们希望向卖家提供定价建议,但这很难,因为他们的卖家可以在 Mercari 的市场上出售任何东西或任何一捆东西。
如何获得正确的数据?为什么不自讨苦吃?
由威廉·科尔森 — 6 分钟阅读
虽然数据科学的技术技能——想想用梯度推进机器建模——得到了最多的关注,但其他同样重要的通用问题解决能力可能会被忽视。
Coursera 的深度学习大师班
索汉·乔杜里 — 10 分钟阅读
《钢铁侠》上映时我才八岁,看着它让我肃然起敬。有什么不爱呢?超级英雄的技术,大胆的行动,以及小罗伯特·唐尼自大的天才让我的心怦怦直跳,眼睛死死盯着屏幕。
深度学习和土壤科学
作者 José Padarian — 7 分钟阅读
这是我致力于深度学习在土壤科学中的应用的系列文章的第一篇。我的动机是为了表明深度学习对其他事情有用,而不是对猫和狗的照片或情感进行分类。并不是说猫和狗有什么不好,但是已经有数百万个这样的例子了…
如何与数据科学撒谎
由马頔舒尔加 — 10 分钟阅读
最近,我读了达雷尔·赫夫写的《如何用统计撒谎》一书。这本书谈到了如何利用统计数据让人们得出错误的结论。我发现这是一个令人兴奋的话题,我认为它与数据科学非常相关。
前沿人脸识别比较复杂。这些电子表格使它变得更容易。
由戴夫·史密斯 — 20 分钟读取
机器学习可能很复杂……而且刚开始学的时候很吓人。另一方面,电子表格很简单。它们并不性感,但是它们去除了干扰,帮助你以直观的方式形象化代码背后发生的事情。
每周精选—2018 年 6 月 15 日
将机器学习模型嵌入网络应用
由查敏·娜琳达 — 12 分钟读完
学习数据科学的最佳方式是实践,没有其他选择。在这篇文章中,我将反映我如何开发一个可以将电影评论分为正面或负面的机器学习模型,以及如何将该模型嵌入到 Python Flask web 应用程序中。
c++中的算法
通过 Vadim Smolyakov — 9 分钟读取
本文的目的是向读者介绍四种主要的算法范例:完全搜索、贪婪算法、分治和动态编程。许多算法问题可以映射到这四个类别中的一个,掌握每一个将使你成为一个更好的程序员。
机器学习即服务
由塞巴斯蒂安·科维亚特科夫斯基 — 9 分钟阅读
用户生成内容的爆炸式增长和归档材料的数字化产生了大量数据集,其中包含大量人就几乎每一个主题发表的意见。
数据科学中“直觉”的诅咒
通过法维奥·巴斯克斯 — 5 分钟阅读
我们习惯很快就下结论,而不分析所有方面。因此,当试图理解世界时,直觉经常失败。在这里,我提出了一个不同的系统来做数据科学,而不是“相信你的直觉”。
临床自然语言处理简介
由安德鲁龙 — 17 分钟读完
医生总是写下关于他们病人的临床记录——最初,这些记录写在纸上,锁在柜子里。对数据科学家来说幸运的是,医生现在可以在电子病历中输入他们的笔记。
创业数据科学:R - > Python
由本·韦伯 — 9 分钟读完
在我的博客系列初创公司的数据科学中,我收到的一条反馈是,对于加入初创公司的数据科学家来说,Python 将是更好的选择。如果 Python 已经是执行数据科学任务的首选语言,这就很有意义了。
数据科学的差距
基里尔·叶列缅科 — 7 分钟阅读
似乎每隔一天就有一篇关于数据科学如何成为就业前景最佳领域的新文章。无论是需求还是高薪,它看起来都是寻找工作保障的学生和寻求更高工资的工人的理想选择。
如何在数据科学竞赛中胜出——洞察力、技巧和策略
由 Christo Zonnev — 6 分钟读取
过去两天,我花了相当多的空闲时间在当前的数据科学竞赛上。在 Vidhya 的贷款预测问题。是的,睡眠比平时少了,但是学习是值得的。
每周精选—2018 年 6 月 22 日
用深度学习把堡垒之夜变成 PUBG(cycle gan)
由钦坦特里维迪 — 5 分钟阅读
如果你是一个游戏玩家,你一定听说过两个疯狂流行的皇家战役游戏,堡垒之夜和 PUBG。这是两个非常相似的游戏,100 名玩家在一个小岛上决一雌雄,直到只剩下一名幸存者。
自然语言处理从业者指南
由迪潘詹(DJ)萨卡尔 — 31 分钟读取
非结构化数据,尤其是文本、图像和视频包含了丰富的信息。然而,由于处理和分析这些数据的固有复杂性,人们通常不会花费额外的时间和精力从结构化数据集冒险出来分析这些非结构化数据源,这可能是一座潜在的金矿。
从头开始的卷积神经网络
由 Alejandro Escontrela — 13 分钟读取
著名的卷积神经网络的 NumPy 实现:迄今为止最有影响力的神经网络架构之一。
搭乘航班:使用 Networkx 和底图可视化社交网络
由 Tuan Doan Nguyen — 7 分钟阅读
今天,我将介绍非常强大的网络可视化工具——Networkx 和底图。许多有趣的问题自然来自或启发某种形式的图模型——顶点(或节点)和连接这些顶点的边之间的关系。
人工智能解决方案
维亚切斯拉夫·波隆斯基博士——8 分钟阅读
对人工智能(AI)未来的歇斯底里无处不在。关于人工智能如何治愈疾病、加速人类创新和提高人类创造力的耸人听闻的新闻并不缺乏。
Billboard Hot 100 Analytics
由玫瑰花蕾安乌里。 — 8 分钟读取
关于流行的现代音乐,你从“年长”的人那里听到的最多的是什么?总的主题是:“你的音乐声音太大,缺乏内容”。
机器学习 Kaggle 竞赛第二部分:提高
到威廉·科尔森 — 20 分钟阅读
我建议不要走“孤独的天才”之路,不仅因为它非常孤独,还因为你会错过竞争中最重要的部分:向其他数据科学家学习。
各付各的,第 2 部分:使用地理数据改进机器学习模型
由拉斐尔·皮埃尔 — 11 分钟读完
这就是数据科学的妙处之一。有时候这感觉像是一项调查工作:你需要寻找线索并把这些点联系起来。就好像真相就在那里。
数据讲述:提高洞察力到行动的转换,以获得更大的现实世界影响
由周宇 — 9 分钟读出
数据科学家有两种类型:B 型和 A 型。B 型用于构建,A 型用于分析。对应这两种类型,在数据科学项目中,我最担心两种潜在的结果。第一,模型不能进入生产系统。
超参数在起作用!第二部分—权重初始化器
由丹尼尔·戈多伊 — 17 分钟阅读
这是我关于超参数系列的第二篇文章。在这篇文章中,我将向你展示正确初始化你的深层神经网络的重要性
每周精选—2018 年 6 月 29 日
贝叶斯统计如何说服我去健身房
由段德安阮 — 10 分钟阅读
所以有一点背景信息:我来自越南,在新加坡上高中,目前在美国上大学。我经常听到人们取笑我看起来有多小,我的体重肯定有多轻,我应该如何锻炼,去健身房,增加体重,以便拥有“更好的体格”。
开始阅读深度学习研究论文:为什么和如何
通过 Nityesh Agarwal — 8 分钟读取
在你读完那本书或完成那门令人惊叹的关于深度学习的在线课程后,你是如何继续学习的?你如何变得“自给自足”,这样你就不必依赖别人来分解该领域的最新突破?
使用 Hyperopt 在 Python 中进行贝叶斯优化的介绍性示例
由威廉·科尔森 — 9 分钟阅读
虽然寻找一个函数的最小值可能看起来很平常,但这是一个延伸到许多领域的关键问题。例如,优化机器学习模型的超参数只是一个最小化问题:这意味着搜索验证损失最低的超参数。
边缘上的深度学习
通过 Bharath Raj — 7 分钟阅读
可扩展的深度学习服务取决于几个约束。根据您的目标应用,您可能需要低延迟、增强的安全性或长期成本效益。在这种情况下,将深度学习模型托管在云上可能不是最佳解决方案。
2018 年 CVPR 十大最酷论文
由乔治·赛义夫 — 8 分钟读完
2018 年计算机视觉和模式识别大会(CVPR)于上周在美国盐湖城举行。这是计算机视觉领域的世界顶级会议。今年,CVPR 收到了 3300 份主要会议论文,接受了 979 份。超过 6500 人参加了会议,好家伙,这是史诗!
数据科学泡沫
由丹尼尔·卡罗尔 — 4 分钟读完
恐怕我有一些坏消息要告诉我的数据科学家同事;数据科学是当今公司最糟糕的投资之一。虽然单个项目可以获得 1000 倍的投资回报,但你的公司的下一个项目做到这一点的可能性几乎为零,事实上,它完全失败的可能性相当高。去年,Gartner 估计多达 85%的数据计划会失败。
创业公司的数据科学:深度学习
由本·韦伯 — 13 分钟读出
这篇博文是对使用 Keras 深度学习框架解决经典(浅层)机器学习问题的简要介绍。它展示了一个案例研究,来自我在意外之财数据公司的经历,我在那里研究一个模型,预测美国数亿套房产的房价。
快速发现可行管道
肖恩·麦克卢尔 — 22 分钟
软件开发的一个原则是尽可能自动化。这就是 DevOps 的思维模式,在这种模式下,致力于自动化有助于团队不断地推出特性,同时确保最佳实践得到尊重。
使用 Tensorflow 对象检测和 OpenCV 分析足球比赛
通过 Priya Dwivedi — 4 分钟阅读
作为数据科学家,让我们利用这个机会对足球片段进行一些分析。通过使用深度学习和 opencv,我们可以从视频剪辑中提取有趣的见解。请看下面澳大利亚和秘鲁比赛的 gif 示例,我们可以识别所有球员+裁判,足球,还可以根据球员球衣的颜色预测球员属于哪个队。所有这些都可以实时完成。
打赢不平衡数据之战
由 Rafael Pierre — 9 分钟阅读
多年来,欺诈者只是简单地从信用卡或借记卡中提取数字,并将其打印在空白塑料卡上,以便在实体店使用。但在 2015 年,Visa 和 Mastercard 强制要求银行和商户引入 EMV——芯片卡技术,这使得商户开始为每笔交易请求 PIN 成为可能。
每周精选—2018 年 6 月 8 日
Python 中的自动化特征工程
由威廉·科尔森 — 11 分钟阅读
机器学习越来越多地从手工设计的模型转向使用 H20 、 TPOT 和 auto-sklearn 等工具的自动优化流水线。这些库,以及随机搜索等方法,旨在通过在很少或没有人工干预的情况下为数据集找到最佳模型,来简化模型选择和机器学习的调整部分。
直观理解用于深度学习的卷积
通过 Irhum Shafkat — 15 分钟读取
近年来,强大而通用的深度学习框架的出现,使得在深度学习模型中实现卷积层成为可能这是一项极其简单的任务,通常只需一行代码即可实现。
用于数据科学的 Python:你可能已经忘记的 8 个概念
由康纳·杜威 — 7 分钟读完
如果你曾经发现自己在编程时一遍又一遍地查找相同的问题、概念或语法,你并不孤单。我发现自己经常这样做。
利用 FIFA 18 中的深度 Q-Learning 完善任意球艺术
通过 Chintan Trivedi — 8 分钟读取
在我的上一篇文章中,我展示了一个使用监督学习技术训练来玩国际足联游戏的人工智能机器人。通过这种方法,机器人很快学会了传球和射门等游戏的基本知识。然而,进一步改进它所需的训练数据很快变得难以收集,并且几乎没有改进,使得这种方法非常耗时。
我如何利用数据科学和机器学习在阿姆斯特丹找到一套公寓
由 Rafael Pierre — 11 分钟阅读
阿姆斯特丹的房地产市场正在经历一场令人难以置信的危机,自 2013 年以来,房地产价格以每年两位数的速度飙升。虽然房主有很多理由笑,但对那些想买房或租房的人来说就不一样了。
最好的话
通过周里昂 — 6 分钟读取
这句话是在 2015 年 12 月 30 日南卡罗来纳州竞选集会的高潮中说出的,只是我们现任总统唐纳德·j·特朗普越来越多的“特朗普主义”的又一个例子。这些声明既让唐纳德更受他的支持者的喜爱,成为他们值得信赖的总统,同时也是似乎所有其他人嘲笑的原因。
必须知道深度学习(AI)中的信息论概念
通过 Abhishek Parbhakar — 6 分钟阅读
信息论是一个重要的领域,对深度学习和人工智能做出了重大贡献,但对许多人来说却是未知的。信息论可以被视为深度学习的基本构建模块的复杂融合:微积分、概率和统计。
数学机器学习之光:理解 Word2vec 的直观指南
由 Thushan Ganegedara — 12 分钟阅读
数学机器学习系列 之光 A-Z 第三篇博文来了。这篇文章是关于 Word2vec 算法的。Word2vec 算法输出单词向量。
解释正态分布的 68–95–99.7 规则
由迈克尔·加拉尼克 — 4 分钟阅读
正态分布通常与上图中的68-95-99.7 rule
相关。68%的数据在平均值(μ)的 1 个标准差(σ)内,95%的数据在平均值(μ)的 2 个标准差(σ)内,99.7%的数据在平均值(μ)的 3 个标准差(σ)内。
每周精选—2018 年 3 月 16 日
我是如何用 Python 中的深度学习实现 iPhone X 的 FaceID 的。
由诺曼·迪帕洛 — 8 分钟阅读
新的 iPhone X 最受讨论的一个特点是新的解锁方式,TouchID 的继任者: FaceID 。
创造了无边框手机后,苹果不得不开发一种简单快捷的解锁手机的新方法。
k 近邻介绍
由 Devin Soni — 4 分钟读取
k-最近邻(kNN) 分类方法是机器学习中最简单的方法之一,通常是向您介绍机器学习和分类的一种很好的方式。
利用深度学习提升 FIFA 18 图形
通过 Chintan Trivedi — 6 分钟读取
游戏工作室花费数百万美元和数千个开发小时来设计游戏图形,试图使它们看起来尽可能接近现实。虽然图形在过去几年看起来非常逼真,但仍然很容易将它们与现实世界区分开来。
用 Python 控制网络
由威廉·科尔森 — 9 分钟阅读
问题:提交课堂作业需要浏览错综复杂的网页,以至于好几次我都把作业提交错了地方。此外,虽然这个过程只需要 1-2 分钟,但有时它似乎是一个不可逾越的障碍(比如当我晚上很晚才完成一项任务,而我几乎记不起我的密码)。
成为数据科学家应该知道的十种机器学习算法
作者:沙尚克·古普塔 — 9 分钟阅读
机器学习从业者性格各异。虽然其中一些是“我是 X 方面的专家,X 可以对任何类型的数据进行训练”,其中 X =某种算法,但其他一些则是“适合合适工作人员的合适工具”。
理解特征工程(四)——文本数据的深度学习方法
到迪潘詹·萨卡尔 — 29 分钟阅读
处理非结构化文本数据非常困难,尤其是当你试图构建一个智能系统,像人类一样解释和理解自由流动的自然语言时。您需要能够处理嘈杂的、非结构化的文本数据,并将其转换为任何机器学习算法都可以理解的结构化、矢量化格式。
在 BigQuery 上用纯 SQL 实现的深度神经网络
由哈里桑卡尔·哈里达斯博士 — 9 分钟阅读
在这篇文章中,我们将用 SQL 实现一个带有一个隐藏层(以及 ReLu 和 softmax 激活函数)的深度神经网络。神经网络训练的端到端步骤(包括前向传递和反向传播)将作为 BigQuery 上的单个 SQL 查询来实现。
Python 中的数据预处理:我是如何爱上并行化应用于 Dask 和 Numba 的
欧内斯特·金 — 7 分钟阅读
作为旧金山大学数据科学的研究生,我经常与数据争论。应用是我学会的许多帮助创建新要素或清理数据的技巧之一。
我们感谢 Patreon 的支持者,是他们让我们的工作成为可能😊
威廉·霍格、克里斯·塞德尔、拉梅什·沙拉姆、丹尼尔·夏皮罗、博士、文卡特·拉曼、基里尔·帕纳林、哈比卜·巴卢瓦拉、赛赛、扎克·塞普恩、蒂尔塔约蒂·萨卡尔、帕布·帕拉尼萨米、西米恩·科斯塔迪诺夫、内森·劳伊
每周精选—2018 年 3 月 2 日
Join us as an Editorial Associate
数据工程初学者指南—第二部分
由罗伯特·常 — 12 分钟读完
在 《数据工程入门指南》 — 第一部分 **,**中,我解释了一个组织的分析能力是建立在一层又一层之上的。从收集原始数据和构建数据仓库到应用机器学习,我们看到了为什么数据工程在所有这些领域发挥着关键作用。
雇佣数据科学家第一步:停止寻找数据科学家。
杰西·摩尔 — 6 分钟阅读
我们正在寻找一个人来填补我们商业模式中即将到来的空白。我们不确定你会做什么,但我们确信我们的股东会喜欢我们有数据科学家的想法。
映射真实世界
通过 Pratyush More — 5 分钟读取
我们都认为我们知道世界是什么样子的。但是我们的世界地图总是反映最重要的东西吗?例如,关于中国在过去几十年中惊人的经济增长已经说了很多。
5 种快速简单的 Python 数据可视化代码
由乔治·赛义夫 — 7 分钟读完
数据可视化是数据科学家工作的一大部分。在项目的早期阶段,您通常会进行探索性数据分析(EDA ),以获得对数据的一些见解。
揭开量子门的神秘面纱——一次一个量子位
由杰森·罗尔 — 11 分钟读完
如果你想进入量子计算领域,那就别无选择:你必须掌握量子门的模糊概念。像量子计算中的一切一样,更不用说量子力学了,量子门被笼罩在一层不熟悉的术语和矩阵数学的迷雾中,这反映了量子的神秘。
找数据科学家工作的两面性
由法维奥·巴斯克斯 — 16 分钟阅读
所以你是一名数据科学家,或者你认为你离数据科学家越来越近了,你开始在这个领域找工作。我的第一个建议:耐心点!这不是一件容易的事,也许你会申请上百份工作才能得到一份。
意外后果和古德哈特定律
由威廉·科尔森 — 4 分钟阅读
为了增加收入,一个客户服务呼叫中心的经理制定了一项新政策:不再按小时计酬,而是根据每个员工打电话的次数来支付报酬。在第一周之后,这个实验似乎取得了巨大的成功:呼叫中心每天处理的电话数量增加了一倍!
机器学习从零开始:第二部分
塞巴斯蒂安·科维亚特科夫斯基 — 10 分钟阅读
非常感谢您的关注和积极反馈!我很高兴看到你们许多人认为这些材料很有用。这个系列正在逐渐发展成为一个关于应用机器学习中最重要主题的全面和独立的教程。
如何成为一个糟糕的数据科学家!
通过帕斯卡·波特文 — 4 分钟读取
所以,你想成为一名数据科学家,或者更好地说,你认为你现在是一名数据科学家,并且你已经为你的第一份工作做好了准备…我们要确保你不是我下面列出的“想成为数据科学家”的刻板印象之一,否则你很可能会在面试中遭到无数次拒绝。我不认为这是所有刻板印象的完整列表。
我们感谢帕特里翁的支持者,是他们让我们的工作成为可能😊
威廉·霍格,克里斯·塞德尔,拉梅什·沙拉姆,丹尼尔·夏皮罗,博士,文卡特·拉曼,基里尔·帕纳林,哈比卜·巴卢瓦拉,【赛赛】,扎克·塞格彭,蒂尔塔约蒂·萨卡尔,帕布·帕拉尼萨米,西米恩·科斯塔迪诺夫,
每周精选—2018 年 3 月 23 日
使用 Tensorflow 对象检测进行逐像素分类
由 Priya Dwivedi — 4 分钟阅读
过去,我使用 Tensorflow 对象检测 API 来实现对象检测,输出是图像中不同感兴趣对象周围的边界框。更多请看我的文章。
我们的 Gitter 平台上的✨实时聊天我们现在有了一个 Gitter 平台,让我们的作者们就他们即将发布的帖子交流想法和反馈。请在此加入并在#介绍频道介绍你自己!
使用 Python 中的散景进行数据可视化,第一部分:入门
威廉·科尔森 — 11 分钟阅读
如果没有交流结果的有效手段,最复杂的统计分析可能是没有意义的。我最近在我的研究项目中的一次经历让我明白了这一点,在这个项目中,我们使用数据科学来提高建筑能效。
什么是期望值?
通过 Devin Soni — 4 分钟读取
期望值是大量实验中随机变量的平均值。随机变量将数值映射到实验中每个可能的结果。
利用深度学习解决网站所有者的共性问题
通过 uKit ICO — 5 分钟读取
如果你看看这篇文章,你会发现这部分网站仍然有很大的增长潜力。增长的因素之一是当前网站建设工具的简单性。
为什么你应该开始使用。npy 文件更频繁……
由 Tirthajyoti Sarkar — 5 分钟阅读
Numpy 是数值 Python 的缩写,是 Python 生态系统中高性能科学计算和数据分析所需的基础包。它是几乎所有高级工具如 Pandas 和 scikit-learn 构建的基础。
每位数据科学家都应该阅读的五大业务相关书籍
由简·扎瓦日基 — 7 分钟读完
根据 Drew Conway 的说法,数据科学独角兽是统计、编程和商业方面的专家。虽然已经说了很多并做了很多来帮助数据科学家变得更擅长数学和编码,但这篇文章帮助数据科学家提高他们的商业思维。
deep learning . ai 课程回顾
托马斯·特里梅尔 — 14 分钟阅读
最近在 Coursera 上完成了吴恩达的 deeplearning.ai 专精的最后一门课程,想分享一下自己上这套课程的想法和体会。我发现 Arvind N 对前三门课程的评论在决定参加第一门课程时非常有用,所以我希望,也许这也能对其他人有用。
用于图像分类的增强
通过 Neerja Doshi — 5 分钟读取
在处理图像数据时遇到的一个问题是图像的不一致性(有些图像太大或太小,有些是矩形而不是正方形,等等)。另一个经常面临的问题是训练集中图像的数量,这经常导致过度拟合。
借助自然选择的音乐
通过 Irhum Shafkat — 10 分钟读取
深度生成模型的一个更有趣的问题是,模型如何在生成过程中考虑用户偏好?
我们感谢 Patreon 的支持者,是他们让我们的工作成为可能😊
威廉·霍格、克里斯·塞德尔、拉梅什·沙拉姆、丹尼尔·夏皮罗、博士、文卡特·拉曼、基里尔·帕纳林、哈比卜·巴卢瓦拉、安娜·安尼辛、公式化、斯普林姆、赛赛赛、扎克·蒂格彭、提尔塔约提·萨卡尔、
成为赞助人 ✨
每周精选—2018 年 3 月 30 日
这就是这么多数据科学家离职的原因
由 Jonny Brooks-Bartlett — 8 分钟阅读
**是的,**我是一名数据科学家,**是的,**你的确没看错标题,但总得有人说出来。我们读到了很多关于数据科学是 21 世纪最性感的工作的故事,以及作为数据科学家可以赚到诱人的钱的故事,这似乎是绝对的梦想工作。
在数据科学领域找一份工作可能会是什么样子
由克里斯汀·凯尔勒——9 分钟阅读
我读过一些文章,这些文章阐述了进入分析和数据科学领域有多难。这不是我的经历,所以我想分享一下。
用于深度学习的线性代数
由 Niklas Donges — 9 分钟阅读
线性代数的概念对于理解机器学习背后的理论至关重要,尤其是对于深度学习。它给你一个更好的直觉,让你知道算法到底是如何工作的,这让你能够做出更好的决定。
深度学习的“怪异”介绍
由法维奥·巴斯克斯 — 14 分钟读出
有关于深度学习的惊人介绍、课程和博文。我将在参考资料部分列出其中一些,但这是一种不同的介绍。
学习关于学习的算法
由科迪·玛丽·怀尔德 — 13 分钟读完
当我第一次听说元学习时,它的前提是一个令我陶醉的东西:建造不仅能够学习,而且能够学习如何学习的机器的项目。元学习的梦想愿望是算法能够根据性能信号修改其架构和参数空间的基本方面,算法能够在面对新环境时利用积累的经验。
深度学习最佳实践(1) —权重初始化
通过 Neerja Doshi — 7 分钟读取
作为深度学习的初学者,我意识到的一件事是,没有太多的在线文档在一个地方涵盖所有深度学习技巧。有许多小的最佳实践,从初始化权重、正则化等简单技巧到循环学习率等稍微复杂的技术,可以使神经网络的训练和调试更加容易和有效。
提升您的数据科学技能。学习线性代数。
通过 hadrienj — 7 分钟读取
本系列的目标是为希望理解足够的线性代数以适应机器学习和深度学习的初学者提供内容。不过我觉得深度学习书中关于线性代数的章节对初学者来说有点难。
自然语言处理—建立问答模型
通过 Priya Dwivedi — 7 分钟阅读。
我最近在斯坦福大学通过深度学习(CS224N)完成了一门关于 NLP 的课程,我很喜欢这种体验。学到了一大堆新东西。在我的最后一个项目中,我设计了一个基于斯坦福问答数据集(SQuAD)的问答模型。
我们感谢帕特里翁的支持者,是他们让我们的工作成为可能😊
威廉·霍格、克里斯·塞德尔、拉梅什·沙拉姆、丹尼尔·夏皮罗、博士、文卡特·拉曼、基里尔·帕纳林、哈比卜·巴卢瓦拉、安娜·安尼辛、公式化、斯普林姆、赛赛赛、扎克·蒂格彭、提尔塔约提·萨卡尔、
成为赞助人 ✨
每周精选—2018 年 3 月 9 日
马尔可夫链简介
由德文·索尼 — 5 分钟读完
马尔可夫链是统计建模随机过程的一种相当常见且相对简单的方法。它们已经被用于许多不同的领域,从文本生成到金融建模。
为您的回归问题选择最佳机器学习算法
到乔治·赛义夫 — 5 分钟阅读
当处理任何类型的机器学习(ML)问题时,有许多不同的算法可供选择。在机器学习中,有一个叫做“没有免费的午餐”的定理,它基本上说明了没有一种最大似然算法对所有问题都是最好的。
超越准确度:精确度和召回率
由威廉·科尔森 — 11 分钟阅读
你会相信一个声称完全在大脑中创造了一个模型的人以超过 99%的准确率识别试图登机的恐怖分子吗?嗯,这里有一个模型:简单地给每个从美国机场起飞的人贴上非恐怖分子的标签。鉴于美国航班每年平均 8 亿乘客和2000 年至 2017 年登上美国航班的 19 名(已确认)恐怖分子,这个模型达到了惊人的 99.9999999%的准确率!
利用 GANs 对感知图像哈希的黑盒攻击
通过尼克·洛卡西奥 — 5 分钟读取
tldr: 这篇文章演示了 GANs 能够以两种关键方式破解图像哈希算法:(1) 反转攻击:从哈希合成原始图像(2) 中毒攻击:合成任意自然图像分布的哈希冲突。
通过网络抓取使用 Python 进行数据分析:使用 CIA World Factbook 进行说明
通过 Tirthajyoti Sarkar — 9 分钟阅读
在数据科学项目中,几乎总是最耗时和最混乱的部分是数据收集和清理。每个人都喜欢建立一两个很酷的深度神经网络(或 XGboost)模型,并用很酷的 3D 交互情节来展示自己的技能。但是这些模型需要原始数据作为开始,而且这些数据来的不容易也不干净。
糖尿病数据的机器学习工作流程:第 2 部分
通过lahi ru Liyanapathirana—7 分钟读取
在本系列的上一篇文章中,我们讨论了关于糖尿病数据集的机器学习工作流。并讨论了诸如数据探索、数据清洗、特征工程基础和模型选择过程等主题。你可以在下面找到之前的文章。
为什么取连续目标变量的对数?
通过 Radek Osmulski — 5 分钟阅读
数据科学是一个阴谋。
“嗨,我叫鲍勃,我是你们的教练。我将教你如何开车。打开第 147 页的书,让我们了解不同类型的排气歧管。这是基本的波义耳定律的公式……”
机器学习从零开始:第三部分
塞巴斯蒂安·科维亚特科夫斯基 — 12 分钟阅读
第 3 部分介绍了数组。这一系列高阶集合允许我们以机器学习算法可以处理的格式描述图像和文本文档。
每周精选—2018 年 5 月 11 日
用于深度学习的线性代数
由维哈尔鞍马 — 5 分钟阅读
线性代数、概率和微积分是机器学习的“语言”。学习这些主题将有助于更深入地理解底层算法机制,并允许开发新的算法。
深度学习书籍笔记:概率入门
阿德里安·卢卡斯·艾柯菲(Adrien Lucas Ecoffet)—18 分钟阅读
这些是我对深度学习这本书第三章的笔记的第一部分。它们也可以作为概率的快速入门。这些笔记涵盖了这一章的大约一半(介绍性概率的部分),后续的文章将涵盖其余部分(一些更高级的概率和信息理论)。
逻辑回归算法
通过 Niklas Donges — 7 分钟阅读
逻辑回归是用于二元分类的最常用的机器学习算法之一。这是一个简单的算法,您可以将其用作性能基线,它易于实现,并且在许多任务中表现得足够好。
利用 Tensorflow 对象检测构建自定义掩膜 RCNN 模型
通过 Priya Dwivedi — 5 分钟阅读
您现在可以使用 Tensorflow 对象检测库构建自定义遮罩 RCNN 模型!掩模 RCNN 是一个实例分割模型,可以逐个像素地识别任何对象的位置。
揭开生成对抗网络的神秘面纱
斯蒂芬·侯赛因 — 5 分钟阅读
在本教程中(源自我的原始帖子这里),你将学习什么是生成性对抗网络(gan ),而无需深入数学细节。之后,你将学习如何编写一个简单的可以创建数字的 GAN!
机器共情的深度学习:机器人和人类的互动——第一部分
由尼尔森·费尔南德斯 — 4 分钟阅读
当我们思考下一次数字革命迫在眉睫的发展时,人类将面临前所未有的自动化浪潮。越来越多的智能和互联设备将与我们共存。
使用位置敏感散列法进行快速近似重复图像搜索
按 Gal Yona — 9 分钟读取
如果你在机器学习方面受过一些教育,最近邻居这个名字可能会让你想起 k-nearest neighbors 算法。这是一个非常简单的算法,看起来实际上没有“学习”:kNN 规则只是通过训练集中 k 个最近邻中的多数标签对每个未标记的例子进行分类。
一个问题解释 AI 为什么会起作用
由彼得·斯威尼 — 20 分钟读取
请教各位驻院专家,AI 为什么会起作用?他们会很乐意解释是如何工作的,方法就像一个令人着迷的梯度下降的术语。但是为什么呢?为什么一台昂贵而高深莫测的机器会创造出我解决问题所需的知识?
每周精选—2018 年 5 月 18 日
用 Python 进行无监督学习
由维哈尔鞍马 — 7 分钟阅读
无监督学习是一类机器学习技术,用于发现数据中的模式。提供给无监督算法的数据没有被标记,这意味着只有输入变量(X)被提供,而没有相应的输出变量。
如何用 Python 从零开始构建自己的神经网络
由詹姆斯·洛伊 — 6 分钟读完
作为我个人更好地理解深度学习之旅的一部分,我决定在没有 TensorFlow 这样的深度学习库的情况下,从头构建一个神经网络。我认为,理解神经网络的内部工作对任何有抱负的数据科学家都很重要。
谷歌的 AutoML 将改变企业使用机器学习的方式
由乔治·赛义夫 — 6 分钟读完
Google 的 AutoML 是一个新兴的(alpha 阶段)机器学习工具云软件套件。它基于谷歌在图像识别领域的最新研究,名为神经架构搜索 (NAS)。
Tableau 图表上的终极备忘单
由 Kate Strachnyi — 11 分钟阅读
Tableau Desktop 是一款非常棒的数据分析和数据可视化工具。它允许您立即看到您的数据(通过几次拖放)。“演示”功能非常有用,尤其是对于那些刚刚开始使用 Tableau 的人。
2018 年国际足联世界杯:数据驱动的理想球队阵容方法
by 詹姆斯·勒 — 8 分钟阅读
随着 2018 年俄罗斯世界杯的到来,世界各地的每个足球迷都渴望预测今年哪个队会赢。对于球迷来说,另一个迫在眉睫的问题是他们最喜欢的国家队应该如何排队:应该使用什么阵型?应该选哪些球员?哪些人应该留在替补席上或从锦标赛中淘汰?
3 个小而强大的卷积网络
由亚瑟·迪亚尔 — 5 分钟阅读
为了在 ImageNet 上获得最佳精度,已经开发了许多 CNN 架构。计算能力不限这个比赛,何苦呢?
使用 Tensorflow 对象检测在视频中检测皮卡丘
由胡安·德·迪奥斯·桑托斯 — 7 分钟读完
在 TensorFlow 的众多功能和工具中,有一个名为 TensorFlow 对象检测 API 的组件。顾名思义,这个库的目的是训练一个能够识别帧中对象(例如图像)的神经网络。
预测泰坦尼克号乘客的生还几率
由 Niklas Donges — 20 分钟阅读
在这篇博文中,我将介绍在著名的 Titanic 数据集上创建机器学习模型的整个过程,这个数据集被世界各地的许多人使用。它提供了泰坦尼克号上乘客的命运信息,按照经济地位(阶级)、性别、年龄和存活率进行汇总。
使用 Keras 优化超参数
通过 Mikko — 15 分钟读取
有了正确的流程,就不难为给定的预测任务找到最先进的超参数配置。在三种方法中——手动、机器辅助和算法——本文将重点讨论机器辅助。
每周精选—2018 年 5 月 25 日
模型解释的必要性和重要性
由迪潘然(DJ)萨卡 — 12 分钟阅读
在过去十年中,机器学习领域经历了一些显著的变化。最初只是一个纯学术和研究导向的领域,我们已经看到广泛的行业采用了不同的领域,包括零售,技术,医疗保健,科学和更多。
使用无监督学习计划巴黎之旅:地理位置聚类
由 Hamza Bendemra 博士 — 6 分钟阅读
当女朋友告诉我,她正计划和她的一个女朋友去巴黎旅行 10 天,我想我能帮上忙。
如何制作像汉斯·罗斯林一样的动画图表——全部在 R 中完成
由特里斯坦·甘瑞——5 分钟阅读
汉斯·罗斯林是统计学大师。他毕生致力于推动使用数据和动画图表来探索发展问题,并分享基于事实的世界观。
科学家工具箱中需要的 10 种数据挖掘技术
由詹姆斯·勒 — 30 分钟读完
数据科学家的核心是数学和统计学背景。出于这种数学背景,他们正在创建高级分析。在这种应用数学的极端,他们正在创建机器学习模型和人工智能。
创业数据科学:商业智能
由本·韦伯 — 17 分钟读完
在初创公司建立数据科学涉及的大量繁重工作是说服产品团队使用仪器并关心数据。如果你能够实现这个目标,下一步就是能够回答你的组织内所有关于产品健康的问题。
现实生活规划问题的强化学习
由菲利普·奥斯本 — 15 分钟阅读
最近,我发表了一些例子,其中我为一些现实生活中的问题创建了强化学习模型。例如,根据设定的预算和个人偏好使用强化学习进行膳食计划。
时序嵌套交叉验证
作者:考特尼·科克伦 — 18 分钟阅读
这篇博文讨论了对时间序列数据使用传统交叉验证的缺陷。具体来说,我们解决了 1)在不导致数据泄漏的情况下分割时间序列,2)使用嵌套交叉验证来获得独立测试集的无偏误差估计,以及 3)使用包含多个时间序列的数据集进行交叉验证。
进入文本的黑暗之心
通过周里昂 — 8 分钟读取
互联网是一个丛林。在这里,丰富的多样性和奇妙的色彩结合起来,创造了一个独特的生态系统,使新的技术和通信方法。
Google Duplex 打败图灵测试了吗?是和否
通过 Artem Oppermann — 4 分钟读取
尽管谷歌在语音人工智能领域的成就是开创性的,但有两个原因(在我看来)导致谷歌人工智能没有通过图灵测试。然而,仍然有好消息。
每周精选—2018 年 5 月 4 日
随机加权平均——一种获得深度学习最新成果的新方法
由 Max Pechyonkin — 8 分钟读取
传统的集成将几个不同的模型结合起来,并使它们对相同的输入进行预测。然后使用某种平均方法来确定系综的最终预测。
能预测你电影口味的 4 个推荐引擎
由詹姆斯·勒 — 18 分钟读完
当你下班回家的时候,你曾经不得不回答这个问题至少一次吗?至于我——是的,而且不止一次。从网飞到 Hulu,鉴于现代消费者对个性化内容的巨大需求,建立强大的电影推荐系统的需求极其重要。
行动中的超参数!介绍 DeepReplay
丹尼尔·戈多伊 — 8 分钟阅读
在我之前的帖子中,我邀请你想知道当你训练一个神经网络时,在引擎盖下到底发生了什么。然后我研究了激活函数的作用,用图和动画说明了它们对特征空间的影响。
auto mold——自动驾驶汽车专用增强库
由乌吉瓦尔·萨克森纳 — 5 分钟阅读
在 Udacity 的自动驾驶汽车纳米级课程开始不久,我就意识到,除了通常遵循的增强技术,自动驾驶汽车还需要专门的增强。无人驾驶汽车是人工智能最复杂的挑战之一,在许多方面也不同于其他挑战。
Web 抓取、正则表达式和数据可视化:全部用 Python 完成
由威廉·科尔森 — 7 分钟阅读
与大多数有趣的项目一样,这个项目以一个简单的问题开始,这个问题被半认真地问了一遍:我为我的大学校长的五分钟时间支付多少学费?在与我们学校的校长()进行了一次偶然而愉快的讨论后,我想知道我的谈话到底花了我多少钱。
如何赢得数据科学面试
克里斯汀·凯尔勒 — 7 分钟阅读
我以前写过关于我最近找工作的文章,但是这篇文章只关注面对面的面试。那一整天,试着让他们眼花缭乱,交叉你的手指,希望你已经为扔给你的东西做好了准备。
我的第一份数据科学家实习
由阿德蒙德·李 — 7 分钟读完
在写作的时候,是我在量子发明的数据科学家实习最后一天的前一天。现在,坐在笔记本电脑屏幕前,回想过去几个月的学习历程,真的很难,但也很充实。
机器学习为什么在边缘?
由 Neil Tan — 5 分钟阅读
软件工程可能很有趣,尤其是当与志同道合的人朝着共同的目标努力时。自从我们开始了微控制器(MCU)人工智能框架助理项目,许多人问我们: 为什么要在 MCU 上进行边缘计算?云与应用处理器还不足以构建物联网系统吗? 深思熟虑的问题,的确如此。
数学机器学习之光:理解 KL 散度的直观指南
由 Thushan Ganegedara — 10 分钟阅读
我正在开始一系列新的博客文章,遵循初学者友好的方法来理解机器学习中一些具有挑战性的概念。首先,我们将从 KL 散度开始。
每周精选—2017 年 11 月 10 日
应用深度学习—第 4 部分:卷积神经网络
由阿登·德塔特 — 23 分钟阅读
卷积神经网络(CNN)无处不在。它可以说是最流行的深度学习架构。最近对深度学习的兴趣激增是由于 convnets 的巨大普及和有效性。
如何让临床人工智能技术获得监管机构批准
由休·哈维 — 12 分钟读完
医学中的人工智能正在到来,除了一个讨厌的障碍,没有什么可以阻止它。无论你是一家三人创业的小公司,还是一家价值数十亿美元的国际企业集团,你都必须通过医疗器械监管的试金石测试。
用 Python 预测员工流动率
由苏珊李 — 9 分钟读完
本文展示了一个员工离职分析项目的参考实现,该项目是使用 Python 的 Scikit-Learn 库构建的。在本文中,我们介绍了逻辑回归,随机森林和支持向量机。
B2B 高管必备的 5 种数据可视化
By Payman Taei — 6 分钟阅读
人脑是一个强大的工具,可以创造和处理大量的信息。如果你想走从页面或屏幕到大脑的最短路线,试试图像。
谷歌联合实验室——简化数据科学工作流程
由 Dmitry Rastorguev — 3 分钟读取
谷歌最近公开了其用于数据科学和机器学习工作流的内部工具,名为 Colaboratory 。虽然它非常类似于 Jupyter Notebook ,但真正的价值来自这项服务目前提供的免费计算能力。
分析科研人员的迁移
由汉娜·韩嫣 — 4 分钟读完
今天我根据 ORCID (开放研究者和贡献者 ID)数据调查了科研人员的洲际和洲际迁移。由于不是每个人都有 ORCID,该数据集最好被视为所有研究人员的定向样本,并跟踪他们最早/最新开展研究活动的国家以及他们的博士国家。
数据科学可视化 10 年
通过本·韦伯 — 6 分钟读取
我在数据科学领域的职业生涯始于十年前,当时我在加州大学圣克鲁斯分校(UC Santa Cruz)上了第一门机器学习课程。从那以后,我在各种团队中工作过,使用过许多不同的可视化工具。
每周精选—2018 年 11 月 16 日
全面的实践指南,将学习与深度学习中的真实世界应用相结合
由迪潘詹(DJ)萨卡尔 — 45 分钟阅读
人类有跨任务传递知识的天生能力。我们在学习一项任务时获得的知识,我们以同样的方式用来解决相关的任务。
如何用优化器更快的训练神经网络?
到皮奥特·斯卡斯基 — 11 分钟读取
当我在做最后一篇文章时,我有机会只用 Numpy 创建自己的神经网络。这是一项非常具有挑战性的任务,但同时它极大地拓宽了我对神经网络内部发生的过程的理解。
AI 犯错是谁的错?
凯西·科济尔科夫(Cassie Kozyrkov)—6 分钟阅读
别误会,我爱机器学习和 AI。但我不会盲目地信任他们,你也不应该,因为你构建有效可靠的 ML/AI 解决方案的方式是强迫每个解决方案去赢得你的信任。
时间序列预测的贝叶斯方法
丹尼尔·弗利 — 19 分钟阅读
今天我们将从头开始在 R 中实现贝叶斯线性回归,并使用它来预测美国 GDP 增长。这篇文章是基于英格兰银行关于应用贝叶斯计量经济学的非常翔实的手册。
x tensor 视觉
由狼伏尔普雷希特 — 7 分钟读完
展示一个清晰的愿景是很重要的——尤其是对于开源项目:只有一个共同的目标才能把人们聚集在一起。这就是为什么我们决定最终整理出一份文件,展示我们对 C++如何在数据科学的未来发挥重要作用的愿景,以及为什么。
井字游戏——用极大极小算法创造无与伦比的人工智能
由格雷格·苏尔马 — 6 分钟阅读
在今天的文章中,我将向你展示如何创建一个无与伦比的人工智能代理来玩经典的井字游戏。你将学习极大极小算法的概念,这种算法在人工智能、经济学、博弈论、统计学甚至哲学等领域得到了广泛而成功的应用。
建模:教授机器学习算法以交付商业价值
到威廉·科尔森 — 9 分钟读取
这些文章涵盖了应用于预测客户流失的概念和完整实现。project Jupyter 笔记本在 GitHub 上都有。
用深度学习预测职业棋手的棋步
由 Sayon Bhattacharjee—9 分钟阅读
所以我不擅长下棋。我爸爸在我小的时候教我,但我想他是那种总是让孩子赢的爸爸。为了弥补这个世界上最受欢迎的游戏之一的技能缺乏,我做了任何数据科学爱好者都会做的事情:建立一个人工智能来击败我无法击败的人。
每周精选—2017 年 11 月 17 日
[The "A ?】“iPhone Bug 像病毒一样传播
由尼克·洛卡西奥 — 4 分钟阅读
苹果于 11 月 1 日推出了 iOS 11.1,发布了大量问题和漏洞。但是没有什么能与 A [?] bug 在过去的一周收到了这个。
Booking.com 一位数据科学家的日记
由西康大乘 — 6 分钟读完
大约两年半前,我作为一名数据科学家加入了Booking.com,此前我在迪拜从事了 3 年的咨询工作。从咨询转向纯粹的数据科学角色是我职业生涯中的一个重大转变,事后看来,我很高兴自己做出了这个选择。
机器学习中的正则化
由 Prashant Gupta — 7 分钟读取
训练机器学习模型的一个主要方面是避免过度拟合。如果模型过拟合,精度会很低。
每个 ML 工程师都需要知道的基本算法
克里斯托弗·档案员 — 4 分钟阅读
在深度神经网络接管场景之前,机器学习作为一个领域已经存在了很长时间。这里有一个你需要知道的算法列表,这样你就可以解决任何遇到的问题。
辛顿++
由安东尼·雷佩托 — 10 分钟阅读
杰弗里·辛顿有所发现。他的机器智能模型依赖于他称为“胶囊”的神经元簇,是对我们自己的大脑如何理解世界的最好解释,因此也是对机器如何理解世界的最好解释。
理解神经网络中的目标函数。
由拉斯·赫尔斯特 — 9 分钟阅读
博客帖子经常解释优化方法,如随机梯度下降或其变体,但很少花时间解释如何为神经网络构建目标函数。为什么均方误差(MSE)和交叉熵对数损失被用作 resp 的目标函数。
info gan——生成性对抗网络第三部分
通过 Zak Jost — 6 分钟读取
在第一部分中,提交了原始 GAN 文件。第二部分对 DCGAN 进行了概述,它极大地提高了 GANs 的性能和稳定性。
人工智能从业者需要应用的 10 种深度学习方法
由詹姆斯·勒 — 13 分钟读完
过去十年,人们对机器学习的兴趣激增。你几乎每天都能在计算机科学项目、行业会议和《华尔街日报》上看到机器学习。
机器人也错了——最坏情况下的混乱映射
由克里斯·巴特勒 — 8 分钟读出
上一次计算器不按你的意愿工作是什么时候?一个人最后一次这样做是什么时候?从确定性的角度来看,像机器学习这样的算法介于这两者之间。
每周精选—2018 年 11 月 23 日
在 Python 中部署 Keras 深度学习模型作为 Web 应用
由威廉·科尔森 — 7 分钟阅读
建立一个很酷的机器学习项目是一回事,但归根结底,你希望其他人能够看到你的努力。当然,你可以把整个项目放在 GitHub 上,但是你的祖父母怎么知道呢?不,我们想要的是将我们的深度学习模型部署为世界上任何人都可以访问的 web 应用程序。
通过构建真实世界的应用程序掌握 Python(第一部分)
通过 Dhrumil Patel — 8 分钟读取
互联网是一个烂摊子,有时,没有合适的资源,学习一门新的编程语言可能是一项乏味的任务。在这种情况下,大多数学习者会放弃或者选择其他东西来玩。所以,在我们开始之前,让我向你保证一件事,这不是你在网上冲浪时偶然发现的任何其他“学习 python 编程”的帖子。
处理深度学习中的不平衡数据集
由乔治·赛义夫 — 6 分钟读完
并非所有的数据都是完美的。事实上,如果你能得到一个完美平衡的真实世界数据集,你将会非常幸运。大多数情况下,您的数据会有某种程度的类不平衡,这是因为您的每个类都有不同数量的示例。
文本自然语言处理介绍
由文茨斯拉夫·约尔达诺夫 — 16 分钟读完
读完这篇博客后,你会知道一些从一些文本中提取特征的基本技术,所以你可以使用这些特征作为机器学习模型的输入。
面向大众的深度学习(…和语义层)
通过法维奥·巴斯克斯 — 12 分钟阅读
深度学习现在无处不在,在你的手表里,在你的电视机里,在你的手机里,在某种程度上,在你阅读这篇文章的平台上。在这里我将谈论如何以一种非常简单的方式开始使用深度学习来改变你的业务。但是首先,你需要了解语义层。
理解二元交叉熵/对数损失:一个直观的解释
由丹尼尔·戈多伊 — 9 分钟阅读
如果你正在训练一个二进制分类器,你很可能使用二进制交叉熵/对数损失作为你的损失函数。有没有想过用这个损失函数到底是什么意思?
使用美国各州直观查看欠拟合和过拟合
由瓦伦蒂诺·康斯坦蒂努 — 8 分钟阅读
在训练预测模型时,需要牢记许多注意事项-数据如何生成的基本假设、独立变量之间的相关性、用于训练的数据份额等等。
食品配送时间预测简介
通过 Jye SR — 14 分钟读取
配送时间预测长期以来一直是城市物流的一部分,但最近精确化对于 Deliveroo、Foodpanda 和 Uber Eats 等按需配送食品的服务变得非常重要。
超越单词嵌入第 4 部分——将语义结构引入神经自然语言处理
由亚伦(阿里)博恩施泰因 — 7 分钟读完
自从 word2vec 的出现,神经单词嵌入已经成为在 NLP 应用中封装分布式语义的常用方法。本系列将回顾使用预训练单词嵌入的优点和缺点,并演示如何将更复杂的语义表示方案(如语义角色标记、抽象意义表示和语义依赖解析)整合到您的应用程序中。
每周精选—2017 年 11 月 24 日
估计深度神经网络的最佳学习速率
由帕维尔·苏梅诺克 — 6 分钟阅读
在这篇文章中,我将描述一个简单而强大的方法来找到一个合理的学习率,这是我从 fast.ai 深度学习课程中学到的。我正在旧金山大学亲自学习这门课程的新版本。
揭开“EM 路由矩阵胶囊”的神秘面纱第 1 部分:概述
通过 Sahaj Garg — 13 分钟读取
最近,深度学习之父之一的杰弗里·辛顿(Geoffrey Hinton)发表了一项革命性的计算机视觉架构,在机器学习界掀起了波澜:胶囊网络。Hinton 自 2012 年以来一直在推动使用胶囊网络,此前他首次革命性地使用卷积神经网络(CNN)进行图像检测,但直到现在他才使它们变得可行。
公司级仪表盘的三个常见错误
由克里斯·道塞特 — 4 分钟阅读
公司级仪表板很特殊。他们掌握着所有部门和业务领域最重要的关键绩效指标(KPI)。
对贾哈和托普的 JAMA《适应人工智能》的思考
伦纳德·达沃利奥博士——6 分钟阅读
当记者写下人工智能在医疗保健领域的颠覆性力量时,他们往往会专注于放射学和病理学,这是有充分理由的。这两项交易都涉及从可量化的图像数据中解读模式——在从面部识别到热狗分类的几项研究和商业应用中,人工智能已经证明了这一点。
创建更有说服力的图表的 5 个数据故事技巧
由 Payman Taei — 9 分钟阅读
与数字打交道通常不被认为是一份性感的工作。毕竟,像会计和数据录入这样的职业在这个数字时代并不是最令人兴奋的职业。
强化学习:怪癖
多米尼克·蒙恩(Dominic Monn)—3 分钟阅读
作为实习的一部分,我一直在各种 OpenAI Gym 环境中应用 A3C 和 GA3C 算法的变体。在此之前,除了一些入门课程,我没有任何广泛的强化学习经验,所以这对我来说很新鲜。
为什么您应该忘记数据科学代码的“for-loop ”,而接受矢量化
通过 Tirthajyoti Sarkar — 4 分钟读取
我们都使用 for-loops 来完成大部分需要在一长串元素上迭代的任务。我敢肯定,几乎所有正在阅读这篇文章的人,都是在高中或大学时使用 for 循环编写了他们的第一个矩阵或向量乘法代码。
吴恩达的计算机视觉— 11 个经验教训
瑞安·施罗特——6 分钟阅读
我最近在 Coursera 上完成了吴恩达的计算机视觉课程。Ng 在解释优化任何计算机视觉任务所需的许多复杂想法方面做得非常出色。
我们能不能不要再用单词云了
由 Claire Lesage — 5 分钟阅读
自然语言处理中有很多有趣的、更科学的问题,但我今天在这里只是和大家分享一个观点。词云是一流的丑陋。
每周精选—2017 年 11 月 3 日
45 种激活数据科学职业生涯的方法
由基里尔叶列缅科 — 8 分钟阅读。
我们询问了 LinkedIn 小组成员,他们在成为成熟的数据科学家时面临的最大挑战是什么。一些最常见的挫折是:不知道从哪里开始,缺乏经验,无法形成网络,难以联系到合适的人。
Watch #DSFORALL with Nate Silver, Tricia Wang and others.
一个数据科学工作流程
到 Aakash Tandel — 13 分钟读取。
没有解决数据科学问题的模板。路线图会随着每个新数据集和新问题而变化。但是我们确实在许多不同的项目中看到类似的步骤。
数据科学家需要掌握的 10 项统计技术
由詹姆斯·勒 — 15 分钟读完。
不管你站在数据科学性感的立场上,都不可能忽视数据的持续重要性,以及我们分析、组织和联系数据的能力。
张量流入门(第一部分)
由纳拉辛哈·普拉桑娜·HN—7 分钟阅读。
Tensorflow 是广泛用于实现机器学习和其他涉及大量数学运算的算法的库之一。
建立分析文化
由乔治·克拉萨达斯 — 7 分钟阅读。
“大数据时代”的数据可用性大幅提高。公司通常会积累大量复杂的数据,描述越来越多的业务活动。
机器学习遇上时尚
由郁风 G — 5 分钟读完。
在《人工智能历险记》的这一集中,我们将尝试把整个机器学习工作流程整合成一个流程,从我们之前的剧集中汲取最佳实践。这是一个很大的材料,但我认为我们可以做到这一点!
每周精选—2018 年 11 月 30 日
使用 Tensorflow 对象检测控制第一人称射击游戏
由钦坦·特里维迪 — 4 分钟阅读
不久前,我偶然发现了这个非常有趣的项目,在这个项目中,文章的作者使用一个网络摄像头来玩名为《真人快打》的经典格斗游戏。他利用卷积神经网络和递归神经网络的组合来从他的网络摄像头记录中识别踢和打的动作。
让你的神经网络说“我不知道”——使用 Pyro 和 PyTorch 的贝叶斯神经网络
由 Paras Chopra — 17 分钟阅读
构建图像分类器已经成为新的“hello world”。还记得你第一次遇到 Python 的那一天,你的*打印“hello world”*感觉很神奇吗?几个月前,当我跟随 PyTorch 官方教程并为自己构建了一个简单的分类器时,我也有同样的感觉。
Python 功耗分析简介
通过 Eryk Lewinson — 7 分钟读取
如今,许多公司——网飞、亚马逊、优步和 T21,还有一些更小的公司——不断地进行实验(A/B 测试),以测试新功能并实现那些用户认为最好的功能,并最终带来收入增长。数据科学家的角色是帮助评估这些实验,换句话说,验证这些测试的结果是否可靠,是否可以/应该在决策过程中使用。
3 种常见的数据科学职业转变,以及如何实现这些转变
由杰瑞米·哈里斯 — 7 分钟阅读
当我学习物理的时候,我经常需要在谷歌上查找听起来很奇怪的技术术语。当我这样做的时候,第一个点击往往是维基百科的一篇文章。
使用 NLP 算法人性化客户投诉
通过 Vishal Morde — 8 分钟读取
去年圣诞节,我经历了作为消费者最沮丧的经历。我正在做一些最后一分钟的假日购物,在排了很长的队后,我终于到达了受祝福的收银台,却发现我的借记卡被封了。
用 Python 进行强化学习
由维哈尔鞍马 — 12 分钟读取
强化是一类机器学习,其中代理通过执行动作来学习如何在环境中行为,从而得出直觉并看到结果。在本文中,您将学习理解和设计一个强化学习问题,并用 Python 来解决。
使用 FastAI 和即时频率变换的音频分类
约翰·哈特奎斯特 9 分钟阅读
虽然深度学习模型能够帮助解决许多不同类型的问题,但图像分类是课程和框架最普遍的例子,通常充当“你好,世界”的介绍。
图论—历史&概述
由耶稣·纳胡拉 — 4 分钟阅读
也许这是一种直觉,用图来分析系统会增加我对分散式和集中式网络的理解。我这个数学家看到了明确的网络分析是如何极大地有利于激励驱动系统的研究的。
每周精选—2018 年 11 月 9 日
为什么你不应该成为数据科学通才
由杰瑞米·哈里斯 — 6 分钟阅读
我在一家数据科学导师初创公司工作,我发现有一条建议是我反复给有抱负的学员的。这真的不是我所期望的。
我的秘制酱料将在一场纸牌比赛中名列前 2%
通过阿沛·帕瓦尔 — 7 分钟阅读
在 kaggle 比赛中竞争是有趣和令人上瘾的!在过去的几年里,我开发了一些标准的方法来探索功能并建立更好的机器学习模型。
5 份数据科学总结
凯西·科济尔科夫(Cassie Kozyrkov)—7 分钟
本着团队合作的精神, Next Rewind 视频系列要求一群人从 Google Cloud Next SF 2018 中挑选五个最喜欢的演讲,并在不超过五分钟的时间内对着镜头进行讨论。
预测工程:如何设置你的机器学习问题
威廉·科尔森 — 9 分钟阅读
这些文章将涵盖应用于预测客户流失的概念和完整实现。project Jupyter 笔记本在 GitHub 上都有。
轻松调度:Python 成本优化教程
由艾瑞克·斯托罗兹 — 6 分钟读出
恭喜你!你是镇上最酷商店的骄傲的新主人。为了保持运营,您需要确保为每个班次安排了正确数量的工人。在本教程中,我们将为即将到来的一周设计最低成本的时间表。
我在找房子,所以我用 Python 做了一个 web scraper!
由法比奥·内维斯 — 8 分钟阅读
几个月后,我将不得不离开我租的公寓,去找一个新的。尽管这种经历非常痛苦,尤其是当房地产泡沫即将出现时,我决定将它作为提高我的 Python 技能的又一个激励!最后,我希望能够做两件事
使用 3D 可视化调整 ML 模型中的超参数
由 Xoel López Barata — 6 分钟读取
想象一下,你正试图为 Kaggle 的 Rossmann 商店销售竞争开发一个解决方案。你已经做了大量的功能工程,并创造了大量的新变量,这可能有助于你更好地预测未来的销售。
用 RNNs 进行时间序列预测
通过Marek galo VI—6 分钟阅读
在这篇文章中,我想给你一个我建立的预测时间序列数据的 RNN 模型的概述。这项工作的主要目标是设计一个模型,该模型不仅可以预测下一个时间步,还可以生成一系列预测,并利用多个行驶时间序列以及一组静态(标量)特征作为其输入。
每周精选—2018 年 10 月 12 日
熵是不确定性的量度
由塞巴斯蒂安·科维亚特科夫斯基 — 9 分钟阅读
假设你正在医生办公室的候诊室里与三个病人交谈。他们三人都刚刚完成了一项医学测试,经过一些处理后,得出两种可能的结果之一:疾病要么存在,要么不存在。
可以对你的时尚图片进行分类的 4 种卷积神经网络模型
由詹姆斯·勒 — 12 分钟读完
买衣服是一件很累人的事情。我的眼睛被太多的信息轰炸。销售、优惠券、颜色、蹒跚学步的孩子、闪烁的灯光和拥挤的过道只是传递给我的视觉皮层的所有信号的几个例子,不管我是否积极地试图注意。
没有学位如何学数据科学
由 Jason Jung — 7 分钟阅读
我想告诉你如何在没有学位的情况下(或者免费)成为一名数据科学家/机器学习工程师。具有讽刺意味的是,我有一个学位——甚至是为数据科学而设的(西北大学的分析硕士学位)。
利用 Spark 进行大规模图形挖掘
按 Win Suen — 8 分钟读取
如果您是一名工程师,您很可能使用过图形数据结构来实现搜索和查找算法。你也用它们来解决机器学习问题吗?
出租车如何算出车费?—预测纽约市出租车价格
由苏珊李 — 5 分钟读完
预测出租车价格肯定没有预测机票价格那么红火。然而,由于我们目前没有可用的机票价格公开数据,为什么不从预测出租车价格开始练习呢?
如何使用 Python、Geopandas 和 Matplotlib 制作 gif 地图
由本杰明·库利 — 7 分钟阅读
作为一种语言,Python 非常灵活。这使得有时仅用几行代码就可以实现许多不同的可视化。但是现在有了这么多不同的图表网站和软件,为什么还要写代码呢?
政策梯度的直观解释—第 1 部分:强化
Adrien Lucas Ecoffet — 13 分钟阅读
这是一系列教程的第 1 部分,我希望有 2 或 3 部分。下一部分将讨论 A2C,如果时间允许,我希望能完成一部分关于各种形式的政策外政策梯度的讨论。
Matplotlib 终极指南
通过 Julia Kho — 6 分钟阅读
本文是关于如何自定义 Matplotlib 绘图的常见问题和答案的汇编。这是快速 Matplotlib 绘图的一个很好的备忘单,而不是 Matplotlib 库的介绍。
口红推荐的协作嵌入
通过 Sylvain Truong — 10 分钟阅读
对于一家电子商务公司来说,花时间和精力去了解客户行为,对客户和公司本身来说都是一种双赢的策略。
出于性能考虑,停止使用 pip 安装 Tensorflow!
由迈克尔阮 — 2 分钟阅读
停止使用 pip 安装 Tensorflow!用康达代替。如果你不知道 conda 是什么,它是一个跨平台运行的开源包和环境管理系统。
每周精选—2018 年 10 月 19 日
自学习人工智能代理第一部分:马尔可夫决策过程
由 Artem Oppermann — 11 分钟阅读
深度强化学习正在兴起。近年来,深度学习的其他子领域没有被研究人员和全球大众媒体谈论得更多。深度学习中的大多数杰出成就都是由于深度强化学习而取得的。
人工智能入门终极指南
到卡西·科济尔科夫 — 16 分钟读完
许多团队试图在计算出期望的输出和目标之前,通过钻研算法和数据来启动应用人工智能项目。不幸的是,这就像在纽约市的公寓里养了几年小狗,然后惊讶于它不能为你放羊。
好奇心驱动的学习变得简单
由托马斯·西蒙尼尼 — 9 分钟阅读
近年来,我们在深度强化学习方面看到了很多创新。从 2014 年的 DeepMind 和 Deep Q 学习架构,到 2018 年的 OpenAI 用 OpenAI five 玩 Dota2,我们生活在一个令人兴奋和充满希望的时刻。
要想被聘为数据科学家,不要人云亦云
由杰瑞米·哈里斯 — 5 分钟阅读
我还记得我哥哥决定卖掉他的比特币的那一刻。那是 2017 年,我们在星巴克。一位中年妇女向我们走来,她正在向任何愿意接受的人分发小册子。顶部用粗体字写着“比特币:提前退休之路”。
使用 OpenCV 和 Tensorflow 实时查找停车位置
由 Priya Dwivedi — 6 分钟阅读
有多少次你开车在停车场转来转去寻找停车位。如果你的手机能告诉你最近的停车位在哪里,那该有多方便啊!
微型杀伤性武器:我们的“喜欢”如何劫持民主
由戴夫·史密斯 — 23 分钟读完
点击“喜欢”是我们大多数人不假思索就会做的事情。这是一种社会货币,它给我们短暂的震动,并加速我们的多巴胺中心。然而,谁知道我们所有的“喜欢”会预测我们的个性,并变成反对我们的政治说服工具呢?
用人口普查收入数据预测学校表现
到 Sayon Bhattacharjee — 11 分钟阅读
我小时候,我们家经常搬家。出于这个原因,我的父母一直在考虑找一个合适的社区居住。有几个因素影响了这个决定,但对于忧心忡忡的父母来说,有一个主导因素:一所好学校。
金融市场的平稳性和记忆性
Yves-Laurent Kom Samo — 16 分钟阅读
平稳性和时间序列的可预测性是时间序列记忆的一个特例,是量化投资过程的基本概念。然而,正如最近出版的《金融机器学习的进步》一书的第五章所证明的,这些经常被从业者和研究者误解。
每周精选—2018 年 10 月 26 日
数据科学家需要了解的 5 个基本统计概念
由乔治·赛义夫 — 9 分钟阅读
当执行数据科学(DS)的艺术时,统计学可以是一个强有力的工具。从高层次的角度来看,统计是使用数学对数据进行技术分析。
人工智能对人类智能的洞察
通过穆罕默德·阿里坎·诺扬 — 8 分钟阅读
自从图灵设想思维机器以来,人工智能(AI)和人类智能之间的比较一直是一场激烈的辩论
从预先训练的模型中转移学习
由佩德罗·马塞利诺 — 14 分钟读完
深度学习正在快速成为人工智能应用的关键工具(LeCun et al. 2015)。例如,在计算机视觉、自然语言处理和语音识别等领域,深度学习已经产生了显著的成果。
在没有大数据的 NLP 中应用深度学习的经验教训
由约纳坦·哈达尔 — 10 分钟阅读
作为一名数据科学家,你最重要的技能之一应该是为你的问题选择正确的建模技术和算法。几个月前,我试图解决一个文本分类问题,即对哪些新闻文章与我的客户相关进行分类。
用 Python 构建 ETL 管道
丹尼尔·弗利 — 8 分钟阅读
在我的上一篇帖子中,我讨论了我们如何设置一个脚本来连接 Twitter API 并将数据直接传输到数据库中。今天,我将向大家展示我们如何访问这些数据并对其进行分析,实际上是从头到尾创建一个完整的数据管道。
文本预测器——用递归神经网络生成说唱歌词
由格雷格苏尔马 — 12 分钟阅读
在今天的文章中,我将向您介绍 递归神经网络 (RNNs)的主题,它将允许我们训练代理学习文本、音频、视频等序列数据。
neural funk——结合深度学习和声音设计
通过最大 Frenzel — 21 分钟读取
很长一段时间以来,我一直想把我对音乐的热情与我在人工智能领域的工作结合起来。但我一直拖着。我觉得在尝试让深度学习参与这个过程之前,我需要首先提高我的音乐制作技能。
使用 Apache Spark SQL 和数据框架的大规模 SQL——概念、架构和示例
由迪潘詹(DJ)萨卡尔 — 21 分钟阅读
不管大肆宣传以及通常被称为*‘NoSQL’*数据库的新型数据库的出现,关系数据库将会一直存在。原因很简单,这些数据库强制执行基本的结构和约束,并提供了一种很好的声明性语言来查询我们喜欢的数据——SQL!
我如何利用自己的社交媒体数据
杰西·史密斯 — 5 分钟阅读
大约两年前,我参加了第一次数据科学入门课程。在我注册的十周时间里,我学会了如何收集数据,修改数据,分析数据,可视化数据,并将其粘贴到机器学习算法中。
每周精选—2018 年 10 月 5 日
超越 DQN/A3C:高级强化学习调查
由徐雅欣 — 17 分钟阅读
关于深度强化学习,我最喜欢的一点是,与监督学习不同,它真的,真的不想工作。用神经网络解决计算机视觉问题可能会让你达到 80%的目标。
通过采样进行迭代初始质心搜索,用于 k 均值聚类
马修·梅奥 — 8 分钟阅读
在这篇文章中,我们将着眼于使用迭代方法来搜索 k-means 聚类的一组更好的初始质心,并且将通过在我们的完整数据集的样本上执行这个过程来实现。
解决多臂强盗:epsilon-greedy 和 Thompson 采样的比较
由康纳·麦克唐纳 — 12 分钟读完
多臂土匪(MAB)是决策科学中的一个经典问题。实际上,它是不确定条件下的最优资源配置之一。这个名字来源于老式的吃角子老虎机,通过拉一只手来操作——它们被称为强盗,因为它们抢劫玩它们的人。
为什么机器能打得过马里奥却打不过口袋妖怪?
由 Shayaan Jagtap — 5 分钟阅读
到现在为止,你可能已经听说过机器人以超人的水平玩视频游戏。这些机器人可以被显式编程,以设定的输出对设定的输入做出反应,或者 学习 和 进化 ,以不同的方式对相同的输入做出反应,以期找到最佳反应。
神经网络嵌入解释
作者:威廉·科尔森 — 8 分钟阅读
近年来,神经网络的应用从图像分割到自然语言处理再到时间序列预测都有了很大的发展。深度学习的一个显著成功的应用是嵌入,这是一种用于将离散变量表示为连续向量的方法。
卷积:探索一个熟悉的算子的深层根源
由科迪·玛丽·怀尔德 — 10 分钟阅读
在现代机器学习的世界中,卷积算子占据着奇怪的位置:它对任何一个读过 2012 年以来的神经网络论文的人来说都非常熟悉,同时也是一个对其更深层次的数学基础往往知之甚少的对象。
驾驭无限创造力的机器想象力
休·哈维 — 9 分钟阅读
没有数据,人工智能什么都不是。就像一个人被锁在一个白色无声的房间里努力理解外部世界一样,没有某种输入,人工智能是不可能实现的。
使用 Tensorflow 试验 twitter 数据
由戈加·帕塔尔卡齐什维利 — 9 分钟阅读
机器学习和人工智能最吸引人的地方在于,通过使用它们,它让我们有可能开始重新思考一切——你可以从完全不同的角度看待一切,我认为,有时这种“重新思考”的事实是新发明的关键。
每周精选—2018 年 9 月 14 日
数据科学技能:使用 python 进行网页抓取
由凯瑞·帕克 — 9 分钟阅读
作为一名数据科学家,我在工作中接受的第一批任务之一就是网络搜集。这在当时对我来说是一个完全陌生的概念,使用代码从网站收集数据,但这是最符合逻辑和最容易获得的数据来源之一。
当贝叶斯、奥卡姆和香农一起定义机器学习的时候
通过 Tirthajyoti Sarkar — 10 分钟读取
有点令人惊讶的是,在所有机器学习的热门词汇中,我们很少听到一个短语将统计学习、信息论和自然哲学的一些核心概念融合成一个三个词的组合。
多维数据有效可视化的图形语法综合指南
由迪潘詹(DJ)萨卡尔 — 11 分钟阅读
可视化多维数据是一门艺术,也是一门科学。由于我们的二维(2-D)渲染设备的限制,随着维度数量的增加,在两个以上的数据维度(属性或特征)上构建有效的可视化开始变得具有挑战性。
冻结 Keras 模型
由约瑟夫·布洛克 — 7 分钟读完
Keras 已经成为工业界和学术界开发和测试神经网络的主要 API 之一。由于其各种后端可能性,它结合了用户友好的语法和灵活性,这意味着你可以用 TensorFlow,Theano 或 CNTK 编写并在 Keras 中调用它。
又一次机器学习演练和挑战
威廉·科尔森 — 15 分钟阅读
在花费大量时间和金钱学习课程、书籍和视频后,我得出了一个结论:学习数据科学最有效的方法是做数据科学项目。阅读、倾听和记笔记是有价值的,但是直到你解决了一个问题,概念才从抽象固化为你有信心使用的工具。
解决在现实世界中部署人工智能系统的最后一英里问题
由伊恩肖 — 10 分钟读完
最后一英里的问题是实现人工智能承诺的价值的最后障碍。获得人工智能系统的好处需要的不仅仅是坚实的商业案例、执行良好的人工智能实现和强大的技术栈。
使用深度学习创建混合内容协作电影推荐器
在这篇文章中,我们将描述我们如何使用深度学习模型来创建一个利用内容和协作数据的混合推荐系统。这种方法首先分别处理内容和协作数据,然后将两者结合起来产生一个两全其美的系统。
深度学习热潮背后的真正原因
由 Ganes Kesari — 6 分钟读取
一方面,我们有数据科学从业者对此赞不绝口,每个人和他们的同事都投身于学习,并从这项被认为是改变游戏规则的分析技术中发展出自己的事业。
每周精选—2018 年 9 月 21 日
从无到有:50 行 Python 中的 AI 平衡术
由麦克施 — 11 分钟读完
大家好!今天我想展示如何用 50 行 Python 语言教会一台机器平衡一根杆子!我们将使用标准的开放体育馆作为我们的测试环境,并且只用 numpy 创建我们的代理
深度学习语义分割:指南和代码
乔治·赛义夫 — 11 分钟阅读
深度学习和计算机视觉社区的大多数人都明白什么是图像分类:我们希望我们的模型告诉我们图像中存在什么单个对象或场景。分类很粗,层次很高。
使用 Keras 构建深度学习模型
通过 Eijaz Allibhai — 9 分钟阅读
深度学习是机器学习中越来越受欢迎的子集。深度学习模型是使用神经网络构建的。神经网络接受输入,然后使用训练期间调整的权重在隐藏层中处理这些输入。
深度学习框架 Power Scores 2018
由杰夫·黑尔 — 10 分钟读完
深度学习仍然是数据科学中最热门的事情。深度学习框架正在快速变化。就在五年前,除了阿诺之外,其他领导人都不在。
制作动画图的简单方法
通过 Piotr Skalski — 5 分钟阅读
在我最新的文章发表后,许多人向我询问如何用 Python 制作动画图表的技巧。事实上,经常会出现静态图表已经不够用的情况,为了说明我们正在处理的问题,我们需要更强大的工具。
身无分文如何学习数据科学
由 Harrison Jansma — 9 分钟阅读
去年,我自学了数据科学。我从数百个网上资源中学习,每天学习 6-8 个小时。同时在一家托儿所拿最低工资。
循环神经网络图解指南
由迈克尔阮 — 9 分钟阅读
嗨,欢迎来到循环神经网络图解指南。我是迈克尔,也被称为学习矢量。我是人工智能语音助手领域的机器学习工程师。如果你刚刚开始学习 ML,并且想获得递归神经网络背后的一些直觉,这篇文章是为你准备的。
Leuk Taal:通过数据科学(和艺术)学习一门新语言
拉斐尔·皮埃尔
我坚信,通过学习一个国家的语言,你可以对这个国家及其人民有更多的了解。当我开始学习荷兰语时,我惊讶地发现这种语言反映了荷兰人是多么的直接和客观。
每周精选—2018 年 9 月 28 日
维基百科数据科学:与世界上最大的百科全书合作
由威廉·科尔森 — 17 分钟阅读
维基百科是现代人类最令人印象深刻的创造之一。谁会想到在短短几年内,匿名的免费贡献者可以创造出有史以来最大的在线知识来源?
LSTM 和 GRU 图解指南:一步一步的解释
由迈克尔阮 — 10 分钟阅读
在这篇文章中,我们将从 LSTM 和 GRU 背后的直觉开始。然后我会解释让 LSTM 和 GRU 表现如此出色的内部机制。如果你想了解这两个网络的内幕,那么这篇文章就是为你准备的。
神经网络预测市场
通过 Vivek Palaniappan — 8 分钟阅读
机器学习和深度学习已经成为量化对冲基金常用的新的有效策略,以实现利润最大化。作为一名人工智能和金融爱好者,这是一个令人兴奋的消息,因为它结合了我感兴趣的两个领域。
企业难以采用深度学习的 5 个原因
由 Ganes Kesari — 5 分钟读取
所以,你已经听说了关于深度学习的令人眼花缭乱的推销,并且想知道它是否在生产中实际有效。企业面临的首要问题是,永久商业利益的乐土是否会成为现实。
如何用 Python 快速测试几十个深度学习模型
托马斯·西哈 — 5 分钟阅读
优化机器学习(ML)模型不是一门精确的科学。最佳模型架构、优化算法和超参数设置取决于您正在处理的数据。
初学者卷积神经网络:Python 和 Keras 实用指南
由乔迪托雷斯。AI — 20 分钟读取
在这一点上,我们准备处理另一种类型的神经网络,即所谓的卷积神经元网络,广泛用于计算机视觉任务。这些网络由一个输入层、一个输出层和几个隐藏层组成,其中一些是卷积的,因此得名。
多类文本分类模型的比较和选择
由苏珊李 — 7 分钟阅读
当使用给定的数据集处理监督机器学习问题时,我们尝试不同的算法和技术来搜索模型以产生一般假设,然后对未来实例做出最准确的预测。
以下是如何使用 Python 将数据预处理速度提高 2-6 倍的方法
由乔治·赛义夫 — 5 分钟阅读
Python 是所有机器学习的首选编程语言。它易于使用,有许多奇妙的库,使处理数据变得轻而易举!但是,当我们处理大量数据时,事情就变得更加棘手了…
我为什么称自己为数据科学家?
通过法维奥·巴斯克斯 — 7 分钟阅读
被称为“21 世纪最性感的工作”在这里,我将讨论我成为数据科学家的原因,而不是炒作。
参见机器人游戏:探索人类和机器的好奇心
由诺曼·迪帕洛 — 9 分钟阅读
从生存的角度来看,驱动动物和人类的主要生物需求并没有特别大的区别。人类和动物需要吃和喝才能生存,需要庇护,他们有一种繁殖的冲动,以保持物种的生存。但是,很明显,人类和动物的行为完全不同。
每周精选—2018 年 9 月 7 日
数据科学写作的实用建议
由威廉·科尔森 — 10 分钟阅读
写作是每个人都想做的事情,但是我们经常发现很难开始。我们知道,写关于我们的数据科学项目的文章可以提高我们的沟通能力,打开大门,让我们成为更好的数据科学家,但是我们经常纠结于我们的文章不够好或者我们没有必要的背景/教育。
递归神经网络:语言建模的发电站
由詹姆斯·勒 — 12 分钟读完
大学三年级春季学期,我有机会去丹麦哥本哈根留学。在此之前,我从未去过欧洲,所以我非常兴奋地沉浸在一种新的文化中,结识新的人,去新的地方旅行,最重要的是,遇到一种新的语言。
概率概念讲解:概率规则
乔尼·布鲁克斯-巴特利特——5 分钟阅读
当我撰写本系列的介绍性文章时,我介绍了一些基本的概率概念(边际概率、条件概率和联合概率、独立性和互斥性,以及组合概率的“与”和“或”规则)。
深度学习和土壤科学(第一部分、第二部分)
由何塞·帕达里安 — 7 分钟阅读
这是我致力于深度学习在土壤科学中的应用的系列文章的第一篇。我的动机是为了表明深度学习对其他事情有用,而不是对猫和狗的照片或情感进行分类。并不是说猫和狗有什么不好,但是已经有数百万个这样的例子了…
如何用 Python 制作动画图
由维维安 — 5 分钟阅读
Matplotlib 和 Seaborn 是 Python 中一些很好的库,可以创建很棒的图形。但是这些图都是静态的,很难用一种动态的、令人愉悦的方式来描绘数据值的变化。
为数据科学家讲述故事
由简·扎瓦日基 — 6 分钟读完
《哈佛商业评论》最近发表了一篇关于顶尖数据科学家实际工作的文章。令人惊讶的是,关键技能是沟通,而不是统计模型的经验。
机器如何理解我们的语言:自然语言处理导论
艾玛·马尔迪——5 分钟阅读
对我来说,自然语言处理是数据科学中最迷人的领域之一。机器能够以一定的准确度理解文本内容的事实令人着迷,有时甚至令人害怕。
神经网络中的权重初始化技术
即使构建一个简单的神经网络也是一项令人困惑的任务,在此基础上调整它以获得更好的结果是极其乏味的。但是,在建立神经网络时要考虑的第一步是参数的初始化,如果做得正确,那么优化将在最少的时间内实现,否则使用梯度下降收敛到最小值将是不可能的。
本文假设读者已经熟悉神经网络的概念、权重、偏差、激活函数、前向和后向传播等。
基本符号
考虑一个 L 层神经网络,它有 L-1 个隐藏层和 1 个输入和输出层。层 l 的参数(权重和偏差)表示为
在这篇文章中,我们将看看一些基本的初始化方法,以及一些为了达到更好的效果而必须使用的改进技术。以下是初始化参数的一些常用技术:
- 零点初始化
- 随机初始化
零初始化:
在一般实践中,偏差用 0 初始化,权重用随机数初始化,如果权重用 0 初始化呢?
为了理解,让我们考虑对输出层应用 sigmoid 激活函数。
Sigmoid function (https://towardsdatascience.com/derivative-of-the-sigmoid-function-536880cf918e)
如果所有权重被初始化为 0,则对于 W[l]中的每个 W,关于损失函数的导数是相同的,因此所有权重在后续迭代中具有相同的值。这使得隐藏单元对称,并持续所有 n 次迭代,即,将权重设置为 0 并不会使其优于线性模型。需要记住的一件重要事情是,用 0 初始化时,偏差没有任何影响。
W[l] = np.random.zeros((l-1,l))
让我们考虑一个只有三个隐藏层的神经网络,在隐藏层有 ReLu 激活函数,在输出层有 sigmoid。
在来自 sklearn.datasets 的数据集“make circles”上使用上述神经网络,获得如下结果:
对于 15000 次迭代,损失= 0.6931471805599453,准确度= 50 %
显然,零初始化在分类中是不成功的。
随机初始化:
为权重分配随机值比只分配 0 值要好。但有一点我要记住,如果权重被初始化为高值或非常低值会发生什么,什么是合理的权重值初始化。
a) 如果权重初始化为非常高的值,则项np.dot(W,X)+b
变得显著更高,并且如果应用类似 sigmoid()的激活函数,则该函数将其值映射到 1 附近,其中梯度的斜率变化缓慢,并且学习需要大量时间。
b) 如果权重被初始化为低值,它将被映射为 0,情况同上。
这个问题通常被称为消失梯度。
为了看到这一点,让我们看看上面的例子,但是现在权重被初始化为非常大的值而不是 0:
W[l] = np.random.randn(l-1,l)*10
神经网络与前面的相同,使用来自 sklearn.datasets 的数据集“make circles”上的这种初始化,获得如下结果:
对于 15000 次迭代,损失= 0.38278397192120406,准确度= 86 %
这种解决方案更好,但不能完全满足需要,因此,让我们看看一种新技术。
新的初始化技术
正如我们在上面看到的,对于大的或 0 的权重(W)初始化,即使我们使用适当的权重初始化,也不会获得显著的结果,训练过程很可能将花费更长的时间。有一些与之相关的问题:
a)如果模型太大,需要花很多天来训练,那怎么办
b)消失/爆炸梯度问题怎么办
这些是多年来一直存在的一些问题,但在 2015 年,何等人(2015)提出了激活感知权重初始化(用于 ReLu),能够解决这个问题。ReLu 和 leaky ReLu 还解决了渐变消失的问题。
**他初始化:**我们只是简单地将随机初始化与相乘
为了了解该解决方案的有效性,让我们使用之前的数据集和神经网络进行上述初始化,结果如下:
对于 15000 次迭代,损失=0.07357895962677366,准确度= 96 %
当然,这是对以前技术的改进。
除了正在使用的初始化之外,还有一些比旧技术相对更好并且经常使用的其他技术。
**Xavier 初始化:**与 He 初始化相同,但用于 tanh()激活函数,在该方法中 2 被 1 代替。
有些人还使用以下技术进行初始化:
这些方法是初始化的良好起点,减少了渐变爆炸或消失的机会。他们设定的权重既不会比 1 大太多,也不会比 1 小太多。因此,梯度不会消失或爆炸得太快。它们有助于避免缓慢收敛,也确保我们不会一直偏离最小值。存在上述的其他变体,其中主要目标也是最小化参数的方差。谢谢你。
来源:神经网络和深度学习,吴恩达(Coursera.org)。
欢迎,机器学习
Photo by Sai Kiran Anagani on Unsplash
目前最受欢迎的主题之一是机器学习,尽管这并不是什么新鲜事。ML 背后的数学来自 80 年代!年复一年,算法变得越来越好,让我们离备受期待的人工智能更近了一步。
我开始探索它,我正在一点一点地学习什么是机器学习(什么不是)。当公司开始在人工智能的冰水中浸泡双脚时,有些问题总是困扰着他们,第一个问题是“这些麻烦值得吗?”
如果你还不确定人工智能的力量,建议你看看凯文·凯利的书《必然——塑造我们未来的 12 种技术力量 》。如果你没有太多的时间去读它,十二种力量中的第一种是人工智能,它足以播下好奇心的种子。
我说的不是试图将人类从地球表面消灭的嗜血机器人,而是非常具体(和专注)的应用。在我们的算法中加入自我意识只会让它们在完成设计任务时效率更低。我们不希望特斯拉遭遇生存危机而碰壁,对吗?
既然我们已经把“我,机器人”从等式中去掉了,下一个要解决的问题是数学。我们必须了解线性代数、微积分、微分方程和统计学吗?大多数博客说没有,但我认为一个诚实的答案比这要复杂一点。有一些图书馆可以为我们提供帮助,但是我们如何获得我们不了解的专业知识呢?我们甚至不知道它是如何工作的。懂得数学很重要,但也许只有在我们已经学会用自己的腿走路之后,它才是值得的。在不了解数学的情况下应用机器学习是可能的,但在某个点上改进算法需要对幕后发生的事情有更深入的了解。迟早,我们将不得不学习它。数学最终会降临到我们每个人身上。
重点是机器学习的先决条件不是数学而是知道如何分析数据。难怪如今最受欢迎的专业人士之一是数据科学家。如果数据结构不良或被误解,数学将无法保存您的工作,而使用数据完成的工作即使没有高等数学也能很好地完成。
算法会预测事情,但不会告诉我们那个预测的“为什么”。这个秘密隐藏在数据中,我们应该把大部分工作集中在数据上。
我可以用 ML 做什么?
要将 ML 应用到我们的产品中,我们必须了解它的能力。机器学习基本上是一个从数据中自动学习的程序。不要绝对地说出它需要做的一切,而是提供一些例子,让它自己学习。
是不是看起来太神秘了?它不是。到最后,都只是数学。以线性回归为例。有一个非常经典的例子,根据房子的平方英尺来预测房子的价值。如果我们从几个房子里得到数据,我们可以像这样在图上画点:
虚线是模型将学习的内容。它通过画一条线来概括问题,这条线可以根据点来调整自己,并使用这条线来进行预测。如果我们把 y 轴上的线下移,结果会有所改善吗?如果我们稍微倾斜一下呢?这是一个优化过程,算法将尝试降低错误率。
使用 ML 可以解决不同类型的问题:
- 回归:当我们想要找到一个数值,比如房子或机票的价格;
- 建议:当我们试图找到用户真正想要的东西。亚马逊或网飞推荐算法就是很好的例子;
- 分类:当我们试图找出事物的类型时。最著名的例子是电子邮件中的垃圾邮件过滤器,但我们可以建立,例如,一个判断汽车是否损坏的算法;
- 排名:这些结果中哪些是最相关的?当我们用谷歌搜索某样东西时,它就是这样做的;
- 异常检测:在我们的数据中寻找不寻常的东西;
- 聚类:谁买了这个也买了…
机器学习是一门庞大的综合性学科。我还有很多要学,但有一点是肯定的:我们所有的努力都应该集中在数据上。有了更好的数据,我们可以向我们的系统灌输智能,做出更好、更自信的预测。知道存储什么本身就是一个巨大的问题,将数据组织成尚不存在的模型似乎是一项艰巨的任务。
目前,我们要做的就是继续前进,看看机器学习会把我们引向何方。
欢迎来到深度强化学习第一部分:DQN
近年来,许多人工智能实验室正在致力于研究深度强化学习(DRL ),它有望成为未来的核心技术。我也在庆应义塾大学从事 DRL 研究。在接下来的几篇文章中,我将写下我对最近 DRL 的调查。所有这些都假设读者具备强化学习的基础知识。
在这篇文章中,我介绍了 DeepMind 提出的第一个深度强化学习方法——深度 Q 网络(DQN)。该论文于 2015 年在《自然》杂志上发表后,许多研究机构加入了这一领域,因为由于 DQN 使用的技术,深度神经网络可以让 RL 直接处理图像等高维状态。让我们看看 DQN 取得了多大的成就。
街机学习环境
街机学习环境:总代理评估平台于 2013 年发布,提出了 AI 的学习环境。ALE 有很多游戏最初是为一款古典游戏主机 Atari 2600 设计的。大概是 Pong,SpaceInvaders,PacMan,Breakout 这些游戏中的一部分大家都非常了解。
Atari games available in ALE
这个模拟器的任务是提供一个平台,在这个平台上,AI 可以玩很多游戏,而不需要任何特定的功能设计。在 DQN 出版之前,RL 代理需要手工设计的功能作为输入。比如 RL 代理玩太空入侵者的时候,入侵者位置是显式提取的。但是这些信息在玩突围的时候完全没用。因此,代理商不能依赖这种功能来玩 ALE 中的所有游戏。
深度神经网络(DNN)
AlexNet 利用 DNN 在 ILSVRC 2012 图像分类竞赛中取得了不可思议的成绩。
AlexNet
DNN 最伟大的事情是通过反向传播提取特征表示。
learned weights of a convolutional layer in AlexNet
由于这种能力,分类器不再需要手工设计的特征。经过适当的多次反向传播后,DNN 知道颜色或形状等哪些信息对完成任务很重要。
将 DNN 带入 RL
人们很自然地认为 DNN 使 RL 代理能够将图像与价值联系起来。然而事情并不容易。
Comparison between naive DQN and linear model (with DQN techniques) from Nature
朴素 DQN 具有 3 个卷积层和 2 个全连接层,以直接从图像估计 Q 值。另一方面,线性模型只有一个完全连接的层,一些学习技术将在下一节讨论。两个模型都以 Q 学习方式学习 Q 值。如上表所示,朴素 DQN 的结果非常差,甚至比线性模型还要差,因为 DNN 很容易在在线强化学习中过度拟合。
深度 Q 网络
在两篇论文中介绍了 DQN,2013 年在 NIPS 上用深度强化学习玩雅达利,2015 年在 Nature 上通过深度强化学习进行人类级别的控制。有趣的是,在 2013 年至 2015 年期间,关于 DRN 的论文很少。我猜原因是人们不能在没有自然版本信息的情况下复制 DQN 实现。
DQN agent playing Breakout
DQN 主要通过四种技巧来克服不稳定学习。
- 经历回放
- 目标网络
- 剪裁奖励
- 跳过帧
我逐一解释每种技术。
体验回放
经验重放最初是在 1993 年的使用神经网络的机器人强化学习中提出的。DNN 很容易过度适应当前的剧集。一旦 DNN 过度满足,就很难产生各种体验。为了解决这个问题,经验重放存储了包括状态转换、奖励和行动在内的经验,这些经验是执行 Q 学习的必要数据,并进行小批量更新神经网络。这种技术有以下优点。
- 降低更新 DNN 的经验之间的相关性
- 通过小批量提高学习速度
- 重用过去的转换以避免灾难性的遗忘
目标网络
在 TD 误差计算中,目标函数随 DNN 频繁变化。目标函数不稳定,训练困难。因此,目标网络技术确定目标函数的参数,并且每隔数千步用最新的网络替换它们。
target Q function in the red rectangular is fixed
剪裁奖励
每个游戏都有不同的分数尺度。例如,在乒乓球比赛中,玩家赢得比赛可以得到 1 分。否则,玩家得到-1 点。但在《太空入侵者》中,玩家击败入侵者获得 10~30 分。这种差异会使训练不稳定。因此,修剪奖励技术修剪分数,所有积极的奖励设置为+1,所有消极的奖励设置为-1。
跳过帧
ALE 每秒能够渲染 60 幅图像。但实际上人们不会在一秒钟内采取这么多行动。AI 不需要计算每一帧的 Q 值。因此,跳帧技术是 DQN 每 4 帧计算 Q 值,并使用过去的 4 帧作为输入。这样降低了计算成本,积累了更多的经验。
表演
所有上述技术使 DQN 能够实现稳定的训练。
DQN overwhelms naive DQN
在 Nature 版本中,它显示了经验重放和目标网络对稳定性的贡献有多大。
Performance with and without Experience Replay and Target Network
经验回放在 DQN 非常重要。目标网络也提高了其性能。
结论
DQN 已经用以上 4 种技术在很多雅达利游戏中实现了人类水平的控制。然而,仍然有一些游戏 DQN 不能玩。在这个系列中,我将介绍与它们斗争的论文。
接下来,我提供 DQN 的 TensorFlow 实现。
- 欢迎学习深度强化学习第二部分:张量流中的 DQN(即将推出)
欢迎来到人工智能加州酒店
1977 年,老鹰乐队发行了《加州旅馆》,这是一首关于毒品和毒瘾对人的影响的歌曲。把“我们都只是这里的囚犯,我们自己的设备”放在我们今天的数字生活方式的背景下,我们会发现很多真理。谷歌免费提供大部分服务,亚马逊希望我们每个家庭都有回音,脸书成为我们的“朋友”名录,这都是有原因的。看起来很方便的东西是一种威胁。这是对终端消费者的威胁,也是对现有经济的威胁。即使我们可以选择随时退房,我们也不会离开。
野兽的盛宴
二十年后,互联网巨头——亚马逊、谷歌、脸书、阿里巴巴和百度——仍在收集大量数据,用每个人的知识、观点、推荐、位置、移动、购买行为、关系状态、生活方式等信息填充他们的数据库。这不是秘密,也不是什么新鲜事。而且看不到尽头。相反,几乎每个月都有新的服务或设备发布,以提供更好的用户体验,使我们的生活更方便,并增加我们的数字成瘾剂量。
亚马逊、谷歌、脸书等公司已经在我们的生活中无处不在。而且多亏了物联网,我们的模拟生活和数字生活之间的差距越来越小。在通过智能手机和平板电脑提供大量服务让我们分别与网络和设备挂钩后,互联网巨头们将让自己在每个人的家中都感到舒适。
像 Nest、Tado 或 Netatmo 这样的智能家居设备只是一种新的电器类别的开始,这些电器正在成为人们私人领域的眼睛,这些电器还没有连接到互联网,还没有成为谷歌公司的抓爪。像亚马逊 Echo 或谷歌 home 这样的智能私人助理已经成为下一个进化水平,可以用来控制智能家居设备,或通过简单地使用我们的声音来使我们的生活变得更容易。另外,我们应该非常小心地使用“智能”这个术语,因为这些命令几乎都是预定义的脚本。而且坦率地说,我没有印象,苹果的 Siri 和亚马逊的 Alexa(Echo 背后的人工智能(AI)引擎)目前都没有从我的交互中学习。
然而,这种技术发展的进步表明了一件事:亚马逊、谷歌公司找到了通过其他渠道与我们接触的新方法,收集他们做出更好决策所需的数据、信息和知识,并向我们提供更好的答案。因此,他们显然遵循一个目的。我们每一个人每天都被用来训练他们的人工智能。也就是说,谷歌公司向客户提供的所有服务都旨在利用他们获得的数据绘制一幅世界地图。
对最终消费者的影响:在激烈的竞争中获得便利
终端消费者基本上没什么可抱怨的。遵循等价交换原则,特别是谷歌和脸书免费提供花哨的服务,只收取数据作为回报。而且,数字成瘾完全正中他们的下怀。最终消费者已经入住“加州酒店”。即使他们可以随时退房,问题是,他们想离开吗?
不幸的是,这个问题的答案是否定的。一旦你成为这个圈子的一部分,就很难或者不可能离开。原因是一切都变得数字化了。我们的社会将会到达一个没有数字服务就什么都不能工作的点。你也可以说一个不存在于数字世界的人不再存在了。通过让用户体验更加便捷,任何人都不必再成为技术专家。这使得进入“加州旅馆”陷阱更加糟糕,因为我们社会的大多数人不再知道事情是如何联系在一起的——分别不知道到底发生了什么。老鼠赛跑中的便利。
总而言之,提供每个人数据的激烈竞争是谷歌公司成功的基础,也是他们对抗现有经济的武器。
对(已建立的)经济的影响:移动、改变、创新或死亡
最讽刺的是,我们每一个人都在支持谷歌公司反对现有的经济,甚至是现有的经济本身。成熟经济体的公司也成为了互联网巨头的客户。理由很充分。在大多数情况下,在自己的环境中运行自己的 it 基础设施和服务不再有意义,或者独自开发亚马逊、谷歌等公司已经开发的创新服务太昂贵了。然而,现有的经济陷入了恶性循环。即使他们仍然拥有他们的数据——从法律的角度来看——这并不意味着他们只拥有他们数据中的知识。
数据和从数据中得出的见解是互联网巨头建立大部分业务的基础。他们正在处理数据并将其货币化。然而,这仅仅是互联网巨头如何运作的一个大机器的一部分。但这一点赋予了他们颠覆现有经济中任何现行商业模式的力量。亚马逊只是一个例子,它已经开始以各种可能的方式去除中介。我们可以肯定,像 DHL、UPS 或联邦快递这样的公司不会以他们今天做生意的方式存在——提示:亚马逊 Prime Air。此外,亚马逊已经为成为一个完全端到端的商品提供商做好了一切准备。数字的和非数字的。
说起人工智能,互联网巨头们正在全面拥抱 AI。然而,大多数领导人低估了这将对他们的业务产生的影响。但与此同时,互联网巨头正在大力投资人工智能。尤其是老牌经济体是这场游戏中的大输家。
欢迎核心 ML
在 WWDC17 主题演讲之后,我的朋友 Aleph 和我对新的核心 ML 框架感到非常兴奋。然后我们开始四处玩耍,并决定分享一些我们在这里做的事情。
借助 Core ML ,您可以为您的应用提供机器学习功能,该功能可在本地运行并针对设备性能进行优化,从而最大限度地减少内存占用和功耗。
核心 ML 支持许多机器学习模型(神经网络、树集成、支持向量机和广义线性模型)。模型应该是核心 ML 模型格式(具有. ML model 文件扩展名的模型) 1 。
在我们的例子中,我们将使用一个著名的模型 VGG16 ,它用于对图像进行分类,幸运的是,它是 Core ML 中可用的预训练模型之一。
⚠️ 重要:如果你真的想实现一个计算机视觉应用,也许你应该检查一下新的视觉框架。在这篇文章中,我们想展示的是,你可以如何轻松地使用预训练模型,通过机器学习使你的应用程序更加强大。
下载模型
在我们的示例中,我们将使用。 mlmodel 格式。然而,如果你在一个不同的框架中训练你的模型,比如 Keras,你可以使用 Core ML Tools 将其转换成合适的格式。关于我们的教程,你可以在这里下载 VGG 模型。
下载完“VGG16.mlmodel”文件后,只需将它放在文件旁边,就可以将其添加到项目中。
应用程序设置
我们将在示例中创建的应用程序非常简单,因此每个人都可以跟着做。如果你想看一些不那么简单的东西,看看 Aleph 的这个回购。
我们的应用程序将有一个图像视图,显示要分类的图像,一个用户可以点击以选择另一张图片的栏按钮,以及一个显示模型给出的分类的标签。
当用户点击“+”按钮时,我们呈现一个带有“库”和“相机”选项的动作表。选择其中之一后,图像拾取控制器出现。
图像拾取器委托方法非常简单。在“didCancel”中,我们简单地称之为“dissolve()”。在“didFinishWithMediaType”中,我们从“info”字典中获取图像,并将其传递给我们的“classify(image: UIImage)”方法。
预处理
首先,我们需要缩放图像,因为我们的模型接收的输入必须是 224x224。调整大小后,我们需要从图像数据中创建一个“CVPixelBuffer”。“CVPixelBuffer”是我们的模型期望作为参数的类型。
“核心 ML”部分
一旦我们在“CVPixelBuffer”中有了图像数据,我们就可以将它传递给我们的模型,代码再简单不过了。
为了做到这一点,我们将在“viewDidLoad()”中创建我们的“VGG16”模型,并且在我们的“classify()”方法中,我们需要做的就是在我们的模型上调用“prediction()”。该方法将返回一个“VGG16Output ”,从中可以获取一个字符串形式的“classLabel”属性。
最后
嗯,正如你所看到的,核心 ML 框架是一个非常强大和易于使用的工具,使我们的应用程序更加智能。你可以想到所有疯狂的想法,自然语言处理,计算机视觉和其他惊人的领域可以让你的应用程序做到这一点。
如果你有任何建议,请告诉我们。
另外,如果你想分享你是如何计划在你的应用中使用 Core ML 的,我们很高兴听到你的想法!
很快会有一个关于这个的帖子!WWDC 现在很疯狂,所以当我们有时间一起玩 keras 和 Core ML 时,我们肯定会在这里分享结果。
我们编织了一张多么解开的网:VAEs 中的表征学习。1)
这是一个举世公认的真理:没有标签的数据一定需要无监督学习。
除了油嘴滑舌,人们普遍认为监督学习有着有意义的缺点:标签成本高、噪音大,并且将你的问题引向实现某种程度上人为的目标,而不是简单地以更中立的方式学习数据的有意义轮廓。然而,它们确实给了我们学习中非常有价值的东西:一个最大化的简单目标。所有现代神经网络系统都是建立在梯度下降基础上的,梯度下降修改参数值以优化结果。在无监督学习的背景下,你到底想让模型为了什么而优化自己的问题就不那么清楚了。
无监督学习的一个常见策略是生成模型,其思想是:你应该给模型一个从给定分布中产生样本的任务,因为在该任务中表现良好需要模型隐式地学习该分布。如果你想到人类的术语,这种直觉是有道理的:例如,如果我们想测试一个孩子是否理解“房子”这一类别,我们可能会不断地要求他们画一所房子,如果他们能够多次画同样的房子,或者画不符合这一类别的东西,比如烤面包机,我们可能会合理地假设他们理解什么标准使一些东西本质上像房子。
生成式建模最常用的两种方法是生成式对抗网络(GANs)和变分自动编码器(VAEs)。
GANs 的工作原理是引入噪声(z ),并使用生成器神经网络将 z 转换为数据的传真版本(X-hat)。然后,鉴别器将该数据与真实示例(X)进行比较,生成器学习创建鉴别器更有可能归类为真实的假图像。乍一看,z 在这一切中的作用可能并不明显。如果这种噪声没有增加任何信息价值,我们为什么需要它作为我们的输入呢?答案是它允许我们采样。生成式建模的一个重要方面是,我们不只是想要一个可以从有问题的分布中生成一个示例的模型,而是一个我们可以重复绘制并每次获得不同输出的模型。由于发生器仅由矩阵组成,满足这一采样标准要求至少部分网络设置是随机的。在 GAN 中,当我们遍历 z 噪声空间时,根据发生器在给定每个 z 样本作为输入时产生的 X,我们会从分布中获得不同的图形。此外,因为我们决定并控制我们使用的分布 z,所以在模型训练后很容易进行采样:我们只需从相同的选择分布中采样 z 值,并且知道,在预期中,我们得到的采样 z 将来自生成器已经学会使用该 z 产生真实输出的区域。
可变自动编码器速成班
VAEs——这将是本文其余部分的重点——具有类似的结构,尽管在两个主要方面有所不同。
- VAEs 不只是将随机抽取的 z 映射到图像中,而是将特定的 X 作为输入,学习一种编码器,将 Q(z|X)从该 X 映射到压缩代码 z 。该代码有望包含重建 X 所需的信息,通过解码器 P(X| z )运行,以预测特定的 X 再次返回。
- VAEs 不是使用神经网络来生成真实 X 和生成/重构 X 之间的损失,而是通常使用逐像素损失函数来测量重构 X 和原始 X 之间的像素距离。
就本文的目的而言,第一个是最显著的区别:事实上,在 VAE 中,您不仅仅关心产生看起来像是来自数据分布整体的东西,您还关心再现作为输入给您的特定图像(或者一般来说,来自数据分布的观察)。因此,你的 z 分布,对于 GANs 来说只是一个有用的随机性来源,通常需要对可用于特定图像重建的信息进行编码。理论是:由于 z 是一个低维向量,网络被迫学习输入图像的压缩和信息表示。
然而,我们现在回到我们之前用 GANs 概述的标准:在我们训练了模型之后,需要能够从模型中取样。此外,为了有效地进行采样,您需要能够在训练后对给定的 z 进行采样,并高度确信 z 空间的该区域对应于实际输出。
这样做的一种方式,也是 VAEs 通常使用的方式,是激励网络将它编码的 z 值推出 X,即 Q( z |X),以接近某个先验 p( z ,这通常是一个维度独立的多元高斯。这也被称为“各向同性”高斯。这听起来很专业,也很复杂,但是从视觉角度来看,事实并非如此。在二维空间中,每个维度的方差都等于 1,维度之间没有协方差,高斯看起来就像一个圆,以 0 为中心。在更高维度中,它是一个球体(或超球体)。
这两个元素组合成以下目标函数:
在这个目标中,第一项对应于重建损失(也称为数据似然损失),并在概念上映射到“我的模型在生成与数据分布相似的东西方面有多好”。第二项是网络为每个 X 编码的 q( z |X)值与先验分布 p( z )之间的 KL 散度。因为当两个分布相等时 KL 散度最低,所以这一项向更集中在先前多元高斯空间中的 z 值推进。这个术语通常被称为正则化术语。
然而,特别是 vae 并不仅仅或者甚至主要用作生成模型;他们的主要用途是作为代表学习者。我们的意思是,vae 经常被用于创建低维编码分布(前面提到的 z ),建模者希望,由于瓶颈和重构结构,它已经被迫学习数据中有意义的概念。其逻辑本质上是:如果你传输信息的带宽有限,你会优先使用它来描述你试图传输的数据的最显著的方面。
这是有价值的,因为人们普遍认为深度网络的许多价值在于它们作为习得特征提取器的能力:系统可以接受高维输入,并从中生成更多语义上有意义的特征。如果一个无监督的系统可以实现类似的目标,即通过使用大量的标记数据来创建高度信息化的压缩特征表示,那么就有很好的理由相信一个高性能的模型可以使用这些特征来训练,并且只需要少量的标记数据。
这听起来很棒:一个简单的、基于概率的解决我们无人监督学习困境的方法。但是,没那么快。
尽管这种技术很有前途,但在实践中,试图使用 VAEs 作为表征学习器的研究人员面临两个主要困难:纠缠码和忽略码。这篇博文将讨论 BetaVAE,它解决了第一个潜在的问题,第 2 部分将关注 InfoVAE,它解决了第二个问题。
(注意:我在这里和整篇文章中使用“代码”作为编码器学习的低维 z 表示的简写。此外,在现代 ML 中,论文中最常见的 VAEs 用例是图像数据,所以我偶尔会提到像“像素丢失”这样的东西,它们与图像数据特别相关。我把它们留在这里,因为我认为它们提供了有用的直觉,但为了减少混乱和可能的过度拟合:VAE 的思想适用于图像以外的领域)
定义解开
在我们的模型试图表现的现实世界中,有一些变异因素可以独立修改,而另一些则不能(或者,出于实际目的,永远不能)。一个简单的例子是:如果你正在给人建模,那么一个人的衣服与他的身高无关,而他的左腿的长度强烈地依赖于他的右腿的长度。解开特征的目标最容易理解为想要使用你潜在的 z 代码的每一个维度来编码这些潜在的独立变异因素中的一个且仅一个。使用上面的例子,一个清晰的表示将把一个人的身高和衣着作为 z 码的独立维度来表示。
解开的目标有几个不同的动机。从实际意义上来说,想象你正在学习一个生成模型来创建人的图片,最终目标是在视频游戏场景的背景中生成一群假的人。您可能希望能够告诉模型,“我希望生成一个看起来像这个人,但是更高的人”。如果你已经学会了一个独立编码一个人的身高的尺寸,那么你可以修改它,保持其他一切不变。相反,如果你在一个共享维度中对身高和性别进行编码,改变身高的同时保持人的所有其他方面不变是不可能的,因为修改身高的内部维度也会修改性别。
从一个更加信息化的角度来看,一个清晰的表示是有用的,因为当你捕捉到最有意义或最显著的观察结果的不同之处时,这些不同的轴对于各种各样的监督任务来说通常是有价值的。如果这是真的,当你使用这种清晰的表示作为输入时,它允许你使用更少的数据和更简单的模型来执行给定的监督任务。
作为更多和更少纠缠的代码看起来像什么的激励性例子,看看下面的图片。左侧网格提供了不太独立的编码示例,右侧网格显示了更独立的编码。
在上面的每一行中,当你从左向右移动时,一个 z 码的一个维度是变化的,然后一个解码器被用来将这个 z 码转换成一个图像。这个模型是从一个非常简单的数据集训练出来的,这个数据集只包含一个白点,位于黑色背景上的某个地方。这里只有两个可独立修改的参数:水平方向和垂直方向。右边的网格已经学习了直接映射到这些因素的 z 值:第一维插值在最底部和最顶部之间,在大约相同的水平位置,第二维插值在最右侧和最左侧之间,在大约相同的垂直位置。后两个维度没有提供信息。
相比之下,左手模型学习的大多数因素结合了垂直和水平位置的变化。第一个因子向左上方移动,第二个因子仅向下移动,最后一个因子向右下方移动。同样有趣的是,在最后一个因素中,你可以看到第 7 张和第 8 张图片之间有很强的不连续性,球突然“跳”到了右边很远的地方。尽管该数据只有两个独立的维度,但左侧网格已经(低效地)将其表示扩展到 4 个维度上。
总而言之:右侧网格中的表示优越的两个主要方面是它们是平滑的,以及它们表示独立轴。
想来点贝塔吗?
左手网格——低效且混乱的网格——由(正常的)VAE 学习,右手网格——未混乱的网格——由贝塔 VAE 学习。贝塔 VAE 实际上只是一个非常简单的概念的名称:在 VAE 损失中采用“调整”或“先前执行”术语,并通过在目标中对其施加更大的权重来增加该术语的约束程度。
You’re not imagining things; this paper’s many pages of math boiled down to adding a coefficient to a term in the objective, and turning that coefficient to values greater than 1
为什么这两个方程中的差异会转化为两个网格之间的差异,这种直觉不是很明显,但如果你挖掘得足够深入,就会有一些有价值的理解。
从正在发生的事情的基础开始:KL 散度项量化不同的是来自先前的 z 的条件/编码分布。然后,当它产生看起来与多元高斯先验有很大不同的 z 分布时,它会惩罚网络,其中每个维度都是 N(0,1),并且维度在统计上是独立的(也就是说:维度之间的相关性是 0)。在下面的讨论中,需要记住 z 的几个重要特性:
- 由于这是一个变型自动编码器,编码器网络不仅仅产生一个向前传递的 z 的确定值,它还对一个 z 分布的平均值和方差进行编码;网络从该分布中取样,并将样本向前传递。因此,当我们说我们正在实施多元高斯先验时,这意味着我们正在推动这些编码的均值更接近 0,编码的标准差更接近 1,维度之间的相关性更接近 0。
- 如果你看上面的等式,我们将约束应用于条件分布,或者从每个单独的 X 编码的分布。因此,当先验将这些条件分布的平均值推至更接近 0 时,这意味着平均值在不同 X 观察值之间的差异方面受到约束。
为了让这成为一个有用的约束,让我们考虑一下 z 代码必须做什么,以及它的选项是什么。从重建损失的角度来看, z 分布的工作是向前传递信息,该信息将尽可能明确地传达编码它的 X 的特征。当正则化损失的权重变大时,它对学习到的 z 向量有三个主要影响。
- **平滑度:**当你改变 z 的值时,它激励重建平滑地变化,而不是跳动或不连续的
- **简约性:**它激励网络将关于 X 的信息压缩到尽可能少的维度中
- **轴对齐:**它鼓励将数据可变性的主轴与 z 向量的维度对齐
总的来说,这些激励推动网络将关于 X 的信息压缩成少量平滑变化的独立维度。
保持平稳
Graphic from: “Understanding Disentangling in B-VAE”.
重建损失问题的一个潜在解决方案是将平均值推得更远,并将标准偏差推得更低,以减少从不同观察值生成的 z 值之间混淆的机会
然而,这种行为恰恰是正则化术语所反对的:它更倾向于彼此接近的均值,以及接近 1 的标准差。如上图所示,在这种情况下,如果网络对 x2 进行宽分布编码,则很有可能会对 x-波浪线进行采样,这实际上在 x1 下比在 x2 下更有可能。因此,当网络打算重建 x1 时,它很容易重建 x2。
作者称之为“数据局部性”的这种强烈动机具有推动网络对数据中平滑变化的因素进行编码的效果。
明智地使用你的维度
让我们暂时回到之前的白点比较。回想一下,这两种编码方案之间最大的区别之一是,网络使用了多少个维度来编码本质上是两个维度的生成因素。我们看到这种效应的原因是,在贝塔-VAE(贝塔> > 1)下,模型为它用来编码信息的每个维度付出了代价。这是因为对于 X 的所有输入值,维度不产生成本的唯一方式是它等价于 N(0,1),的全局先验。当一个维度在 X 的所有值上不变时,那么,根据定义,它不包含关于 X 的任何信息。每当模型偏离这种无信息状态,并且实际上开始以不同的方式将 z 编码为 X 的函数,这在目标函数中强加了成本。
这种对维度效率的驱动意味着模型只想要编码最具信息性的变化轴。我喜欢把普通的 VAE 场景想象成,在线性代数的意义上,在一个实际上只有二维的空间中,使用四个基本向量。这是无关的,但是当模型的损失很少或没有损失时,这种浪费就不会在模型中突出出来。相比之下,在 BetaVAE 下,模型被鼓励减少基向量的数量,只保留那些在描述空间时足够有价值的向量。
显然,白色斑点的情况下,字面上正好有两个轴的生成是一种过于简化。有了真实的数据,几乎不可能有某个低维空间捕捉到所有有意义的变化的**。但是,可能有这样的情况,您有两个轴捕获了几乎所有的变化,而第三个轴只捕获了一小部分剩余的变化。在这种情况下,网络可能仍然选择不表示第三维,因为它没有增加足够的解释力,不值得支付表示的成本。**
保持一致
解开的最后一个组成部分,轴线对齐,来自于这样一个假设,如果真的存在潜在的生成因素,那么不同的因素将提供不同的解释力。例如,想象一下,如果我们有一个白色圆圈数据集,但除了圆圈改变位置外,它还改变了半径。当然,圆圈的大小是一个独立的因素,我们可能希望我们的模型能够捕捉到它。但是,将圆放在完全不正确的位置所导致的重建损失远远高于仅重建错误大小的圆所导致的重建损失,这也是事实,因为不同大小的圆之间会有许多像素重叠。
因为这个维度提供的有用信息较少,所以不值得花费这么多成本。请记住,在正则化条件下,将条件均值移动到信息位置或减少条件方差以最小化混淆的可能性是很昂贵的。因此,在网络可能愿意为获得清晰明确的位置信息付出代价的情况下,尺寸的 z 值可能更接近先验值:具有更大的标准差和更小的均值分布,这意味着只有非常大和非常小的圆才能相互区分。这种将我们潜在维度的能力与它们的信息价值结合起来的愿望,是我们所施加的约束的自然结果。
然而,因为高斯是各向同性的,维度之间没有协方差,如果我们对齐这些不同的因素,我们只能了解不同因素的不同方差。因此,因为网络被激励根据一个因素的信息含量来缩放方差,并且我们期望不同的生成因素是那些具有最不同信息含量水平的因素(由于代表不同的生成过程),所以它被激励将其主要生成因素与 z 的维度对齐。
重构知识
从根本上来说,测试版 VAE 的方法与普通的 VAE 在本质上没有区别,只是侧重点不同。在最简单的框架中:当你把贝塔系数调高时,它只是一个更加规则的 VAE。VAEs 的许多理论已经围绕着通过应用信息瓶颈来强制压缩。BetaVAE 说,为了产生适当的解开因素,瓶颈需要更强。
这两种方法之间的这种基本相似性的一个好处是,我们可以从 BetaVAE 中获得的许多直觉——在正则化约束的极端版本下潜在空间是如何形成的——也有助于我们更好地理解典型的 VAE 如何工作,以及我们可以期望它们创建什么样的表示。毕竟,很多希望和重量都寄托在这样的模型上,以帮助领导生成性表征学习的充电器,所以重要的是要记住:他们不会选择我们希望他们会选择的那种特征,他们只会选择我们激励他们找到的那种特征。
(我在上面重新构建的许多直觉来自于 本文 ,由最初的贝塔 VAE 方法的作者发布,其中明确试图为他们的方法为什么有效提供解释)
- 这并不总是正确的,因为有些文章像这篇一样,在 VAEs 的末端贴上鉴别器来做一个更“基于特征的”损失函数,但是“基于元素的平方差”是一个足够普遍的标准,我将在这篇文章中坚持引用它
- 这将是所有的一块,但中期起草我意识到这是倾向于 6000 字的方向,并决定后分裂是最明智的选择。
AI 对于营销意味着什么!
你目前的营销策略中缺少了一些东西。
经验丰富的企业可以证明,客户的需求是不变的——更好的价格、更快的交付和更顺畅的客户服务。你最好跟上,因为有比以往更多的选择。对于一个顾客来说,在网上对比几十个同类产品的功能和价格的同时查看你的产品并不罕见。客户在做出最重要的决定(是否购买)时会考虑所有这些因素。
识别完美的产品对消费者来说是一个挑战,但对企业来说也是一个挑战。你如何确保顾客以正确的方式理解你的产品? 为了向消息灵通的消费者销售,你必须领先一步——这意味着了解他们的偏好,他们的兴趣如何变化,以及他们的生活中发生了什么。不幸的是,这些都是传统营销方法无法发现的细节。
这就是人工智能驱动的营销的切入点。AI 不是魔法,也不会给你提供一刀切的解决方案。但它基于强大的科学,将允许您识别数据模式,并进行人类无法管理的复杂计算。希望转变方法并实现激进业务增长的市场应该密切关注能够检查客户购买模式并预测未来购买决策的人工智能工具。
要了解这项技术的实际应用,只需看看亚马逊,它利用机器学习来推动他们的营销战略。亚马逊从悬停交互开始,以确定客户正在仔细查看哪些产品,使他们无需点击即可分析客户行为。基于这些微妙的手势和互动,亚马逊可以微调产品选择,为客户提供最有可能导致购买的个性化体验。人工智能处于整个精简流程的核心,尽可能多地考虑因素和数据点,以向亚马逊提供如何最好地为每个客户个性化目标营销的意识。
亚马逊已经掌握了这些技术,让它们能够显著提高销售额和客户参与度。但你不需要亚马逊的预算来利用人工智能。如果你准备好改革你的营销策略,是时候仔细看看人工智能驱动的工具了。毕竟,最好的客户服务始于准确了解客户想要什么——并以简单易懂的方式提供。
你如何看待人工智能在你的营销工作中的作用?
感谢您花时间阅读帖子。
关于作者: 韦达·孔杜鲁是 VectorScient 的创始人兼 CEO。在她目前的职位上,Veda 负责制定和执行 VectorScient 的战略。Veda 还担任 VectorScient 预测营销云的首席产品架构师。在推出 VectorScient 之前,Veda 在企业界工作了 10 多年,为销售、需求预测和供应链设计和构建软件应用程序,在产品质量、客户关注和参与方面享有盛誉。Veda 将她的统计学背景与机器学习和数据科学相结合,创造出真正世界级的预测分析产品。她拥有计算机科学硕士学位。
人工智能最需要的是期望管理
里斯本 2017 年网络峰会。
在世界上最大的科技会议的第二天,与会者聚集在中心舞台,观看最大的科技公司之一展示其最新的创新。这很壮观——无人机在飞,面部识别能力被展示,然后首席执行官发表声明——“人工智能现在解决了儿童贩运问题!”。人群欢呼起来。
等等——什么?
我想澄清一些事情。人工智能并没有解决贩卖儿童[或任何人类最大的问题]——做出这些类型的声明可能会危及真正基于人工智能的应用程序的扩散。
我来详细说明一下。
尽管潜力巨大,人工智能仍然是一项 T2 技术。然而,要实现真正的改变,人和过程同等重要。单靠人工智能永远无法解决儿童贩运问题,因为它没有解决这个问题的根源——只有结合人类行为和过程的复杂变化系统,它才有机会。
吴恩达(人工智能的超级英雄之一)使用下面的经验法则:“如果一个典型的人可以在不到一秒钟的思考时间内完成一项脑力任务,我们很可能现在或在不久的将来使用人工智能使它自动化”。
决定照片中是否有特定的人脸?是的。决定这张图片是否显示不适当的内容?是的。解决拐卖儿童问题?可惜没有。
这些类型的主张不仅仅是关于更大的人道主义问题。我自己也在科技行业工作,我和许多公司谈过,他们承诺会有成堆的金子[“我们让你的业务成本效益提高 60%!”],结果却大失所望。对技术的信任减少,人工智能的利用也减少——这些公司在再次开始人工智能冒险之前理所当然地会三思。
这些陈述所推进的,是对人工智能当前能力的误解。这里错的是期望管理,而不是人工智能。
那么我们能做什么呢?
对于那些从事人工智能工作的人来说——管理那些期望。我们不需要更多的人工智能宣传,我们需要更多真实世界的用例。开始构建后者,诚实而透明地对待 AI 能做什么和不能做什么[ 这里的是一个好的开始]。
对于人工智能爱好者——对人工智能的潜力保持乐观,但对围绕它的营销机器保持怀疑。提问讨论——这个问题有可能被 AI 解决吗?人工智能通常需要大量数据进行训练。这么多数据可能随时可用吗?此外,人工智能目前处于最佳状态,有着明确的目标和可预测的环境。这就是为什么 AI 在语言翻译方面相当不错,但不能写小说或电影剧本[ 看看当我们试图让 AI 做后者时会发生什么,这太搞笑了]。这些条件具备到什么程度?
当然,你必须教育自己问一些正确的问题——媒体上有一些关于这个话题的精彩帖子,比如这里的和这里的。
无论你做什么:不要把脚本演示误认为是真正的人工智能。正如 WebSummit 的一位发言者正确地提到的那样:“只要我没有看到,我就不相信”。
嘿,很高兴你看了我的帖子!如果你喜欢,请按下👏按钮下面按几下,这样其他人也能听到。还有,如果你有什么想法,请在评论里告诉我!
请注意:本文表达的观点是我个人的,并不代表我的雇主的观点。
应用描述告诉我们什么:Python 中的文本数据预处理
将 NLP 应用于 App Store 上的应用描述
继续讨论数据清理和探索的主题,许多有效的 NLP 分析都依赖于文本数据的预处理。因此,我决定对来自 Apple Appstore 描述的一些文本数据和结果文本的 K-Means 聚类进行逐步预处理。
为什么是 Appstore?来自 kaggle 的这个数据集包含 7197 个应用及其各自的应用描述。应用描述是应用创建者尽力“推销”他们的应用的地方。利用预处理后的数据,我检验了“应用描述是应用类型的良好预测者吗?”。
我在这里使用的预处理“框架”如下:
- 翻译*
- 删除非字母字符
- 全部转换为小写
- 标记化
- 删除停用词
- 词干**
- 分析
*我想先翻译所有的描述,因为非字母字符的正则表达式会删除像日语和中文这样的语言。
**在这个特殊的例子中,我已经省略了词汇化,因为我想以后再看词汇多样性。
像往常一样,我们从读入包含相关数据的 csv 文件开始。这里,我们将具有基本应用信息的数据帧与具有应用描述的另一个数据帧合并。
因为特性变量的数据类型很大程度上是合适的,所以让我们快速看一下底层数据。
不出所料,App Store 上的大多数应用都是游戏,占数据集的 54%左右。接下来最具代表性的类型是“娱乐”和“教育”,远远落后于 7%和 6%左右。
平均而言,评分最高的类型是“生产力”和“音乐”。有趣的是,到目前为止,“目录”、“金融”和“书籍”是应用商店中评分最低的应用。
预处理过程
1 翻译成英语
预处理从将所有应用程序描述翻译成英语开始。这里,我们使用 googletrans 包对 Google Translate 进行 API 调用。不幸的是,这个 API 调用有 15k 字符的限制。虽然这不是最好的解决方案,但我们可以通过为数据帧中的每一行重新初始化转换器来解决这一限制。
为了防止在语言已经是英语时进行 API 调用的不必要操作,我们可以使用 langdetect 包进行条件检查,并且只在语言不是“en”时进行 API 调用。
有 46 个应用程序的描述返回了错误调用。虽然长度对一些人来说是个问题,但对另一些人来说却无法确定错误。由于这是数据集的一小部分,我们可以放弃这些应用程序。
2 删除非字母字符
既然我们已经确定诸如日语或汉语这样的语言不会被正则表达式过滤,我们就创建一个表达式[^a-zA-Z ]来返回所有的字母字符和空格。在 helper 函数 cleaned()中使用 re.sub()方法删除其他任何内容。保留空格,以便在进行标记化时,字符串可以被空格分割。
3 转换为小写
规范化文本数据的另一个步骤是将所有字符转换成小写字母。这与在 dataframe 的目标列上运行 str.lower()一样简单。
4,5,6 标记化、删除停用词和词干
由于接下来的 3 个步骤是通过 nltk 包实现的,所以我为它们创建了一个聚合助手函数。
标记化是指将一个长字符串分割成更小的块或标记。这非常类似于在字符串上运行 split 函数,根据定义的分隔符返回单个组件的列表。我们在这里用 nltk 包中的 word_tokenize 来标记字符串。
停用词是被过滤掉的词,因为它们对文本的整体意义没有太大贡献。这些词包括“a”、“to”、“and”等。我们通过 nltk 包中的 stopwords.words('english ')找到英语的一组停用词。
词干是指从一个单词中去掉词缀。比如‘爬’就变成了‘爬’。我们在 nltk 包中用 SnowballStemmer('english ')初始化一个词干分析器。
Example of sanitized output
下面的 helper 函数将首先对字符串进行标记。然后,它检查每个标记是否是停用词。最后,如果这个词不是停用词,它就运行词干分析器,并将这个词附加到一个列表中。
7 分析
现在让我们深入研究一下经过清理的数据。
7.1 字云生成
在特定类型的应用中,最常用的词是什么?虽然简单的单词计数或 tfidf 矢量器会返回单词的排名,但也许顶部的单词可以更有效地在单词云中可视化。
为了给每种类型生成一个词云,我为每种类型创建了一个净化应用程序描述的语料库(或集合)。幸运的是,有一个 wordcloud 包可以方便地从给定的语料库中生成 word cloud。
wordcloud 包的工作原理是为一个语料库创建一个前 200 个单词的列表,并为每个单词创建一个附带的标准化单词计数列表。然后使用 Python 图像库来绘制单词云。这个总结并没有公平对待他的代码,你可以在这里阅读更多。
Wordclouds for games and weather apps
Wordclouds for shopping and music apps
以“游戏”、“天气”、“购物”和“音乐”的词云为例,我们看到最突出的词确实是我们对特定类型的预期。虽然这些流派的区别似乎很明显,但对其他流派来说就有点模糊了,这一点我们将在聚类时再讨论。
7.2 词汇多样性
像‘游戏’这样的不同体裁,自然会产生更丰富多彩的语言和描述吗?我试图通过使用一个简单的公式来确定词汇多样性来回答这个问题。我取了每个过滤单词列表中唯一单词的数量,并除以该描述的总单词数。数字越大,使用的词汇就越多样化。
正如所料,“游戏”和“书籍”的平均词汇多样性得分最高。这可能是由于这两种类型的子类型的多样性,以及这种描述更“吸引人”的趋势。
目录的描述毫无疑问是枯燥的。
7.3 情感分析
是不是有些流派的 app 描述比其他流派的更正面?我决定通过在 Textblob 包中运行情感分析来描绘这个画面。
情绪极性 0 表示中性情绪,极性低于 0 表示消极情绪,极性高于 0 表示(你猜对了)积极情绪。
“游戏”、“金融”和“医疗”类别的平均情绪极性最低。如果游戏包含令人苦恼的主题,如战争或恐怖(这些主题被很好地表现出来),那么“游戏”可能具有非常低的情感极性。“金融”和“医疗”的描述可能较低,因为应用程序可能正在描述不利的金融或医疗状况。
似乎有一些催人泪下的人(约翰·格林)弥补了书籍的离群值。提到“捕捉快乐时光”似乎弥补了“照片和视频”应用的异常值。
7.4 K 均值聚类
现在回到我们开始时试图回答的问题,“应用程序描述是应用程序类型的良好预测者吗?”。
为了回答这个问题,我在单词向量上应用 K-means 聚类,看看它们如何映射到实际的类别。
当我们用 10 个聚类运行聚类时,结果聚类中的前 10 个单词如下:
乍看起来,一些集群可以被标记为:
集群 0:儿童应用
集群 3:音乐应用
集群 4:涉及战争/战斗/怪物的游戏
第六组:益智游戏
集群 7:照片和视频应用
集群 9:汽车相关应用
那么这些集群如何映射到实际的应用类型呢?
上面的标签似乎在很大程度上具有代表性,但似乎有一个问题是游戏在样本中的代表性过高。其他类别的阴影太淡,无法获得任何有意义的见解。同样的热图在没有“游戏”类应用的情况下再次出现。
没有了“游戏”这种被大量代表的类型,其他类型的代表深度现在被更清楚地确定了。一些明显的群是群 3“教育”,群 4“金融”和“购物”,群 7“天气”,群 9“照片和视频”。
如果我们将集群的数量增加到接近流派总数(22 个,不包括游戏)会怎么样?
让我们也将这些映射与每个聚类中的顶级单词进行交叉比较:
有 20 个集群,定义明确的集群如下:
集群 0:购物
第 9 组:健康与健身
第 10 组:音乐
第 11 组:照片和视频
第 13 组:教育
第 14 组:金融
第 17 组:天气
为什么只有三分之一的体裁被聚类很好地代表,有各种各样的原因,其中两个最明显的原因是样本大小不平衡和跨体裁的单词重叠。
不平衡的样本量
正如在最初的 EDA 中所看到的,大约 54%的应用是游戏。即使去掉了游戏,很大一部分仍然是“教育”和“娱乐”应用。
All the games.
在所有流派中选择一个恒定的样本量是很有趣的,但这需要更大的样本总量。
单词重叠
尽管样本量很小,但“天气”应用还是被集群 17 很好地识别出来。有争议的是,被聚类很好地识别的流派是那些具有独特命名的流派。
Wordclouds for utilities and reference apps
看看像“实用工具”和“参考”这样的体裁的词云,它们包含的词在其他多种体裁中也有很好的表现。
也许可以跨所有流派形成流行标记的列表,并从当前净化的字符串中过滤掉。尽管如此,像“生产力”和“公用事业”这样的类型可能仍然会重叠,不会完美地聚集在一起。
我当然希望在修复了这个 NLP 分析的一些问题后,创建一个模型,不仅仅考虑应用程序描述来预测应用程序类型。
我也一直在尝试从每种类型中产生应用描述。以下是“体育”类型的几个例子:
Not great as you can tell ¯_(ツ)_/¯
感谢阅读,代码可在这里找到!