本帖最后由 yuwenge 于 2018-4-2 21:24 编辑
公众号:
THU数据派
功能介绍
发布全球大数据资讯
经典文章推荐:
数据管理和分析趋势正在改变世界
内容如下:
现在的数据世界正在发生什么,它将如何影响2018年的市场?比如这些头条新闻:人工智能无处不在,并将改变一切;企业继续将他们的基础设施和数据转移到云端;GDPR将使数据保护成为每个公司的首要任务。你知道这些,但也许会对这种夸大其词的说法有点怀疑。
那么到底发生了什么实质性的变化?在制定架构和采购策略并在这些领域做出决策时,你需要注意什么?接下来我们会讨论在分析领域发生的7个影响深远的变化,并将它们一一呈现。
Hadoop始终是根基
是的,那些大数据项目的失败率很高;并且Spark在某种程度上已经取代了Hadoop,越来越多的客户开始独立运行它,所以业界开始指责Hadoop…并且不再提到它的名字。所以你认为Hadoop一定已经过时了,对吧?
错!现在每个人都在谈论数据湖,很多时候,那只是Hadoop的代码。而且,虽然许多公司正在云存储中实现他们的数据湖,也经常使用Hadoop生态系统技术来分析这些数据。除此之外,当开始使用云存储来模拟HDFS、Hadoop的文件系统时,你就会意识到云数据湖和Hadoop数据湖并没有本质区别。
好消息是,今年Hadoop将会做它一直应该做的事情:低调地被很多企业接受,并将成为众多数据工具之一,发挥其战略作用。正是这些数据技术的结合,包括Hadoop、Spark、Business Intelligence (BI)和数据仓库,使得当前的分析市场如此令人兴奋。
再见!企业级商业智能栈
今年早些时候,作为一家企业级商业智能公司,MicroStrategy宣布向其前端竞争对手做出让步,引入他们的产品。MicroStrategy相信可以通过利用后端OLAP平台以及相关的数据处理来盈利。该公司似乎意识到了在数据可视化和仪表板方面的竞争是比较困难的,即使能够取得成功,也会带来收益递减。
那么后端是否足以维持企业收入并持续增长?我们拭目以待。但有一点是肯定的,单一的企业级商业智能堆栈已经开始解体,新的挑战即将开始。
数据分层
也许你熟悉数据分层的概念,比如数据存储与其访问频率的相关性。“热门”数据,即最常用的数据,有时访问请求会被路由到非常快的存储,比如固态硬盘,甚至是CPU缓存中;而冷门数据通常存储在更老的,但更便宜的旋转硬盘驱动器之中。
随着存储层次的完善,我们将在今年看到其他层次结构被逐渐认可。例如,分析涉及从与特定团队或业务单位相关的实验数据集到对整个企业都有用的高度结构化,审核和共识驱动的数据。 中间是结构化数据集,可能由于大小或清洁程度而被视为略低于生产水平。
实验数据集存储在数据湖中最好;逻辑上,高度审查的数据集最好存储在数据仓库中。中级数据集可能比较适合放在Hadoop或云存储中,但通常会使用IBM Big SQL,Microsoft PolyBase和Oracle Big Data SQL等SQL-on-Hadoop工具从关系型数据库中进行查询。
还有一种层次结构可能会根据数据是用于设计机器学习模型还是仅用于分析来对数据进行分层,其他的层次结构可能由数据源的可信度来定义。
层次结构之所以重要,是因为相应的工具和技术也存在分级,包括查询端的商业智能和大数据分析工具,以及存储库端的事务型数据库,NoSQL数据库,数据仓库和数据湖。虽然最终,层次结构可能会得到简化,技术可能会趋于整合,但是现在有了这么多的技术选择,我们就需要数据中的层次结构来规定我们在工具链部署中的最佳实践。
更多内容:
链接
零基础带你搞定python !(附代码)
什么是code
code就就是一种语言,一种计算机能读懂的语言。计算机是一个傻逼,他理解不了默认两可的任何东西。比如,你让你老公去买个西瓜,你老公会自己决定去哪里买,买几个,找个搞活动打折的买,总之,你给他钱,他就给你买回来让你吃到爽的西瓜。但是,你想让计算机买一个西瓜?你要告诉他:去门口的鲜丰水果店买,买沙瓤无子西瓜,若旁边的店打折,就去旁边的店买。总之,你不能让计算机做任何决定,你要清楚的告诉他所有情况下的所有的行为。而code,就是你和计算机交流的语言,或者说是对计算机的命令。
我们就把计算机理解为一个人,这个人很死板,只能按照你给他的详细命令进行工作。而这个人工作速度特别特别快,并且保证工作结果都是正确的。
编程语言其实不重要,重要的是要明白如何和计算机交流,明白了这个也就能看懂代码了。
编程 = 算法 + 数据结构
python就是一种和计算机交流的语言,这种语言单词(关键字)不多,规则也少。下面所有的内容都基于python。
1. 判断
当你命令计算机做一件事情的时候,这件事情可能分一些情况进行处理。
判断通常涉及到的关键字有:if , else, elseif, and, or,<, >,=,<=,>=,== 比如,你让计算机买西瓜,希望买到打折的西瓜,不打折的话你就不吃了。
通过这个命令,计算机变得更智能了一些,他可以根据情况执行你的命令。
水果店不打折你就吃不到西瓜,你不开心。那么,我们让计算机更智能一些。假如西瓜打折,就买西瓜;不打折的话让计算机跟老板讲价,老板同意打折,就买西瓜;不同意,不吃了;
if 水果店打折: 买西瓜 else: 与老板讲价 if 讲价成功: 买西瓜 else: 不吃了。
虽然和老板讲价一般都能讲成功,但是有的老板给力给打五折,有的老板只给打九折。你就想了,若老板打五折,我就买两个,今天吃一个,明天吃一个。若老板不给力,打折不到五折,就买一个,今天先吃,明天再说。
此外,有没有发现,打着成功这段代码其实也可以写成:
if 打折成功: if 打折力度<=5: 买两个西瓜 else: 买一个西瓜 else: 不吃了。
由此可见,计算机也不是完全的一成不变,只要你给他的命令他能理解并且不会默认两可,他都可以完成工作。
and的意思代表且,or的意思代表或。and和or的顺序不同,结果也不同,可以通过括号来说明判断条件的优先级。
a==b是比较a和b是否相等的意思,而=代表赋值。赋值的含义,我在下面的变量章节介绍。
2. 循环
python中涉及到循环的关键字包括:for…in… ,while,break,continue 上面的例子我们已经让电脑成功的可以根据不同的情况去水果店买西瓜了,但是若老板不打折,你就吃不到西瓜了。这时,你就想了,咱们小区门口有三家水果店,分别是鲜丰水果、四季水果和路边摊,一家不打折不代表三家都不打折啊,所以你希望电脑可以去三家都去看看,挑一家打折的店买西瓜。
循环的意义在于,可以用电脑对不同的对象执行相同的命令。
介绍下break,break的意思就是结束循环。比如,这段代码中的break表示,我们一旦买了西瓜,那么就带西瓜回家。
3. 变量
现在是时候介绍'变量'这个重要的东西了。
我们依然把电脑理解为帮我们工作的一个人,那么作为一个人,他需要有记忆力,而我们就可以通过变量去控制、利用计算机的记忆力。
变量可以理解为计算机的一个记忆单元,计算机拥有极好的记忆力,所以,可以随心所欲的使用,用完了就扔,需要了就要。(当然,说随心所欲是不严谨的,但是你可以理解为随心所欲)
那为什么叫变量呢,就是因为可以改变。为什么要改变呢?比如我们都有自己的年龄,我今年18,明年就19了。所以,'年龄'在我的记忆里是每年改变的。
变量对应的一个东西叫常量,在我的记忆力,我的老婆是江江同学。而这个'老婆'这个记忆单元在我的脑子里是不会变的,她永远都是江江同学。常量你现在可以不用理解,我写主要是为了秀恩爱。
现在,计算机又要去买西瓜了。不过这次,你希望计算机可以在三个水果店中,找到一个打折力度最大的水果店去买水果。
以上有以下几个记忆单元:
深度学习究竟怎么入门?两位Google大神掀起剑气之争
作为一名深度学习新手,该先学会用框架快速搭出神经网络,用到实际问题中去,还是该先练习用Python基本徒手搭建模型,在小数据集上训练,了解它们的工作原理?
谷歌的两位研究员最近在Twitter上展开了一场旷日持久的争论,两派主要代表都是圈子里大名鼎鼎颇有建树的人物:
“气宗”代表 谷歌大脑的研究员David Ha(@hardmaru),SketchRNN的爸爸。
“剑宗”代表 谷歌研究员François Chollet(@fchollet),Keras的爸爸。
注: “气宗”“剑宗”无任何道德、派系等层面的影射,不要多心
剑气之争
这两位所争论的问题,正是 内力和剑法哪个更重要 深度学习新手的入门路径问题:了解模型的内部原理,和快速实现模型解决问题,哪个更重要呢?
小编越洋围观了这场辩论,觉得他们的观点很值得搬回来让大家了解、思考一下。 在David Ha看来,想搞好深度学习,当然要先打基础,“练气”很重要。他在一个月前抛出了这样一个观点:
从零开始(用纯Python、numpy、甚至JS)实现全连接网络、卷积神经网络、RNN、反向传播、SGD,然后用小训练集来训练这些模型是一种学习神经网络如何工作的好方法。在跳到框架上之前,应该花时间从这里收获宝贵的直觉力。
新手入门,难道不该用最简单的高层框架吗?Keras作者Chollet就更支持初学者们先“练剑”。他对David的反驳是这样的:
实现神经网络能教你怎样实现神经网络,让你从算法上理解它们的工作原理。
但这不能教会你它们是做什么的,或者说能否实现哪些功能。要学习这些,你应该把它们应用到一系列真实问题上去(而不是XOR、MNIST)。
更多内容链接
如何从零入门数据科学?
我相信近日90%的LinkedIn交流都包含以下术语之一:DS,ML或DL (数据科学,机器学习和深度学习的缩写)。不过要小心这个陈词滥调,因为“80%的统计都是现场搞的”。如果你不太了解这些缩略词,也许你需要谷歌一下再继续阅读本文其他部分。本文的目标有二,一是尝试让大家轻松学习数据科学,二是为入门者提供继续深入学习的指导。
这是一张我在网上偶然看到的图片:
相当让人不知所措有木有!!!!
从哪儿开始! 如何开始?
我于2017年10月初开始数据科学之旅。我先花了15天时间试着对“什么是数据科学”这个纯粹的问题给出一个令人满意的答案。我充分浏览了互联网上的各种资源,包括Quora、Medium、Springboard博客和电子书、Udacity博客、Forbes、datascience.com,KDnuggets,datasciencecentral.com,Analytics Vidhya和其他各种网页(不充分浏览是不够的,不要怪我没有警告你)。然后我得出结论:数据科学(通俗地说)是让计算机用数据绘制出漂亮的图表,并用它讲出一个漂亮的故事来解决商业问题。是的,就这么简单。你不信?但真是这样。好吧,其实数据科学有两大派别,我这里谈论的是商业数据科学。另一个派别的最终产品不是故事,而是数据驱动的产品。我们不要深究那个派别,因为那样我们就会离题到机器学习工程里去。通常谷歌、Facebook等都有数据驱动的性质,属于第二派别。大部分学术研究也属于第二派别。
回到第一派别,我再为它下一个更深层的定义。数据科学是基于历史数据来解决商业问题的过程,这一过程包括前期对历史数据的整理和分析、继而纳入一个(或一组)机器学习模型、以达到对未来可能出现的问题进行预测并提出解决措施的目的。天啊!这简直酷毙了!圆满解答入门问题之后,我立即就它的最佳学习路径展开了思考。
学习路径?!
接下来我花了一段时间查阅这个短语,并且搜集到了无数的建议。这次我得对其中一些进行尝试了。我有电子和通信工程专业的学士和硕士学位,而且拥有十年编程经验,比如C / C ++,Octave / Matlab,Verilog / SystemVerilog,Perl等语言。我从小最喜欢数学,而硕士期间钟爱概率论。对我而言,我的优势无疑是编程经验和概率论。
我有点畏惧“机器学习”这个术语,但我是个乐于直面恐惧的人,于是我参加了吴恩达教授的Coursera课程。第一次学习就收效良好,这让我感到十分欣慰。我这人怕蛇和Python(译者注:Python单词有蟒蛇的意思),所幸吴恩达的课程练习以Octave为基础。我尝试了Coursera、Udacity、Edx和Datacamp等平台学习Python编程基础,并最终选择了Coursera和Datacamp。对于数据科学初学者而言,我认为以R入门可能收效更好。然而当时我并不确定只走数据科学这条路,Python的通用性更好一些。我便在几个平台同时学习若干课程,尝试在Udacity学习机器学习入门、统计学、CS基础知识、数据科学入门等。我并没有学习很长时间,因为我不太愿意在大脑吸收新概念时被打断。
非数据科学的其他课程
这时,我学习各种课程已经有很长时间了。我发现了一个来自UC, San DiegoCoursera的很棒的课程,名为“学习如何学习”。学习完这个课程后,我再次确信我的学习技巧没有问题。此外,它还打消了我对不再年轻是否还能接受新事物的疑虑。近期研究表明某些行为,如锻炼、冥想或者仅仅在大自然中漫步(我的必修课)会在大脑中产生新的神经元并形成新的联系。里面提到的番茄工作法对我也非常有帮助。我还以此为契机开始学印度商学院的“幸福美满的一生”课程。该课程使我心无杂念地钻研数据科学,提醒我要为单纯的学习乐趣而学习,注重过程而非最终结果。我发现它们对于进行快速有效学习很有帮助,尽管这些都是非技术的东西。 线下活动/项目:
我在10月中旬参加了一次线下活动,该活动是由当地的数据科学咨询公司组织的,该公司同时也开展相关培训,但我不太认可他们的模式。他们用你的钱训练你,如果你表现优异,再招聘你为雇员。这次线下活动让我意识到:“MOOCs无助于你的求职,而实际项目、Kaggle比赛、开设自己的博客却很有帮助。取得知名研究所的硕士学位会非常重要,但同一研究所的MOOC证书却没有价值”。
我这样认为:“重要的不是你的学习路径如何,而是你是否具备做一个真正的数据科学项目的能力”。如果你能够在面试中证明你的能力,那你怎么会找不到工作?你不需要在bootcamps上支付数千美元的费用,也无需获得MOOC证书。但你需要具备一套数据科学家的素质/才能/技能:包括充分理解高中数学概率统计学基本知识,拥有强烈的好奇心、求知欲和学习新事物的态度,熟悉编程,懂得记录和呈现,最重要的是,你必须知道你拥有这些技能。[如果你怀疑自我,那你首先要做的是排除疑虑。]之后再学习其余部分(如机器学习)。各大公司对数据科学家的需求非常多,尤其是像我所处的小城镇的公司,他们正在想方设法聘请一位优秀的数据科学家。牢牢记住,重要的是你要做一些真正的数据科学项目,并通过报告/演示或 github repo将它们展示给未来的雇主。如果你不知道如何做一个真正的项目,你可以寻求一位导师(技术专家)的帮助,而后在求职过程中寻求更高职位。
所以…
总而言之,填补关键知识缺口的最佳途径是什么?没有捷径。尝试几个平台吧,看看最适合你的是什么。你可以从MOOC入手,再不断深入。一定要好好安排并详细记录你的过程。先学习一个你不擅长的领域。例如,如果你已了解C++,那就不要立即开始学习Python,要知道你最终可以学会它。你可以尝试学习机器学习,看看你是否喜欢,因为数据科学家与数据分析师或数据工程师的区别就在于此。如果你不想自学它们中的任何一个,那么即使你参加训练营也无济于事。数据科学是一个需要每天学习的领域:新工具,新概念/算法,新业务/领域,无穷无尽,只有脚踏实地,且永不止步才能实现。 链接
八大基础概念带你入门机器学习!(附学习资料)
准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时间了解的话题。
这些机器学习的专业术语能够简要地介绍最重要的机器学习概念—包括商业界和科技界都感兴趣的话题。在你遇到一位AI指导者之前,这是一份不详尽,但清楚易懂又方便在工作、面试前快速浏览的内容。
概览:
自然语言处理 数据库 计算机视觉 监督学习 无监督学习 强化学习 神经网络 过拟合
1. 自然语言处理
自然语言处理对于许多机器学习方法来说是一个常用的概念,它使得计算机理解并使用人所读或所写的语言来执行操作成为了可能。
自然语言处理最重要的最有用的实例:
这项任务的目标是对一个文本进行预测标签(类别)或对列表中相关联的文本进行排序。它能够用于过滤垃圾邮件(预测一封电子邮件是否是垃圾邮件),或进行文本内容分类(从网络上筛选出那些与你的竞争者相关的文章)。
句子分析是为了确定一个人对某个主题的看法或情感反应,如正面或负面情绪,生气,讽刺等。它广泛应用于用户满意度调查(如对产品的评论进行分析)。
命名实体识别算法是用于处理一系列杂乱的文本并识别目标(实体)预定义的类别,如人,公司名称,日期,价格,标题等等。它能够将杂乱的文本信息转换成规则的类表的格式,来实现文本的快速分析。
语音识别技术是用于得到人所讲的一段语音信号的文本表达。你可能听说过Siri助手?这就是语音识别应用的一个最好的例子。
自然语言的理解是通过计算机,将人类生成的文本转换成更正式的表达。反过来,自然语言生成技术是将一些正式又有逻辑性的表达转换成类人的生成文本。如今,自然语言理解和生成主要用于聊天机器人和报告的自动生成。
从概念上来说,它与实体命名识别任务是相反的。
更多链接
|