精华内容
下载资源
问答
  • 在系统中,学习任务被表述为有向非循环图(DAG),其中每个节点代表一个操作(例如,机器学习算法),每个边缘代表一个节点其后代的数据流。 可以手动定义任务,也可以现有任务/模板中克隆任务。 将任务提交...
  • 就是说,我觉得这个领域在欣赏这些发展与随后部署它们以解决“现实世界”任务之间陷入了鸿沟。 已经出现了许多框架,教程和指南,以使机器学习民主化,但是它们规定的步骤通常与需要解决的模糊问题不吻合。 这篇...

    随着对神经网络和深度学习的兴趣日益浓厚,个人和
    公司声称在其日常工作流程和产品中不断增加人工智能的采用率。

    再加上AI研究的迅捷速度,新一轮的流行浪潮显示了解决其中一些难题的巨大希望。

    就是说,我觉得这个领域在欣赏这些发展与随后部署它们以解决“现实世界”任务之间陷入了鸿沟。

    已经出现了许多框架,教程和指南,以使机器学习民主化,但是它们规定的步骤通常与需要解决的模糊问题不吻合。

    这篇文章是一个问题的集合(有一些(甚至是错误的)
    答案)在将机器学习应用于
    生产。

    垃圾进垃圾出

    我有可靠的数据源吗? 我从哪里获取数据集?

    在开始时,大多数教程通常都包含定义明确的数据集。
    无论是MNIST还是Wikipedia语料库,或者是
    UCI机器学习存储库中 ,这些数据集通常不能代表您要解决的问题。

    对于您的特定用例,可能甚至不存在适当的数据集,并且
    建立数据集可能需要比您预期更长的时间。

    例如,在Semantics3,我们解决了许多电子商务特定的问题,从产品分类产品匹配再到搜索
    相关性 对于这些问题中的每一个,我们必须仔细研究并花点时间
    大量努力来生成高保真产品数据集。

    在许多情况下,即使您拥有所需的数据,也可能需要大量(且昂贵 )的体力劳动来对数据进行分类,注释和标记以进行培训。

    将数据转换为输入

    需要哪些预处理步骤? 在与算法一起使用之前,如何规范数据?

    这是通常独立于实际模型的又一个步骤,在大多数教程中都被掩盖了。 当探索深度神经网络时,这种遗漏显得更加明显,在深度神经网络中,将数据转换为可用的“输入”至关重要。

    尽管存在一些用于图像的标准技术,例如裁切,缩放,零中心和白化,但是最终决定权仍然取决于每个任务所需的归一化级别。

    使用文本时,该字段变得更加混乱。 大写
    重要? 我应该使用令牌生成器吗? 单词嵌入呢? 我的词汇量和维度应多大? 我应该使用预先训练的向量,还是从头开始或分层?

    没有在所有情况下都适用的正确答案,但与可用选项保持同步通常是成功的一半。 spaCy的创建者最近发表一篇文章详细介绍了一种有趣的策略,用于标准化文本的深度学习。

    现在开始吧?

    我使用哪种语言/框架? Python,R,Java,C ++? Caffe,Torch,Theano,Tensorflow,DL4J?

    这可能是最自以为是的问题。 我是
    仅出于完整性考虑,在此处包括本节,很高兴为您指出可用于做出此决定 各种 其他 资源

    虽然每个人的评估标准可能不同,但我的
    只是简化了自定义,原型制作和测试。 在这方面,我更倾向于从scikit-learn开始,并在我的深度学习项目中使用Keras

    其他问题,例如我应该使用哪种技术? 我应该使用深
    或浅层模型,CNN / RNN / LSTM呢? 同样,有很多资源可以帮助您做出决策,这也许是最多的
    人们谈论“使用”机器学习时讨论的方面。

    训练模式

    如何训练我的模型? 我应该购买GPU,自定义硬件还是ec2(现货)实例? 我可以并行化它们以提高速度吗?

    随着模型复杂性的不断提高,以及对处理的需求不断增加
    功率,这是生产过程中不可避免的问题。

    十亿参数的网络可能会保证其出色的性能
    TB级的数据集,但是大多数人都无法承受训练仍在进行中数周的等待。

    即使使用更简单的模型,跨实例构建,训练,整理和拆除任务所需的基础架构和工具也可能令人生畏。

    将时间花在计划基础架构 ,标准化设置和尽早定义工作流程上可以为您构建的每个其他模型节省宝贵的时间。

    没有系统是孤岛

    我需要进行批量或实时预测吗? 嵌入式模型或接口? RPC还是REST?

    除非它与您的生产系统的其余部分连接,否则您的99%验证准确性模型没有太大用处 这里的决定
    至少部分由您的用例驱动。

    将简单的权重直接打包到您的应用程序中的模型可能会令人满意地执行,而更复杂的模型可能需要与集中式重型服务器进行通信。

    在我们的案例中,我们的大多数生产系统都批量离线执行任务,而少数生产系统则通过基于HTTP的JSON-RPC进行实时预测。

    知道这些问题的答案也可能会限制
    构建模型时应考虑的架构。 建立一个复杂的模型,只是为了以后知道它不能部署在您的内部
    移动应用程序是一场灾难,可以轻松避免。

    监控表现

    如何跟踪我的预测? 是否将结果记录到数据库? 网上学习呢?

    在构建,训练并将模型部署到生产中之后,任务是
    除非您已经安装了监视系统,否则仍然无法完成。 确保模型成功的关键因素是能够测量和量化其性能。 在这个领域有许多问题值得回答。

    我的模型如何影响整体系统性能? 我要哪个号码
    测量? 该模型是否正确处理了所有可能的输入和方案?

    过去使用过Postgres,我更喜欢使用它来监视我的模型。 事实证明,定期保存生产统计信息(数据样本,预测结果,异常值)对于在部署过程中执行分析(和错误事后验算)非常有用。

    要考虑的另一个重要方面是在线学习要求
    您的模型。 您的模型应该动态学习新功能吗? 当气垫板成为现实时产品分类程序应该将其放置在“ 车辆玩具”中还是将其保留为未分类状态 同样,这些是在构建系统时值得辩论的重要问题。

    包起来

    不仅是秘密的调味料

    这篇文章提出的问题多于答案,但这确实是重点。 随着新技术小区以及网络体系结构的许多进步,错过森林比以往更容易。

    从业人员需要对端到端部署进行更多讨论,以推动该领域的发展并使真正的大众化机器学习民主化。

    最初发布在 engineering.semantics3.com上

    From: https://hackernoon.com/moving-machine-learning-from-practice-to-production-a476451161e5

    展开全文
  • 经历了2016年VR热潮,VR、增强现实技术发展似乎仍然不温不...阿里方面披露,在9月淘宝造物节上,淘宝将在西湖边搭建一座300平方米“未来购物街区”,消费者可以身临其境,亲身感受由“机器算法”叠加的“真实世界”...

    经历了2016年VR热潮,VR、增强现实技术发展似乎仍然不温不火,而现在推出的MR在购物领域的应用,又有哪些技术优势?
    近日有消息称,阿里巴巴旗下淘宝将与微软HoloLens合作,进军混合现实(MR)购物领域,即将在今年造物节上推出产品“淘宝买啊”

    阿里方面披露,在9月淘宝造物节上,淘宝将在西湖边搭建一座300平方米“未来购物街区”,消费者可以身临其境,亲身感受由“机器算法”叠加的“真实世界”,过一把“科幻生活”的瘾。在“淘宝买啊”帮助下,消费者可以实现“所看即所得”——目光所及之处,商品信息即被智能识别,与之相伴的评论、攻略等资料一应俱全,在“淘宝买啊”的世界里,每一件商品都是全息的、立体的,各种信息一目了然。
    据淘宝市场部负责人透露,作为全球首个消费级别“混合现实”科技,“淘宝买啊”不仅提升消费体验,尝试多样化的购物和生活乐趣,更有望融入每个用户的真实生活中,成为未来生活不可或缺的帮手。“未来,淘宝会变得看不见摸不着,但却处处都有,处处能感知”。
    从VR到MR
    VR作为一种多源信息融合的交互式三维动态场景和实体行为的仿真系统,可以达到身临其境的用户体验,例如UGP VR眼镜就是一个很好的例子,可以在看电影的时候,营造身临其境的效果。
    这里写图片描述
    AR则是利用虚拟现实场景信息叠加到现实场景中,以增加用户的体验。“VR是利用人机交互技术以及计算机生成的模拟/虚拟环境的计算机仿真体验系统。”上海交通大学电子信息与电气工程学院教授马利庄向《中国科学报》记者解释道,MR是VR的拓展,也是AR的一种发展。他表示,MR技术利用人机交互技术,融合了现实世界和虚拟世界(计算机生成场景)的关联场景,使得用户能够在虚拟场景与现实场景之间实现交互反馈,达到身临其境的体验感。从VR到MR:让世界虚实难辨

    “MR是将计算机生成的数字内容与真实世界中的实景以人们难以分辨的方式融合起来的技术。”中国计算机学会虚拟现实与可视化专业委员会副主任、天津理工大学计算机科学与工程学院教授罗训表示,相比之下,VR的目标是建造出与真实世界高度近似的数字内容,AR则是在真实世界中添加自然融合的部分数字内容,这些数字内容不一定要让人们感觉是真实的,例如足球比赛中球员身上贴的实时技术统计标签。
    MR的目标则是做到“虚实难辨”,人们完全感觉不到数字内容的存在,或者数字内容与真实世界的区分。“技术的演进基本上可以列为VR≥AR≥MR。”罗训说。
    对此,马利庄也表示,“本质上讲,MR是AR的加强版,将虚拟世界与现实世界融合,通过人机交互技术构成交互反馈的完整闭环。”
    优势互补 迎接挑战
    既然是虚实结合的技术,除购物之外,MR的应用场景还有很多,罗训举例道,“社交、训练、学习、军事、康复医疗等,可以说在相关技术支持下,几乎所有的真实世界活动都可以找到应用MR的机会”。
    罗训提醒道,当前定义的MR主要是指实时的虚实融合,因此我们往往忽视了影视作品这一身边的非实时虚拟融合应用。“电影这一‘欺骗的艺术’早已应用到了大量的虚实融合,我们看的每一部大片中的许多场景都是计算机数字制作的,它们与实拍场景结合起来后,观众完全分辨不出来。”
    但是,电影视效和MR的差别在于前者还很难做到实时。此外,MR中用户可以从各个方向、各个角度对场景进行观看,而电影视效的视角总是固定的,由摄像机视角决定。
    尽管实时响应的MR系统支持的购物体验就要来了,但MR生命周期管理方面仍存在挑战。罗训指出,计算机需要实时地制作出与真实场景适配的数字内容,这往往要求其具备相当的环境感知能力和场景应用理解能力。例如在购物场景中生成哪些物品信息、在什么时机显示这些物品信息,这些不仅仅涉及到计算机图形学和视觉,也涉及到信息检索和人工智能的问题。
    “在数字内容和真实场景的显示融合上,要做到实时、高效;实现虚实融合后,用户与场景的自然交互性,以及用户使用中的人体工学舒适感等,都对技术提出了很高的要求。”罗训说。
    虽然存在挑战,淘宝和微软的合作显然是整合了双方的优势。罗训认为,“淘宝有深厚的数据与技术基础,而聚焦于混合现实技术的微软Hololens则有很强的技术积累。”
    人机交互2.0时代来临
    技术的发展,也使得人们购物方式逐渐多元化,人工智能(AI)和MR正逐步满足消费者对购物的各种体验需求。这其中伴随着的是人类与计算机之间交互方式的变革。
    “从键盘、触屏到虚拟现实,再到将人工智能技术融合到MR中,使得人机交互技术发展到更高的层次;利用计算机视觉技术、智能语音处理技术,使得虚拟场景中的物体更加‘人性化’,实现与现实场景无缝对接。”马利庄认为,人机交互2.0时代即将到来。
    未来的计算设备、计算方式、信息呈现方式将会不断演进。就像当年人们需要在机房中使用计算机,现在变成了使用笔记本电脑,人们对随时随地使用计算和信息的需要,本质上决定了未来的交互是无处不在和虚实融合的。
    “虚实融合的人机交互方式是计算机技术发展的必然。我们早已被各种数字内容和它们的承载设备所包围,也在应用这样的服务,只是程度不同而已。”罗训坦言。
    Hololens从推出到现在已经历了好几次硬件升级,其软件平台和应用也越来越成熟。据了解,早期的Hololens应用主要是工业/艺术设计和三维计算机桌面交互,之后在医学和科学教育方面的应用增长较快。
    罗训认为,“淘宝买啊”的推出意味着Hololens的技术已经进一步成熟,毕竟购物者对于显示和交互体验的自然度要求均比之前的Hololens应用高很多。
    他表示,“购物体验对于购物结果影响也很大,淘宝能够放心使用,说明淘宝方和微软方对于自己的技术、服务和产品都有着相当的自信。微软在中国首先推出这样的服务,而不是与美国电商首发,说明其对于Hololens的价格被接受度也有了一定的信心和未来规划。”
    马利庄则表示出对“淘宝买啊”应用设备的担心——计算机配置较高(CPU、GPU)、技术的智能化程度需要加强、便捷性不够,尚不能像手机一样随身携带。
    Hololens不是MR硬件的唯一领先者,但它的几个特性体现了相关技术的共性趋势:显示上虚实融合(Hololens的显示投射在类似于墨镜的半透明镜面上,用户可以同时看到真实场景和数字内容);交互上自然(Hololens使用语音和手势交互);长时间佩戴舒适。罗训认为,这些技术会被产业不断完善,并最终为千万级乃至亿级的用户服务。

    展开全文
  • 现实世界中,准确率应该会比95%低一些,特别是随着时间的推移,假新闻的创作方式也会有所改变。由于自然语言处理和机器学习方面发展迅猛,因此我想也许可以搞一个能够识别假新闻的模型,从而遏制假新闻泛滥所造成...

    我们使用机器学习和自然语言处理开发了一个假新闻检测器,其在验证集上的准确率超过了95%。 在现实世界中,准确率应该会比95%低一些,特别是随着时间的推移,假新闻的创作方式也会有所改变。

    由于自然语言处理和机器学习方面发展迅猛,因此我想也许可以搞一个能够识别假新闻的模型,从而遏制假新闻泛滥所造成的灾难性后果 。

    可以说,要制作自己的机器学习模型,最困难的部分就是收集训练数据。 我花了几天和几天的时间来收集2017/2018赛季所有NBA球员的照片, 以期训练一个人脸识别模型 。 我不知道我会潜入一个长达数月之久的痛苦过程,暴露出一些真正黑暗而令人不安的事情,这些事情仍然作为新闻和真实的信息被传播。

    如果你希望马上学习机器学习方面的技能和知识,我推荐你使用汇智网的Python机器学习在线运行环境

    假新闻的定义

    我的第一个障碍是意外的。 在对假新闻做了一些研究之后,我很快发现错误信息有很多不同的类别。 有些文章是公然虚构的,有些文章则提供了真实的事件但进行错误的解读,有些文章属于伪科学,有些宣扬片面观点的文章也伪装成新闻,文章是讽刺的,有些文章主要内容就是一些推特和引用其他人的话。 我搜索了一下,发现一些人试图将网站分为“讽刺”,“虚假”,“误导”等类别。

    我认为这是一个很好的开始,因此继续前进,并开始访问这些被标记的网站,试图寻找一些例子。 几乎是马上,我发现了一个问题: 一些被标记为“虚假”或“误导”的网站有时也会有真实的文章。 所以我知道如果不做一个完整的检查就没有办法去刮。

    于是我开始问自己,我的模型是否应该考虑到讽刺和意见,如果是的话,他们应该被认为是虚假的、真实的还是属于自己的类别?

    情绪分析

    在假新闻网站上泡了大约一周后,我开始怀疑自己是否把问题过度复杂化了。 也许我只需要使用现成的机器学习模型来进行情感分析,看看是否存在一种模式? 我决定构建一个快速的小工具,使用网络爬虫来抓取文章标题、描述、作者和内容,并将抓取结果输入到情感分析模型。 我使用了Textbox ,这个在线服务很方便,并且很快就可以返回结果。

    Textbox会返回一个你可以解释为正向或负向的情绪分数。 然后,我搞了一个粗糙的小算法来为不同类型的文本(标题、内容、作者等等)的情绪添加权重,并将它们加在一起,看看能不能得到一个有意义的全局得分。

    一开始它表现的很好,但当我试过第七或第八篇文章之后,这个小算法开始胡言乱语了:它的表现离我想要建立的假新闻检测系统还差的很远。

    失败。

    自然语言处理

    这部分就是我的朋友大卫·埃尔南德斯 ( David Hernandez)所建议的:利用真实的文本训练出一个模型。 为了做到这一点,我们需要为不同的类别中提供大量样本实例。

    为了试图理解假新闻的模式所投入的精力,让我已经相当疲惫了,所以我们决定只抓取那些已知属于虚假、真实或讽刺等分类的网站,看看我们能否快速构建一个数据集。

    在运行了几天的粗糙的抓取工作之后,我们得到了一个自认为足够大的数据集来训练一个模型。

    结果是废话。 深入查看训练数据后,我们意识到,这些网站从未像我们想的那样,整齐地落入预先规划的小类别。 其中一些网站把假新闻和真实的新闻混在一起,另一些网站则只有一些来自其他网站的博客文章,有些网站的文章中90%的文字都是特朗普的推文。 所以我们意识到必须重新开始训练数据。

    这是事情变糟的时候。

    这是一个星期六,我开始了漫长的过程,阅读每篇文章然后才决定将其归入什么类别,并且笨拙地将文本复制、粘贴到电子表格中。 其中有一些黑暗的、令人恶心的、种族主义的、真正堕落的东西,开始时我试图忽略它们。 但经过数百篇这样的文章之后,它们开始接近我。 当我的视觉模糊,我对颜色的解读变得混乱起来的时候,我开始变得非常沮丧。 人类文明为何降到如此低的水平? 为什么人们不能批判性地思考? 我们真的有希望吗? 这个过程持续了几天,因为我努力为这个模型准备足够多的数据样本。

    我发现自己在对假新闻的解读中浮现出来,当看到那些我有不同意见的文章时,就会生气,只为选出我认为是正确的文章而继续奋斗。 但是,什么是对,什么是错?

    不过最终,我收集到了足够多的样本,然后非常放心地把它们发给大卫。

    第二天,当我急切地等待结果时,他再次进行了训练。

    我们达到了约70%的准确率。 起初我觉得这已经很好了,但是当使用开放选择的文章进行抽查后,我意识到这个模型一无是处。

    失败。

    Fakebox

    回到绘图板。 我做错了什么? 是David指出来,简化问题可能是提高准确率的关键。 因此我的确思考了,到底什么才是我要解决的问题。 然后突然一激灵,也许不需要检测假新闻,只要检测真实的新闻就够了。 真实的新闻更容易分类,客观真实,几乎不需要解读。 而且还有很多可信的消息来源。

    于是我回到互联网,开始重新收集训练数据。 我决定把所有新闻都归为两类: 真实的和不真实的。 不真实类将包括挖苦、片面观点、假新闻,以及其它没有遵守AP标准的内容。

    我花了数周的时间来做这件事,每天都要花几个小时从The Onion到Reuters的各种网站上获得最新的内容。 我把成千上万的真实和非真实内容的样本放到一个巨大的电子表格中,每天我都会增加数百个。 最终,我认为样本已经足够来再次尝试。 于是我给David发了电子表格,然后就是焦急地等着结果。

    当我看到准确度在95%以上时,我几乎跳了起来。 这意味着我们发现了一个模式,可以用来区分真实的新闻和那些你应当谨慎对待的新闻。

    成功(某种程度)!

    如果你喜欢这篇文章,请关注我的头条号:新缸中之脑!

    原文: I trained fake news detection AI with >95% accuracy, and almost went crazy

    展开全文
  • 本篇文章想要说明的是数学并非认识世界的唯一途径,即使数学水平不高的你同样也可以开展机器学习方面的工作和研究。但是不可否认数学是自然科学领域探究真理的有效工具,有了强大的数学背景知识会让你看待问题更加...

    本篇文章想要说明的是数学并非认识世界的唯一途径,即使数学水平不高的你同样也可以开展机器学习方面的工作和研究。但是不可否认数学是自然科学领域探究真理的有效工具,有了强大的数学背景知识会让你看待问题更加深刻,这就是我们经常会看到很多大牛们都是出身数学专业。另外本文所列举的课程比较多,要想一下子去穷尽所有课程显然也不现实,大可不必打好所有的数学基础再去学机器学习,最好的做法是当你对机器学习本身的理解达到一定瓶颈的时候,你可以补一补一些相关的数学基础之后再回去看机器学习的问题也许会更快的有所突破。所以本文针对不同学习基础的朋友们,划分初,中,高三个学习阶段,供大家在学习中进一步去取舍。

    首先对人工智能、机器学习一个综述:

    大话“人工智能、数据科学、机器学习”--综述 - 知乎专栏(https://zhuanlan.zhihu.com/p/26645993

    笼统地说,原理和基础都在数学这边,当然有很多偏应用和软件使用的技术,例如“深度学习调参”等,这些报个培训速成班就能学会的技术含量不那么高的东西,不在讨论范围内。

    这里要讨论的,是如何系统的学习,然后自己能编出这机器学习或深度学习的程序或软件--我想,这才能称为一个合格的机器学习、数据科学家。


    1.入门基础

    1, 微积分(求导,极限,极值)例如传统的BP神经网络的训练算法实际上是基于复合函数求导的链式法则,又比如目前多数的监督学习训练算法都基于极大似然估计,而极大似然估计的求解往往涉及求导,求极值的内容。

    • 微积分是最基础的数学内容了,平时我们接触的用的也是最多的,微积分的教材和课程也是多如牛毛,我也就不推荐特别正式的课程了,仅仅推荐一个 Essence of calculus(https://goo.gl/sfHext),作者以拉风的动画,深入的理解带你回顾一下微积分的关键概念。

    2, 线性代数(矩阵表示、矩阵运算、特征根、特征向量)是基础中的基础,主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU 分解、QR 分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数(Norms),这些都是理解机器学习中基本概念的基础。某篇图像分割1w+引用的神文核心思想便就求解构造矩阵的特征向量。

    国内的线性代数教材偏重于计算而忽视了线性空间,特征值等基本概念阐述。我个人也是在接触机器学习的内容后发现自己的线性代数基础并不牢固,下决心恶补线性代数,下面我推荐几个课程。

    • 线性代数课程首推  MIT的 Gilbert Strang老爷子的课程。第一次听老爷子的课程,看到矩阵乘法竟然有四种理解方式的时候着实是惊呆了,原来线性代数可以这么美。看到SVD分解的时候马上就能感觉到SVD分解能在很多场景排上大用场。同时该课程深入浅出,相信一般本科生都可以看懂。课程链接如下:Video Lectures | Linear Algebra | Mathematics | MIT OpenCourseWare(http://t.cn/RmyqB2v

    • 3Blue1Brown的Essence of linear algebra(https://goo.gl/ZuwgNK)以非常直观的角度审视了线性代数的重要概念,直观但不失深刻,配合上高大上的动画效果,让人体会到了大道至简的感觉。一共15个视频,每段视频大约十分钟左右,花费不了多少时间就能看完。

    3, 数据处理当然需要编程了,因此C/C++/Python任选一门(推荐Python,因为目前很多库和Library都是用Python封装),数据结构可以学学,让你编程更顺手更高效,但是编程不是数据处理的核心。熟练使用Matlab或者Python调用opencv库是必要条件,但是again他们只是工具,业余时间自学,多练练就没问题。有同学问用R行不行,补充一点,用什么编程语言很大部分取决于你的核心算法会调用什么已有的库函数,比如楼主的科研里面核心算法往往是MIP(混合整数规划)问题需要调用Cplex或Gurobi库函数,因此C/C++/Python/Java这些和Cplex接口良好的语言都可以拿来用,这时候R就别想了。(更新:最新Gurobi版本支持R)

    另外虽然图像处理界一些open-source的code都用C++写的,但是鉴于使用方便都会提供Python的接口,因此需要用到这些code的话,用Python调用比较方便;但是,如果是高阶骨灰级玩家,需要修改甚至自己写源代码,那么还是推荐C/C++,因为他们的速度最快。

    我个人用的比较多的是C++和Python,因此下面推荐二个课程,

    • C++我觉得coursera上的 C++程序设计(https://goo.gl/eAGvSz) 就很好,适合有C语言基础的人去进一步学习。国内多数工科出身的非计算机软件专业的学生一般都只学过C语言,而C语言本身的风格比较“硬”,从C语言转到面向对象的程序设计,需要有一个思想上的适应过程。

    • 优达学城上的计算机科学导论(https://goo.gl/Lp3YjJ )是一门零基础的Python入门课程。该课程的特点是深入浅出的授课方式,在讲解Python语法的同时背后潜移默化的传递着程序设计的思想,包括数据结构,代码风格,Debug的小技巧。课程中间还穿插入一些对大牛的采访,大大提高了课程丰富性。

    • 最后说一下C++的经典教材C++ prime plus,该书的厚度达到了一个很厚的境界,初学者基本不可能从头看到尾,更倾向于本书是一个字典式的查询式的书籍,需要的时候读其中1-2章节。套用一句经典语:不要想着一下子掌握一门编程语言的所有特性。

    4, 算法(算法复杂度)。通常高校都会有算法类的课程,会概述各类算法的基础和应用,其中包括:精确算法、近似算法、启发式算法、演化算法、递归算法、贪婪算法等待,还有各类优化算法。这部分内容很多会和数据结构相互关联。算法非常核心,想必大家都听说过算法工程师这个职位。关于数学模型和算法的区别、联系,参见:

    【学界】整数规划精确算法/近似算法/(元)启发算法/神经网络方反向传播等算法的区别与关联

    • 算法类的课程我推荐coursera上面的 Algorithms(https://goo.gl/at64Gz), 这个课程分为part1 和 part2两部分。该课程基于Java语言,个人觉得熟悉任何一门面向对象的语言(例如:C++)也不妨碍对该课程的学习。对于非CS出身的同学,该课程有相当的难度,课件的动画非常赞能够帮助你很形象的去理解各种算法,同时对算法的理论分析也有相当的深度(如果对理论的推导不感兴趣可以跳过,先暂时直接记住结论也行)。

    5, 矩阵求导,这里把矩阵求导单独拎出来貌似是有点突兀了,因为矩阵求导和前四块内容比起来根本不是一个层次上的。我个人在开始学习机器学习的过程对矩阵求导产生了极大的疑惑,后来发现有类似疑惑的同学也不少,同时由于矩阵求导貌似是一个三不管的地带,微积分里的多元函数求导貌似是讲了点,矩阵分析可能也有涉及到的,但是缺乏一个统一的理论。很多监督学习的问题多半是一个极大似然估计问题,而这个极大似然估计问题多半是一个优化问题,而这个优化问题的求解多半依赖于矩阵求导得到最优解,最典型的例子就是逻辑回归了。下面推荐两个矩阵求导的材料供大家参考

    • 矩阵求导(http://t.cn/RmyKx2s)

    • The Matrix Cookbook.(http://t.cn/RmyK6Od)


    2.中级教程

    1,概率论+统计(很多数据分析建模基于统计模型)、统计推断、随机过程。可以毫不夸张的说,概率论+统计是机器学习的核心数学理论,前面提到的微积分和线性代数实际上是扮演打工仔的角色。进一步说大多数情况下,我们会依据概率论+统计推到出一个机器学习模型或者算法,而最终的计算过程往往要依赖微积分和线性代数。所以如果你仅仅是实现一个机器学习算法,那么掌握初级教程里边提到的微积分和线性代数就足够了,如果你想进一步探究机器学习算法为什么是这样的,你想解释机器学习模型为什么好用或者不好用,就需要概率论+统计的知识。

    • 实话说概率统计的课程和教材看过不少,至今对概率统计的理解仍然不够。相信绝大多数工科生在本科都学过概率论与数理统计这门课,但是很多教材未能体现出概率真正的思想,名为概率论实际上改名叫做“各种概率分布的介绍”更为妥当,基本上这类教材的节奏都一样先介绍一种分布,然后开始求期望,求方差,求条件分布,各种微积分或组合数的运算啊。经过多年的摸爬滚打的经验,我推荐下面两门课程。

    • 一个是MIT的概率系统分析与应用概率Probabilistic Systems Analysis and Applied Probability(https://goo.gl/stzNFZ),这个是课程主页,课程视频相关资料和教材都有。这门课的主要教材是introduction to probability(https://goo.gl/qWeZzM),作者是Dimitri P. Bertsekas,作者以幽默的语言去诠释概率论,这一点是非吸引人的。

    • 国内也有一个不错的教材,就是陈希儒的概率论与数理统计,该教材最经典的莫过于,用一个时间段内某个路口发生交通事故的实例去解释泊松分布为啥是这个长这个样子,力图告诉你分布背后的故事,而不是拘泥于计算。该课程也有网络视频课程不熟悉英文课程的同学也可参考 中科大 概率论与数理统计(http://t.cn/RmyKd8W)

    2,线性规划+凸优化(或者只学一门叫Numerical optimization,统计、机器学习到最后就是求解一个优化问题)、非线性规划等。个人觉得机器学习里边最常用到的优化内容都是属于Numerical optimization 和 凸优化的,所以各推荐一门课程学习。

    • 凸优化自然是首推Stephen Boyd 和 Lieven Vandenberghe的 教材Convex optimization(http://t.cn/Rmy9Z9w) 与该教材对应的斯坦福的课程为 Convex optimization(https://goo.gl/inJExJ)。该书分为三部分,理论(主要介绍凸集,凸函数,凸优化等等概念),应用(凸优化在各种问题上的应用,只有真正的做过这些应用问题才能对这一章感悟很深),算法(这部分相对来说比较普通)。本人在博士一年级的时候购买了该书的纸质版,目前这本书已经快被翻烂了,每次看这本书都有新的感悟,尤其是应用这个部分。初学者建议先可以放一放应用这个部分,把理论部分啃下来,然后看看算法这部分。

    • Numerical optimization 的主要内容是 基于梯度的优化算法,线搜索方法,线性规划,可微的非线性规划问题。这里推荐Jorge Nocedal和Stephen J.Wright的 Numerical optimization 与该教材对应的课程为 Numerical optimization(http://t.cn/Rmy9eQV)。该教材的特点是基本上把最常见的优化问题都覆盖了,同时完全可以感受到虽然是优化教材但是其思想很计算机,作者总是会用一些小技巧来千方百计的降低算法的计算量(就像数据结构里边的算法一样)。不同于上面那本凸优化书理论气息过于严重,本书的作者基本上是以算法为核心(虽然数学理论证明也一点不少),算法伪代码很多,如果会一门编程语言的同学马上就可以去实践了。初学者可以适当抛开部分数学理论证明,更多的放到理解算法Motivation上去,同时亲自去实践这些算法会更好一些。

    3,数值计算、数值线代等

    当年我是在数学系学的这门课,主要是偏微分方程的数值解。但我觉得其开篇讲的数值计算的一些numerical issue更为重要,会颠覆一个数学系出身小朋友的三观。(原来理论和现实差距可以这么大!) Conditional number, ill-conditioned problem,会让你以后的编程多留个心眼。

    @留德华叫兽

    这里提到了偏微分方程数值解,偏微分方程的理论一般是数学系才会学的课程,而且我们一般人的感受是偏微分方程和机器学习啊这些东西很遥远很遥远。其实也并非如此,一些研究者把偏微分方程和Deep neural networks 结合在一起了,用偏微分方程对SGD进行建模进而进行一些分析。文章发表在arx上 DEEP RELAXATION: PARTIAL DIFFERENTIAL EQUATIONS FOR OPTIMIZING DEEP NEURAL NETWORKS(http://bit.ly/2uLzBOY),不得不说作者的脑洞还是比较大的。

    恭喜你,到这里,你就可以无压力地学习Machine Learning这门课了(其实机器学习,通篇都是在讲用一些统计和优化来做clustering 和 classification这俩个人工智能最常见的应用)。并且你就会发现,ML课中间会穿插着很多其他课的内容。恩,知识总是相通的嘛,特别是这些跨专业的新兴学科,都是在以往学科的基础上由社会需求发展而来。

    到这里,其实你已经能看懂并且自己可以编写机器学习里面很多经典案例的算法了,比如regression,clustering,outlier detection。

    关于优化类课程的综述,欢迎关注我的专栏:

    [运筹帷幄]大数据和人工智能时代下的运筹学 - 知乎专栏(https://zhuanlan.zhihu.com/operations-research)

    运筹学(最优化理论)如何入门? - 知乎(http://t.cn/RlNoHiM)

    学到Mid-level,就已经具备绝大部分理论基础了。然后做几个实际项目,就能上手然后就可以“吹嘘”自己是搞机器学习的,就能找到一份工作了。

    但是要读Phd搞机器学习的科研,那么高阶课程必不可少,而且同一个topic你需要上好几门课,并且你博士的课题,很可能只是一本书中一个章节里面一小节里讲的算法,去改进他。

    比如,楼主的博士课题就是mixed linear programming + discrete graphical models + markov random fields +regression + clustering + segmentation。


    3.高阶课程

    再高阶的课程,就是比较specific的课程了,可以看你做的项目或者以后的concentration再选择选修,比如:Probabilistic Graphical Models(概率图模型), Integer Programming(整数规划),计算机视觉,模式识别,视频追踪,医学图像处理,增强学习,深度学习, 神经网络,自然语言处理,网络信息安全,等等等等。

    深度学习:目前非常火,打败了非常多几十年积累起来的经典方法。

    增强学习:也很火,游戏AI、自动驾驶、机器人等等,它都是核心。

    概率图模型:深度学习之前非常popular的“学习”方法,有严格的数学模型和优美的算法,虽然目前被前俩者盖过了风头,但是依然有它的立足之处。什么?你不知道最近用PGM发了篇Nature,打败了CNN?快看下面:

    Robin Shen:如何评价 Vicarious 在 Science 上提出基于概率图模型(PGM)的 RCN 模型?(http://t.cn/RlNoFhH)

    再比如有用偏微分方程做图像处理的(比较小众),那么这时候你肯定要去学一下偏微分方程了,大都是以科研为主导的。

    科研嘛,为了发文章,就是要尝试前人没尝试过的方法,万一效果不错呢,就是一篇好paper了,对吧。

    附上顶尖会议排名,共勉:

    国际“顶尖”计算机视觉、机器学习会议大搜罗--附排名&接收率(https://zhuanlan.zhihu.com/p/28037164)

    互联网教学资源

    书目没有特别推荐的,但是建议看英文原版。

    楼主推荐海德堡大学历史上最年轻的教授 Fred的机器学习视频(我基本都看过):(https://goo.gl/umwQEg)另外一个教授给你上课的时候,开头一般是会推荐书给你的(如果你确实喜欢看书的话)。当然了,翻墙是楼主suppose你们需要拥有的基本生存技能。

    (注:以下再推荐一些视频,仅受之以渔,多为graduate course)

    1,Machine Learning by Prof. Nando de Freitas(https://goo.gl/WGLRp7), 此视频是其在UBC时13年所录,后来跳槽去牛津计算机系了。(https://goo.gl/a8avcx)

    2,Deep learning at Oxford 2015 by Prof. Nando de Freitas(https://goo.gl/WGLRp7), 跳槽到牛津所录。

    (https://goo.gl/I5abw8)

    3,Probabilistic Graphical Models by Daphne Koller, 斯坦福大学计算机系教授(https://goo.gl/WL1ZrQ)


    4.总结

    经过楼主殚精竭虑的整理,以上优秀课程的全套网盘链接资源(包括视频,英文字幕,课件,参考书籍等等),您可以轻松获得。配合本人上面所述的亲身学习经历,相信您可以选择出合适自己的课程开始学习的征途。

    展开全文
  • 但在现实世界中,人们期望精确度不会少于80%。事实上,我工作过的大多数公司都期望至少有90%的精确度(或他们正在考虑的任何指标)。 因此,我将向你介绍提高准确性的5个技巧。强烈建议你把这五个要点通读一遍,...
  • 程序语言的由来是什么?...数字汇编语言,是很大的飞跃了,汇编语言实际上是机器语言的一些助记符号而已,就是不用记住那些0101,只要记住MOV之类的都好了,然后在Noam Chomsky等大牛的指引下,
  • 这些预测仅仅是预测-输出的值是数据中找到的相关性得出的-并不是在现实世界中发生的确定性值或事件。因此,我们可以认为机器学习是在给定一定的输入或公认的相关性的情况下输出最可能或概率性的结果(几乎像条件...
  • 相对机器人,机器换人,自动化生产,这些说法,无人工厂更加容易被人们接受和受激励。 无人工厂就是淘汰生产线上的工人,不再需要工人,只要维护无人工厂的工人。 无人工厂一旦开发和建设成功,生产率会大幅上升...
  • 如今已经被非常多人努力把它转变成现实。相对机器人。机器换人,自己主动化生产,这些说法。无人工厂更加easy被人们接受和受激励。 无人工厂就是淘汰生产线上的工人,不再须要工人。仅仅要维护无人工厂的工人。 ...
  • 是一种面向客观世界、面向用户的模型,与具体的数据库管理无关,,与具体的计算机平台无关,人们通常先将现实世界中的事物抽象到抽象到信息世界,建立所谓的概念模型,因此概念模型是从现实世界到机器世界的一个中间...
  • 以人认识世界为例,当我们的眼睛捕捉到现实世界的图像的时候,图像会通过视觉神经传输我们大脑的视觉中枢,形成视觉。数码相机也是一样的道理,现实世界反射的光进入相机的感光芯片,然后感光芯片将信号传输...
  • 关系数据库与范式

    2018-07-01 22:52:12
    一、从现实世界到机器世界: 使用数据库技术的目的就是把现实世界中存在的事物,事物之间的联系在数据库中用数据加以描述,记录并对其进行各种处理,归类可用的信息,然后机器根据这些描述转换为机器可用的信息,...
  • 假如机器有感情

    2017-08-08 10:51:32
    想到机器世界的很多模型其实也是参考现实世界,比如mysql的主从备份,如果主机器挂掉了,机器可以顶上。加入机器有感情,机器会不会不甘心只当一台机器呢?如果机器都有这样的想法,是否会引起机器之间的斗争...
  • 数据模型

    2018-07-20 22:20:16
    数据模型就是从现实世界到机器世界的一个中间层。现实世界的事物反映到人的大脑,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不为某一数据库管理系统支持的概念模型,然后再把概念模型转换为计算机上某一...
  • 机器学习算法十分强悍,能够对输入的数据进行深入的观察,建立从现实世界到所要解决问题的高质量的映射,从而让冷冰冰的机器做出近似于人类的高质量的预测和识别。如今,随着机器学习算法的高速发展,机器学习算法...
  • 用户对现实世界感知的新技术。...而AR技术则把计算机带入用户的真实世界中,通过听、看、摸、闻虚拟信息,来增强对现实世界的感知,实现了“人去适应机器技术“以人为本”的转变。 AR(增强现实)技术htt...
  • 机器学习算法十分强悍,能够对输入的数据进行深入的观察,建立从现实世界到所要解决问题的高质量的映射,从而让冷冰冰的机器做出近似于人类的高质量的预测和识别。如今,随着机器学习算法的高速发展,机器学习算法...
  • 人工智能的演变 符号人工智能 人工智能作为计算机科学的一个...语言中的符号代表了现实世界中的概念或抽象概念,构成了大多数知识表示的基础。 人工智能领域 当初,研究人员感兴趣的是通用 AI,或创造出很难和人类
  • 深度学习是一种特殊的机器学习,它将现实世界表示为嵌套的层次概念体系(由较简单概念间的联系定义复杂概念,一般抽象概括高级抽象表示),从而获得强大的性能与灵活性。 深度学习和传统机器学习最重要的区别是...
  • 机器学习是指一套工具、方法或程式,使我们可以从现实世界的海量数据里提炼出有价值的知识,规则和模式,然后将它们反哺给前台应用系统,进行预测,推荐等能产生直接经济价值的场景,给用户带来“机器具备人类般高...
  • 世界是数字的》这本书讲述了很早的计算机是什么开始,又是由什么组成。计算机快速的发展,一年又一年,计算机不断更新至现在已经是很常见的机器了,当然,在很早以前,计算机就发明了,只是还没有这么的普遍,...
  • 该算法的范围经典的人工智能搜索算法到机器学习和深度学习算法。 如果您希望对某种算法进行编码和解释,欢迎提出。 我也有实现AI / ml到现实世界项目的实现,请参见下面的目录,以偷偷摸摸地查看这些项目! 表中...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 243
精华内容 97
关键字:

从现实世界到机器世界