分类目录归档:在线教育

Deep Learning Specialization on Coursera

OpenResty完全开发指南:构建百万级别并发的Web应用

推荐一门有意思的课程:OpenResty 从入门到实战

对服务端工程师来说,如果你的工作中涉及 Nginx、高性能、高并发、动态控制、性能测试、分析等,那么,不论你使用什么开发语言和平台,OpenResty 都是不可多得的高性能开发利器。

但我发现,有不少人没接触过 OpenResty,是时候打开服务端新世界的大门了。

作为一个兼具开发效率和性能的服务端开发平台,OpenResty 并不像其他开发语言一样从零开始搭建,而是基于成熟的开源组件—— Nginx 和 LuaJIT。

其核心是基于 Nginx 的一个 C 模块(lua-nginx-module),这个模块将 LuaJIT 嵌入到 Nginx 服务器中,并对外提供一套完整的 Lua API,透明地支持非阻塞 I/O,提供了轻量级线程、定时器等高级抽象。

围绕这个模块,OpenResty 构建了一套完备的测试框架、调试技术和由 Lua 实现的周边功能库。

你可以用 Lua 进行字符串和数值运算、查询数据库、发送 HTTP 请求、执行定时任务、调用外部命令等,还可以用 FFI 的方式调用外部 C 函数。

这基本上满足了服务端开发所需要的全部功能,所以,OpenResty 的适用范围早已超出了反向代理和负载均衡。

这就意味着,掌握了 OpenResty,就能同时拥有脚本语言的开发效率和迭代速度,以及 Nginx C 模块的高并发和高性能优势。

通过丰富的 lua-resty 库,OpenResty 逐渐摆脱了 Nginx 的影子,形成了自己的生态体系,在 API 网关、软 WAF 等领域被广泛使用。

据我了解,OpenResty 现在是已经是全球排名第五的 Web 服务器了,我们常用的 12306 的余票查询功能、京东的商品详情页,这些高流量的背后,都是 OpenResty 在默默地提供服务。

说到这里,特别想为你推荐一个人——温铭。

他是 OpenResty 软件基金会主席,《OpenResty 最佳实践》作者,前 360 开源技术委员会委员。

他在互联网安全公司有 10 多年的工作经验,之前一直从事高性能服务端的开发和架构,负责开发过云查杀、反钓鱼和企业安全产品。

后来得知,温铭也是为一个新系统做技术选型时偶然了解到 OpenResty 的,那时他还是个 Pythoner,不喜欢 Nginx C 模块的艰涩,还想享受它的高性能。

鱼与熊掌都想兼得, 怎么办呢?OpenResty 满足了他的需求。

但是,目前市面上的 OpenResty 学习资料非常少,官方只提供了 API 文档,并没有入门和进阶的文档,网上找的资料也不够系统。

可以说,大部分的 OpenResty 使用者都是摸着石头过河,过程相当痛苦(他自己就是其中之一)。

所以,他在极客时间开了个课专门讲 OpenResty,目的很明确:帮你快速入门,建立 OpenResty 完整知识体系,进而真正掌握这款开发利器。

像他自己说的那样:写出正确的 OpenResty 代码和写出高性能的优质 OpenResty 代码之间,相差十万八千里。

而跨越这个巨大鸿沟的零件,就散落在 OpenResty 开源项目的源码、文档、issue、PR、幻灯片、邮件列表中,需要你把它们串联起来,形成一个完整的学习路径和知识图谱。

提前要了几篇专栏的文章,结合目录,我大致梳理了一下,如果用一句话概括这个专栏,我觉得是:“从实战中来,到实战中去”:

专栏中的不少代码,都取自开源 OpenResty 的测试案例和实际的开源项目,让你在入门之初,就了解真实的使用场景。

文章中还穿插了多个视频,内容都取自真实开源项目的功能点和 PR。通过视频,可以更加直观地看到,刚学到的知识点是怎样在实际中应用的。

最后的实战部分,看着也挺带劲,哥们会带你用 OpenResty 从零搭建一个微服务 API 网关,如果你想独立搭建一个更简单、更高性能的 API 网关,这部分内容可别错过。

从实际的开源项目中学习,再到实际的开源项目中去实战,将实战融入完整的知识体系,这逻辑没毛病,要是学完没有收获,直接来找我。

另外,我看哥们还挺走心,专门列了几个学习 OpenResty 的重点,会在专栏里着重讲解那种,有好几个特别「戳」我,这回跟着好好补补课:

同步非阻塞的编程模式

不同阶段的作用

LuaJIT 和 Lua 的不同之处

OpenResty API 和周边库

协程和 cosocket

单元测试框架和性能测试工具

火焰图和周边工具链

性能优化

关于学习这个课需要什么基础,直接引用温铭原话,他比我总结得好:

OpenResty 是在 Nginx 和 LuaJIT 的基础上搭建的,所以 Nginx 和 LuaJIT 的基础知识还是需要的。

但你只要了解很少的 Nginx 知识,就可以学习 OpenResty 了。

少到什么程度呢?涉及到的 Nginx 的知识,我只用一节课就介绍完了。所以,即使你从没接触过 Nginx 也没关系。

要知道,OpenResty 并不等同于 Nginx,OpenResty 这个项目存在的目的之一,就是让你感知不到 Nginx 的存在。

从编程语言的角度看,Lua 是一种很容易理解的语言,你只要能看懂它的代码,并不需要独立写出复杂的 Lua 代码,就可以完成专栏的学习了,我会用少数几节课带你入门 Lua,达到 OpenResty 的使用水准。

哥们写的有点长,我总结就一句:

放心学,学得会,能用着。

给 Java 新手的入门指南:零基础学 Java

极客时间新课 零基础学 Java:PayPal 技术专家手把手带你入门 Java,快速掌握 Java 编程技巧 http://gk.link/a/103ol

作为最受欢迎的编程语言之一,Java 已经走过了20多个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到 Java 语言的身影。虽然这几十年来,也都陆续有众多其它语言出现,但它们在普及程度上仍然无法与 Java 相提并论。

所以,我也认为,在未来十年,Java 仍将会是最受欢迎的编程语言。如果你想成为一名合格的后端工程师,并且想入职知名的互联网公司,那我推荐你深入学习 Java。原因如下:

薪水高。Java 工程师的月薪普遍在 10k-50k 之间,相比于一般职位,可谓“高薪”。

工作岗位较多。包括阿里巴巴、京东、去哪儿网、亚马逊在内的知名公司都在使用 Java 语言。

生态非常成熟。Java 不仅仅只是一种主流编程语言,它同时也代表着一整个活跃的生态系统。你在大数据、微服务、云计算等热门领域都能看到它的身影。

可以说,学好了 Java,不愁没有用武之地,未来的开发之路会非常宽广。

对于初学者而言,一开始很容易被各种编程语言的抽象概念吓倒。比如常量、字符类、对象、封装、继承、等等,虽然字都认识,但就是搞不明白什么意思,有时候如果过于关注某个概念的字面含义,反而更容易跑偏。

另外,好不容易把这些抽象的概念都弄懂了,但却不知道该怎样把它们串起来写出完整可用的程序。往往脑子里有思路,就是不知道怎样用代码体现出来。

我觉得这些问题其实很正常,编程语言并不像我们平常讲话用的语言那样是人和人之间交流的语言,它更像是一种人和动物之间交流的语言,两者的思维方式和行为方式是完全不同的,所以从理解一门编程语言到熟练运用,这中间还有不少的路要走。

为了让更多零基础的同学更快上手 Java,领略到 Java 这门应用最为广泛的编程语言的魅力,我给打算入门或正在学习 Java 的读者们,推荐臧萌在极客时间推出的《零基础学 Java》视频课程。

之所以推荐这个课程,主要是下面 3 个原因:

形式上,这门课拒绝死记硬背式的讲解,而是通过大量比喻、类比来辅助你理解抽象概念。让你边理解,边学习,掌握语法后的本质,从而不再视编程语言为“天书”。

内容上,会贯穿 Java 核心知识点,带你从最基础的语法讲起,到循环控制、再到类、面向对象、多态和继承以及多线程等高阶内容,带你全面掌握 Java 开发核心,让你学完之后可以独立运用 Java 写一些小型应用程序,从而把自己头脑中的想法变成实际可以运行的程序,体验到创造的乐趣。

除此之外,课程还设计了各种大大小小的习题演练,让你通过动手实践来更深入地掌握各个知识点,在实战中不断磨练编程技能。课程的最后,臧萌老师会带着你用 Java 完成一款小游戏的设计,这个项目会贯穿课程中涉及到的所有核心知识点,完成这个项目,你就能够把学到的知识融会贯通,完成从学习一门编程语言到使用一门编程语言的转变。

臧萌是谁?

臧萌,现任 PayPal 数据处理组技术负责人,《Java入门 1 2 3》一书的作者,曾帮助过数万名读者顺利入门 Java。

他先后在 Sybase,eBay,盛大,亚马逊,携程,PayPal 等公司工作,方向包括 ETL,GUI,IaaS,大数据,安全等。他多年来专注于Java,有10多年一线软件设计和开发经验,对 Java 语言和软件开发有深刻的认识。

另外不得不说,他的 Java 入门高口碑书籍《Java 入门123》,豆瓣评分 9.2,被称为 Java 入门图书的“战斗机”,累计 7 次印刷,售出超过 3w 册,通俗易懂的讲解风格也获得了众多读者的好评。

你将获得什么?

为了让你更清晰地了解Java入门需要掌握的核心知识点,臧萌老师为你梳理了 Java 入门的学习路径。结合《零基础学 Java》课程讲解,学完后你将完全掌握 Java 核心语法,并用 Java 编写出能够解决某个具体问题的应用程序,真正做到学以致用。

课程共分为六个章节。

第一章 Java 编程基础

会抽出编程语言中通用的语法点来讲述,让你学会写出符合语法规范的代码,逐步适应与计算机进行沟通的方式,即“你告诉我要做什么,数据在哪里,我来执行”。

第二章 Java 面向对象编程

会慢慢让你熟悉面向对象的思想,以类和对象的方式,花式组织代码和数据,从而能够让你的程序解决更为复杂的问题。学完后,你可以深刻理解 Java 面向对象的思想带来的好处,并利用它们来解决实际问题。

第三章 Java 中的异常处理

当代码执行出现错误时,Java 会通过异常机制来告诉我们“臣妾做不到啊!”。为了避免程序崩溃,会带你学会如何处理程序的异常,如何结合代码逻辑来快速排查和解决程序的问题。

第四章 Java 中的常用工具类和新语法

编程中有一个很重要的原则,就是“不要重复发明轮子”。各种常用的类库就相当于各种现成的轮子,我们直接使用就可以了,而不需要用代码重复实现一遍。在这一章,会带你学习 Java 提供的数据结构相关类,文件和网络 I/O 相关类以及一些新增的常用语法,从而让你能够更高效地解决一些常见问题场景。

第五章 Java 中的线程

一个线程可以简单的理解为一个 CPU 的核,是驱动程序运行的发动机。这一章中,你将学会如何在一个程序中使用多个线程。多个线程就像是多个工人在一起干活,协调好资源很重要,协调不好,工程进度就会受到拖累。这是这一章学习的重点,也是难点。

第六章 Java 编程实战

这一篇中涉及的方向很多,包括必备工具,Java 平台,常用类库,程序设计,游戏程序大练兵等。安排这些内容的目的就一个:让你可以开始独立设计和编写程序,为下一步的学习做好准备。

最后,还要嘱咐一句,学习编程语言,可以速成,但是掌握一门编程语言,没有速成的方法。一个人可以五天学会游泳,但是没有人可以五天成为游泳健将——无论这个人身体素质有多好。因此,想掌握一门编程语言的程,也需要多学多用。对一门编程语言的掌握程度,也是随着代码量和用它解决的问题的数量慢慢增长的。

那些值得推荐和收藏的线性代数学习资源

关于线性代数的重要性,很多做机器学习的同学可能会感同身受,这里引用“牛人林达华推荐有关机器学习的数学书籍”这篇文章中关于线性代数的一段话:

线性代数 (Linear Algebra):

我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要。这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的。我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是

Introduction to Linear Algebra (3rd Ed.) by Gilbert Strang.

这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材。它的难度适中,讲解清晰,重要的是对许多核心的概念讨论得比较透彻。我个人觉得,学习线性代数,最重要的不是去熟练矩阵运算和解方程的方法——这些在实际工作中MATLAB可以代劳,关键的是要深入理解几个基础而又重要的概念:子空间(Subspace),正交(Orthogonality),特征值和特征向量(Eigenvalues and eigenvectors),和线性变换(Linear transform)。从我的角度看来,一本线代教科书的质量,就在于它能否给这些根本概念以足够的重视,能否把它们的联系讲清楚。Strang的这本书在这方面是做得很好的。

而且,这本书有个得天独厚的优势。书的作者长期在MIT讲授线性代数课(18.06),课程的video在MIT的Open courseware网站上有提供。有时间的朋友可以一边看着名师授课的录像,一边对照课本学习或者复习。

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/
(注:这里我修正了一下链接,原文链接已经没有了)

那么这里首推的线性代数学习资源就是 Gilbert Strang 教授的这门线性代数课程了,除了上面链接中官方主页的英文原版外,国内网易公开课也早已引进并有同步翻译。

1. 麻省理工公开课:线性代数

http://open.163.com/special/opencourse/daishu.html

课程介绍:

“线性代数”,同微积分一样,是高等数学中两大入门课程之一,不仅是一门非常好的数学课程,也是一门非常好的工具学科,在很多领域都有广泛的用途。它的研 究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。本课程讲述了矩阵理论及线性代数的基本知识,侧重于那些与其他学科相关的内容, 包括方程组、向量空间、行列式、特征值、相似矩阵及正定矩阵。

课程主讲人:Gilbert Strang 教授

吉尔伯特-斯特朗:1934年11月27日出生,是美国享有盛誉的数学家,在有限元理论、变分法、小波分析及线性代数方面均有所建树。他对教育的贡献尤为 卓著,包括所著有的七部经典数学教材及一部专著。斯特朗自1962年至今担任麻省理工学院教授,其所授课程《线性代数导论》、《计算科学与工程》均在 MIT开放课程软件(MIT OpenCourseWare)中收录,获得广泛好评。

我大概在2013年学习过这门课程,也花了很多时间找这门课程的书籍资源,最终锁定了这本书的第四版英文版电子版:Introduction to Linear Algebra_4ED_Strang ,感兴趣的同学可以关注我们的公众号AINLP,后台回复”xiandai”获取下载链接。

2. 3Blue1Brown: Essence of linear algebra(线性代数的本质)

如果说上面 Gilbert Strang 教授的线性代数课程和书籍都是大部头,那么鼎鼎大名的3Blue1Brown出品的这个线性代数的本质系列视频就是开胃菜,总共14个小视频,视频控制在9-18分钟之间,很适合短时间快速温习。不过这套视频的评价也很高,以下是来自《3Blue1Brown:“线性代数的本质”完整笔记》的点评:

我最早系统地学习线性代数是在大二时候,当时特意选修了学校物理系开设的4学分的线代,大概也就是比我们自己专业的线代多了一章向量空间的内容,其实最后上完发现,整个课程内容还是偏向于计算,对线性代数的几何直觉少有提起,对线性代数的实际运用更是鲜有涉及。同济的那本薄薄的如同九阴真经一般的教材,把线性代数讲的云里雾里,当时一个人在自习教室度过多少不眠之夜,一点一点去思考其概念定理背后的实际意义,多半也是边猜边想,苦不堪言。直到多年以后,有幸在网上听到了MIT的Strang老师开设的线代公开课,才对一些基础概念渐渐明朗,虽然至今又过去了很多年,但是对一些本质的理解,依然清晰。
不过,仔细想想,国内的教材写的云里雾里,才促使了我自发的思考,如果一切得来太容易,也许就不会那么刻骨铭心。我很早之前就想过这个问题,国内的教科书作者简直就是在下一盘大棋,自己出版的书写的高深莫测,翻译国外的书又翻译的含糊曲折,那么留给学生的只有两条路,要么去看原版的英语书,要么就是自己一点点看云雾缭绕的国产书,边猜边想边证明,不管走哪条路,都能走向成功。

最近,在youtube上看到了3Blue1Brown的Essence of linear algebra这门课,有种如获至宝的感觉,整个课程的时间并不长,但是对线性代数的讲解却十分到位,有种浓缩版的Gilbert Strang线代课程的感觉。希望通过这个课程,重温一下Linear Algebra。

这个视频,可以在油管上看官方原版:Essence of linear algebra
也可以在B站上观看:线性代数的本质 – 01 – 向量究竟是什么?
https://www.bilibili.com/video/av5987715/

3. Immersive Linear Algebra

用交互式可视化方法学习数学估计是很多同学梦寐以求的,前两天看到这条微博:

《英文版的线性代数电子书:Immersive Linear Algebra》该书是今天 Hacker News 首页头条。号称是全球第一个全交互式图形的线代电子书。

所以在这里收藏一下,有空的同学可以试一下这个在线学习线性代数的网站,不过看似还有最后两个章节没有完成:http://immersivemath.com/ila/index.html

4. Matrix Algebra for Engineers

http://coursegraph.com/coursera-matrix-algebra-engineers

香港科技大学的面向工程师的矩阵代数(Matrix Algebra for Engineers),该课程介绍的全部是关于矩阵的知识,涵盖了工程师应该知道的线性代数相关知识。学习这门课程的前提是高中数学知识,最好完成了单变量微积分课程之后选修该课程效果更佳。

This course is all about matrices, and concisely covers the linear algebra that an engineer should know. We define matrices and how to add and multiply them, and introduce some special types of matrices. We describe the Gaussian elimination algorithm used to solve systems of linear equations and the corresponding LU decomposition of a matrix. We explain the concept of vector spaces and define the main vocabulary of linear algebra. We develop the theory of determinants and use it to solve the eigenvalue problem. After each video, there are problems to solve and I have tried to choose problems that exemplify the main idea of the lecture. I try to give enough problems for students to solidify their understanding of the material, but not so many that students feel overwhelmed and drop out. I do encourage students to attempt the given problems, but if they get stuck, full solutions can be found in the lecture notes for the course. The mathematics in this matrix algebra course is presented at the level of an advanced high school student, but typically students would take this course after completing a university-level single variable calculus course.

这门课程有个lecture-notes可以直接下载:
http://www.math.ust.hk/~machas/matrix-algebra-for-engineers.pdf

5. Mathematics for Machine Learning: Linear Algebra

http://coursegraph.com/coursera-linear-algebra-machine-learning

伦敦帝国理工学院的 面向机器学习的数学-线性代数课程(Mathematics for Machine Learning: Linear Algebra),这个课程属于Mathematics for Machine Learning Specialization 系列,该系列包含3门子课程,涵盖线性代数,多变量微积分,以及主成分分析(PCA),这个专项系列课程的目标是弥补数学与机器学习以及数据科学鸿沟:Mathematics for Machine Learning。Learn about the prerequisite mathematics for applications in data science and machine learning

In this course on Linear Algebra we look at what linear algebra is and how it relates to vectors and matrices. Then we look through what vectors and matrices are and how to work with them, including the knotty problem of eigenvalues and eigenvectors, and how to use these to solve problems. Finally we look at how to use these to do fun things with datasets – like how to rotate images of faces and how to extract eigenvectors to look at how the Pagerank algorithm works. Since we’re aiming at data-driven applications, we’ll be implementing some of these ideas in code, not just on pencil and paper. Towards the end of the course, you’ll write code blocks and encounter Jupyter notebooks in Python, but don’t worry, these will be quite short, focussed on the concepts, and will guide you through if you’ve not coded before. At the end of this course you will have an intuitive understanding of vectors and matrices that will help you bridge the gap into linear algebra problems, and how to apply these concepts to machine learning.

6. 可汗学院公开课:线性代数

http://open.163.com/special/Khan/linearalgebra.html

网易公开课引进翻译的可汗学院线性代数公开课,总共143集,每集短小精悍:

在这个课程里面,主讲者介绍了线性代数的很多内容,包括:矩阵,线性方程组,向量及其运算,向量空间,子空间,零空间,变换,秩与维数,正交化,特征值与特征向量,等等。以上这些内容是线性代数的关键内容,它们也被广泛地应用到现代科学当中。

关于线性代数学习资源,还有很多,这里仅仅抛砖引玉,欢迎大家留言提供线索。

最后,提供一个线性代数学习资源的“大礼包”,包括Gilbert Strang 教授线性代数英文教材第四版电子版,香港科技大学的面向工程师的矩阵代数课程notes,以及从其他地方收集的线性代数网盘资源,感兴趣的同学可以关注我们的公众号AINLP,回复”xiandai”获取:

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:那些值得推荐和收藏的线性代数学习资源 http://blog.coursegraph.com/?p=1014

Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料

Geoffrey Hinton 大神的”面向机器学习的神经网络(Neural Networks for Machine Learning)“公开课早在2012年就在 Coursera 上开过一轮,之后一直沉寂,直到 Coursera 新课程平台上线,这门经典课程已开过多轮次,之前我们在《深度学习课程资源整理》隆重推荐过。

1月15日,Geoffrey Hinton 大神在twitter上宣布:

My Coursera MOOC “Neural Networks for Machine Learning” was prepared in 2012 and is now seriously out of date so I have asked them to discontinue the course. But the lectures are still a good introduction to many of the basic ideas and are available at https://www.cs.toronto.edu/~hinton/coursera_lectures.html

大意是这门在Coursera上的MOOC课程是在2012年准备的,现在有点过时了,所以要求他们(Coursera)停止提供这门课程。但是这门深度学习课程依然是介绍神经网络相关基础概念的好资料,所以课程视频依然保留在多伦多大学hinton大神的主页下,感兴趣的同学可以直接观看:https://www.cs.toronto.edu/~hinton/coursera_lectures.html

我试了一下Coursera,发现如果之前注册过,还能打开这门课程,但是一旦是非登录状态后,这门课程已经无法在Coursera上找到了:

https://www.coursera.org/learn/neural-networks

这样稍微有点遗憾,不能在Coursera上做相关的Quiz,感兴趣的同学可以参考课程图谱上早期关于这门课程的评论:

http://coursegraph.com/coursera_neuralnets

“宗派大师+开拓者直接讲课,秒杀一切二流子!”

“巨牛级别的人物来开课,我也不说啥了。”

“还有什么好说的呢?Deep Learning必修课程啊!”

该课程最后在Coursera上开课的时间大概在2018年11月份:

http://coursegraph.com/coursera-neural-networks

最后,如果你觉得访问多伦多Hinton教授主页那个教程页面不方便,这里提供早期从Coursera上下载的课程版本,包括视频、PPT、英文字幕等,关注AINLP公众号,回复“hinton”获取:

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:Geoffrey Hinton 大神面向机器学习的神经网络公开课及相关视频资料 http://blog.coursegraph.com/?p=985

如何学习机器学习:机器学习该怎么入门

首先你要学好英语,因为英文世界的相关资料更加丰富和原创。

其次你得有一定的数学基础,如果你觉得微积分、线性代数和概率统计这些基础课程没有时间回顾的话,那么推荐机器学习强相关的一门课和一本书:

1)面向机器学习的数学课程(Mathematics for Machine Learning Specialization)
http://coursegraph.com/coursera-specializations-mathematics-machine-learning

伦敦帝国理工学院的面向机器学习的数学专项课程系列(Mathematics for Machine Learning Specialization),该系列包含3门子课程,涵盖线性代数,多变量微积分,以及主成分分析(PCA),这个专项系列课程的目标是弥补数学与机器学习以及数据科学鸿沟,感兴趣的同学可以关注:Mathematics for Machine Learning。Learn about the prerequisite mathematics for applications in data science and machine learning

2)机器学习中的数学(https://mml-book.github.io/):新书,看章节安排的很合理。

如果想学习更多的数学课程打基础,这里有:

3) Coursera上数学类相关课程(公开课)汇总推荐

除了数学基础,你还应该有一定的编程基础,如果你还是编程小白,那么推荐从Python入门:

4)Coursera上Python课程(公开课)汇总推荐

当然,一定的数据结构和算法接触还是要有的:

5)Coursera上数据结构 & 算法课程(公开课)汇总推荐

然后重点推荐推荐2门机器学习入门课程:

6) 还是首推Andrew Ng老师的机器学习课程了:http://coursegraph.com/coursera_ml

7) 其次是最近比较火的fast.ai的课程:fast.ai 新课程:面向程序员的机器学习导论(Introduction to Machine Learning for Coders)

不过到了这里,也只是入门而已,你需要动手做相关的项目,如果没有项目,我推荐你去参加一下类似Kaggle的项目。如果想更深入的学习更多的机器学习课程,这里有一份Coursera课程汇总:

8)Coursera上机器学习课程(公开课)汇总推荐

最后,如果想更进一步,学习深度学习,依然首推Andrew Ng的深度学习专项课程

9)Deep Learning Specializationhttp://coursegraph.com/coursera-specializations-deep-learning

再奉上一份更详细的深度学习课程资源,仅供参考:

10)深度学习课程资源整理

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/如何学习机器学习-机器学习该怎么入门 http://blog.coursegraph.com/?p=904

Coursera上博弈论相关课程(公开课)汇总推荐

博弈论(Game Theory)很有意思,大家可能首先想到的就是赌博,据说博弈论最早源于赌博策略和数学,下面是来自维基百科的解释:

博弈论(英语:game theory),又译为对策论,或者赛局理论,应用数学的一个分支,1944年冯·诺伊曼与奥斯卡·摩根斯特恩合著《博弈论与经济行为》,标志着现代系统博弈理论的的初步形成,因此他被称为“博弈论之父”。博弈论被认为是20世纪经济学最伟大的成果之一。目前在生物学、经济学、国际关系、计算机科学、政治学、军事战略和其他很多学科都有广泛的应用。主要研究公式化了的激励结构(游戏或者博弈)间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。也是运筹学的一个重要学科。

作为互联网广告研发人员,应该或多或少了解一点计算广告学,其中支撑Google, 百度等互联网巨头广告业务的竞价排名机制的核心之一就是博弈论。另外经济学中有很多博弈论的影子,电影“美丽心灵”中的主角数学家约翰纳什,由于他与另外两位数学家在非合作博弈的均衡分析理论方面做出了开创性的贡献,对博弈论和经济学产生了重大影响,而获得1994年诺贝尔经济学奖,纳什均衡则是博弈论课程中不可或缺的一节课。Coursera上有好几门博弈论(Game Theory)相关的课程,这里做个汇总整理。

1. 斯坦福大学的 博弈论(Game Theory)

这门课程早在Coursera诞生之初就有了,后经多次优化,现在有上和下两个部分,这门课程属于博弈论上,重在博弈论基础,需要学习者有一定的数学思维和数学基础,例如基础的概率理论和一些微积分基础知识:

This course is aimed at students, researchers, and practitioners who wish to understand more about strategic interactions. You must be comfortable with mathematical thinking and rigorous arguments. Relatively little specific math is required; but you should be familiar with basic probability theory (for example, you should know what a conditional probability is), and some very light calculus would be helpful.

2. 斯坦福大学的 博弈论二: 高级应用(Game Theory II: Advanced Applications)

上门博弈论课程的续集,关注博弈论的应用,包括机制设计,拍卖机制等:

Popularized by movies such as “A Beautiful Mind”, game theory is the mathematical modeling of strategic interaction among rational (and irrational) agents. Over four weeks of lectures, this advanced course considers how to design interactions between agents in order to achieve good social outcomes. Three main topics are covered: social choice theory (i.e., collective decision making and voting systems), mechanism design, and auctions. In the first week we consider the problem of aggregating different agents’ preferences, discussing voting rules and the challenges faced in collective decision making. We present some of the most important theoretical results in the area: notably, Arrow’s Theorem, which proves that there is no “perfect” voting system, and also the Gibbard-Satterthwaite and Muller-Satterthwaite Theorems. We move on to consider the problem of making collective decisions when agents are self interested and can strategically misreport their preferences. We explain “mechanism design” — a broad framework for designing interactions between self-interested agents — and give some key theoretical results. Our third week focuses on the problem of designing mechanisms to maximize aggregate happiness across agents, and presents the powerful family of Vickrey-Clarke-Groves mechanisms. The course wraps up with a fourth week that considers the problem of allocating scarce resources among self-interested agents, and that provides an introduction to auction theory.

3. 东京大学的 博弈论入门课程(Welcome to Game Theory)

入门级博弈论课程,由东京大学推出,英文授课:

This course provides a brief introduction to game theory. Our main goal is to understand the basic ideas behind the key concepts in game theory, such as equilibrium, rationality, and cooperation. The course uses very little mathematics, and it is ideal for those who are looking for a conceptual introduction to game theory. Business competition, political campaigns, the struggle for existence by animals and plants, and so on, can all be regarded as a kind of “game,” in which individuals try to do their best against others. Game theory provides a general framework to describe and analyze how individuals behave in such “strategic” situations. This course focuses on the key concepts in game theory, and attempts to outline the informal basic ideas that are often hidden behind mathematical definitions. Game theory has been applied to a number of disciplines, including economics, political science, psychology, sociology, biology, and computer science. Therefore, a warm welcome is extended to audiences from all fields who are interested in what game theory is all about.

4. 佐治亚理工学院的 组合博弈论(Games without Chance: Combinatorial Game Theory)

这门课程主要关注组合博弈论,覆盖不靠运气游戏背后的数学理论和分析:This course will cover the mathematical theory and analysis of simple games without chance moves.

本课程将讲解如何运用数学理论,分析不含运气步骤(随机步骤)的简单游戏。本课程将探索不含运气步骤(随机步骤)的两个玩家游戏中的数学理论。我们将讨论如何简化游戏,什么情况下游戏等同于数字运算,以及怎样的游戏才算公正。许多例子都是有关一此简单的游戏,有的你可能还没有听说过:Hackenbush(“无向图删边”游戏)、Nim(“拈”游戏)、Push(推箱子游戏)、Toads and Frogs(“蟾蜍和青蛙”游戏),等。虽然完成这门课程并不能让你成为国际象棋或围棋高手,但是会让你更深入了解游戏的结构。

5. 国立台湾大学的 实验经济学: 行为博弈论 (Experimental Economics I: Behavioral Game Theory)

台湾大学王道一副教授 (Associate Professor)的实验经济学课程-行为博弈论:

人是否会如同理论经济学的预测进行决策?这门课将透过每周的课程视频以及课后作业带你了解实验经济学的基本概念。每周将会有习题练习以及指定阅读的期刊论文。你将会参与一些在线的实验、报告论文并且互评其他同学的报告。❖课程介绍(About the course)这是一门进阶的经济学课程,课程目标为介绍实验经济学的基本概念,并且让学生们能开始在这个领域从事自己的相关研究。详细课程目标如下:1.实验经济学的介绍:在上完这堂课之后,学生应能列举经济学各个领域的数个知名实验,并且解释实验结果如何验证或否证经济理论及其他实地数据。2.评论近期相关领域研究:上完这堂课之后,学生应能阅读并评论实验经济学相关的期刊论文。在课堂中,学生将会阅读指定的期刊论文,并且(在视频中)亲自上台报告一篇论文。❖授课形式(Course format)1.本堂课将以视频的形式为主,搭配课后作业的形式来进行。每个同学将阅读一篇实验经济学论文,并录像成两段各10分钟的介绍视频并后上传至Coursera(或上传到Youku,再复制连接到作业上传区)。第一段期中报告视频请同学介绍该论文所描述的实验设计,第二段,也就是期末报告视频则介绍实验结果。此外每位同学至少需观看其他两位同学的呈现内容,并给予评论。2.这堂课将简单地运用以下赛局(博弈)概念:奈许均衡/纳什均衡(Nash Equilibrium)混合策略均衡(Mixed Strategy Equilibrium)子赛局完美均衡/子博弈精练纳什均衡(SPNE)共识/共同知识(Common Knowledge)信念(Belief)

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera上博弈论课程博弈论公开课汇总推荐 http://blog.coursegraph.com/?p=782

Coursera上数据结构 & 算法课程(公开课)汇总推荐

数据结构和算法是基本功,Coursera上有很多数据结构和算法方面的经典课程,这里做个总结。

1. 普林斯顿大学 Sedgewick 教授的 算法1: Algorithms, Part I

这门算法课程已经开过很多轮,好评如潮 ,应该算得上是 Coursera 上的明星算法课程了,感兴趣的同学可以参考课程图谱上的旧版 课程评论,强烈推荐:

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

2. 普林斯顿大学 Sedgewick 教授的 算法2: Algorithms, Part II

系列课程,依然强烈推荐,感兴趣的同学可以参考早期课程的评价:http://coursegraph.com/coursera_algs4partII

“Part II较Part I在部分Programming Assignments上增加了timing和memory的难度,API100%不再意味着全部100%,这正是这门课程的精华之处:不是灌输算法知识,而是通过实际操作的过程让学员深入理解数据结构和算法调优在经济上的意义。个人很喜欢论坛上大家在Performance Thread里贴出自己的report然后交流优化心得的过程,很有圆桌会议的架势。这门课的教授Robert Sedgewick师出名门,是Knuth在斯坦福的博士。老爷子年岁已近70,一直活跃在论坛上解答和讨论问题,敬业程度让人赞叹。”

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

3. 斯坦福大学的 算法专项课程(Algorithms Specialization)

斯坦福大学的算法专项课程系列(Algorithms Specialization),这个系列包含4门子课程,涵盖基础的算法主题和高级算法主题,此前评价非常高,五颗星推荐,感兴趣的同学可以关注: Learn To Think Like A Computer Scientist-Master the fundamentals of the design and analysis of algorithms.

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists. About the instructor: Tim Roughgarden has been a professor in the Computer Science Department at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications.

可参考老版课程评论:Algorithms: Design and Analysis, Part 1Algorithms: Design and Analysis, Part 2

3.1 Divide and Conquer, Sorting and Searching, and Randomized Algorithms

The primary topics in this part of the specialization are: asymptotic (“Big-oh”) notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts).

3.2 Graph Search, Shortest Paths, and Data Structures

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social network analysis).

3.3 Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

3.4 Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

4. 北京大学的 程序设计与算法专项课程系列

据说是国内学生选择最多的中文程序设计课程,这个系列包含7门子课程,分别是计算导论与C语言基础, C程序设计进阶 ,C++程序设计, 算法基础, 数据结构基础, 高级数据结构与算法, 程序开发项目实践,最后一个项目实践课程联合腾讯公司设计一个实际的应用问题:搜索引擎设计。感兴趣的同学可以关注:

本专项课程旨在系统培养你的程序设计与编写能力。系列课程从计算机的基础知识讲起,无论你来自任何学科和行业背景,都能快速理解;同时我们又系统性地介绍了C程序设计,C++程序设计,算法基础,数据结构与算法相关的内容,各门课之间联系紧密,循序渐进,能够帮你奠定坚实的程序开发基础;课程全部配套在线编程测试,将有效地训练和提升你编写程序的实际动手能力。并通过结业实践项目为你提供应用程序设计解决复杂现实问题的锻炼,从而积累实际开发的经验。因此,我们希望本专项课程能够帮助你完成从仅了解基本的计算机知识到能够利用高质量的程序解决实际问题的转变。

5. 加州大学圣地亚哥分校的 数据结构与算法专项课程系列(Data Structures and Algorithms Specialization)

这个系列包含5门子课程和1门毕业项目课程,包括算法工具箱,数据结构 ,图算法,字符串算法 ,高级算法与算法复杂度,算法毕业项目 等,感兴趣的同学可以关注: Master Algorithmic Programming Techniques-Learn algorithms through programming and advance your software engineering or data science career

This specialization is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems and will implement about 100 algorithmic coding problems in a programming language of your choice. No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview. To prepare you, we invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs. Sorry, we do not believe in multiple choice questions when it comes to learning algorithms…or anything else in computer science! For each algorithm you develop and implement, we designed multiple tests to check its correctness and running time — you will have to debug your programs without even knowing what these tests are! It may sound difficult, but we believe it is the only way to truly understand how the algorithms work and to master the art of programming. The specialization contains two real-world projects: Big Networks and Genome Assembly. You will analyze both road networks and social networks and will learn how to compute the shortest route between New York and San Francisco (1000 times faster than the standard shortest path algorithms!) Afterwards, you will learn how to assemble genomes from millions of short fragments of DNA and how assembly algorithms fuel recent developments in personalized medicine.

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera上数据结构-算法课程-算法公开课-汇总推荐 http://blog.coursegraph.com/?p=736

深度学习课程资源整理

这里整理一批深度学习课程或者深度学习相关公开课的资源,持续更新,仅供参考。

1. Andrew Ng (吴恩达) 深度学习专项课程 by Coursera and deeplearning.ai

这是 Andrew Ng 老师离开百度后推出的第一个深度学习项目(deeplearning.ai)的一个课程: Deep Learning Specialization ,课程口号是:Master Deep Learning, and Break into AI. 作为 Coursera 联合创始人 和 机器学习网红课程Machine Learning” 的授课者,Andrew Ng 老师引领了数百万同学进入了机器学习领域,而这门深度学习课程的口号也透露了他的野心:继续带领百万人进入深度学习的圣地。

作为 Andrew Ng 老师的粉丝,依然推荐这门课程作为深度学习入门课程首选,并且建议花费上 Coursera 上的课程,一方面可以做题,另外还有证书,最重要的是它的编程作业,是理解课程内容的关键点,仅仅看视频绝对是达不到这个效果的。参考:《Andrew Ng 深度学习课程小记》和《Andrew Ng (吴恩达) 深度学习课程小结》。

2. Geoffrey Hinton 大神的 面向机器学习的神经网络(Neural Networks for Machine Learning)

Geoffrey Hinton大神的这门深度学习课程 2012年在 Coursera 上开过一轮,之后一直沉寂,直到 Coursera 新课程平台上线,这门课程已开过多轮次,来自课程图谱网友的评论:

“Deep learning必修课”

“宗派大师+开拓者直接讲课,秒杀一切二流子”

这门深度学习课程相对上面 Andrew Ng深度学习课程有一定难道,但是没有编程作业,只有Quiz.

3. 牛津大学深度学习课程(2015): Deep learning at Oxford 2015

这门深度学习课程名字虽然是 “Machine Learning 2014-2015″,不过主要聚焦在深度学习的内容上,可以作为一门很系统的机器学习深度学习课程:

Machine learning techniques enable us to automatically extract features from data so as to solve predictive tasks, such as speech recognition, object recognition, machine translation, question-answering, anomaly detection, medical diagnosis and prognosis, automatic algorithm configuration, personalisation, robot control, time series forecasting, and much more. Learning systems adapt so that they can solve new tasks, related to previously encountered tasks, more efficiently.

The course focuses on the exciting field of deep learning. By drawing inspiration from neuroscience and statistics, it introduces the basic background on neural networks, back propagation, Boltzmann machines, autoencoders, convolutional neural networks and recurrent neural networks. It illustrates how deep learning is impacting our understanding of intelligence and contributing to the practical design of intelligent machines.

视频Playlist:https://www.youtube.com/playlist?list=PLE6Wd9FR–EfW8dtjAuPoTuPcqmOV53Fu

参考:“牛津大学Nando de Freitas主讲的机器学习课程,重点介绍深度学习,还请来Deepmind的Alex Graves和Karol Gregor客座报告,内容、讲解都属一流,强烈推荐! 云: http://t.cn/RA2vSNX

4. Udacity 深度学习(中/英)by Google

Udacity (优达学城)上由Google工程师主讲的免费深度学习课程,结合Google自己的深度学习工具 Tensorflow ,很不错:

机器学习是发展最快、最令人兴奋的领域之一,而深度学习则代表了机器学习中最前沿但也最有风险的一部分。在本课内容中,你将透彻理解深度学习的动机,并设计用于了解复杂和/或大量数据库的智能系统。

我们将教授你如何训练和优化基本神经网络、卷积神经网络和长短期记忆网络。你将通过项目和任务接触完整的机器学习系统 TensorFlow。你将学习解决一系列曾经以为非常具有挑战性的新问题,并在你用深度学习方法轻松解决这些问题的过程中更好地了解人工智能的复杂属性。

我们与 Google 的首席科学家兼 Google 智囊团技术经理 Vincent Vanhoucke 联合开发了本课内容。此课程提供中文版本。

5. Udacity 纳米基石学位项目:深度学习

Udacity的纳米基石学位项目,收费课程,不过据说更注重实战:

人工智能正颠覆式地改变着我们的世界,而背后推动这场进步的,正是深度学习技术。优达学城和硅谷技术明星一起,带来这门帮你系统性入门的课程。你将通过充满活力的硅谷课程内容、独家实战项目和专业代码审阅,快速掌握深度学习的基础知识和前沿应用。

你在实战项目中的每行代码都会获得专业审阅和反馈,还可以在同步学习小组中,接受学长、导师全程的辅导和督促

6. fast.ai 上的深度学习系列课程

fast.ai上提供了几门深度学习课程,课程标语很有意思:Making neural nets uncool again ,并且 Our courses (all are free and have no ads):

Deep Learning Part 1: Practical Deep Learning for Coders
Why we created the course
What we cover in the course
Deep Learning Part 2: Cutting Edge Deep Learning for Coders
Computational Linear Algebra: Online textbook and Videos
Providing a Good Education in Deep Learning—our teaching philosophy
A Unique Path to Deep Learning Expertise—our teaching approach

7. 台大李宏毅老师深度学习课程:Machine Learning and having it Deep and Structured

难得的免费中文深度学习课程:

课程主页:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html
课程视频Playlist: https://www.youtube.com/playlist?list=PLJV_el3uVTsPMxPbjeX7PicgWbY7F8wW9
B站搬运深度学习课程视频: https://www.bilibili.com/video/av9770302/

8. 台大陈缊侬老师深度学习应用课程:Applied Deep Learning / Machine Learning and Having It Deep and Structured

据说是美女老师,这门课程16年秋季开过一次,不过没有视频,最新的这期是17年秋季课程,刚刚开课,Youtube上正在陆续放出课程视频:

16年课程主页,有Slides等相关资料:https://www.csie.ntu.edu.tw/~yvchen/f105-adl/index.html
17年课程主页,资料正在陆续放出:https://www.csie.ntu.edu.tw/~yvchen/f106-adl/
Youtube视频,目前没有playlist,可以关注其官方号放出的视频:https://www.youtube.com/channel/UCyB2RBqKbxDPGCs1PokeUiA/videos

9. Yann Lecun 深度学习公开课

“Yann Lecun 在 2016 年初于法兰西学院开课,这是其中关于深度学习的 8 堂课。当时是用法语授课,后来加入了英文字幕。
作为人工智能领域大牛和 Facebook AI 实验室(FAIR)的负责人,Yann Lecun 身处业内机器学习研究的最前沿。他曾经公开表示,现有的一些机器学习公开课内容已经有些过时。通过 Yann Lecun 的课程能了解到近几年深度学习研究的最新进展。该系列可作为探索深度学习的进阶课程。”

10. 2016 年蒙特利尔深度学习暑期班

推荐理由:看看嘉宾阵容吧,Yoshua Bengio 教授循环神经网络,Surya Ganguli 教授理论神经科学与深度学习理论,Sumit Chopra 教授 reasoning summit 和 attention,Jeff Dean 讲解 TensorFlow 大规模机器学习,Ruslan Salakhutdinov 讲解学习深度生成式模型,Ryan Olson 讲解深度学习的 GPU 编程,等等。

11. 斯坦福大学深度学习应用课程:CS231n: Convolutional Neural Networks for Visual Recognition

这门面向计算机视觉的深度学习课程由Fei-Fei Li教授掌舵,内容面向斯坦福大学学生,货真价实,评价颇高:

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. The final assignment will involve training a multi-million parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and fine-tuning the networks and guide the students through hands-on assignments and a final course project. Much of the background and materials of this course will be drawn from the ImageNet Challenge.

12. 斯坦福大学深度学习应用课程: Natural Language Processing with Deep Learning

这门课程由NLP领域的大牛 Chris Manning 和 Richard Socher 执掌,绝对是学习深度学习自然语言处理的不二法门。

Natural language processing (NLP) is one of the most important technologies of the information age. Understanding complex language utterances is also a crucial part of artificial intelligence. Applications of NLP are everywhere because people communicate most everything in language: web search, advertisement, emails, customer service, language translation, radiology reports, etc. There are a large variety of underlying tasks and machine learning models behind NLP applications. Recently, deep learning approaches have obtained very high performance across many different NLP tasks. These models can often be trained with a single end-to-end model and do not require traditional, task-specific feature engineering. In this winter quarter course students will learn to implement, train, debug, visualize and invent their own neural network models. The course provides a thorough introduction to cutting-edge research in deep learning applied to NLP. On the model side we will cover word vector representations, window-based neural networks, recurrent neural networks, long-short-term-memory models, recursive neural networks, convolutional neural networks as well as some recent models involving a memory component. Through lectures and programming assignments students will learn the necessary engineering tricks for making neural networks work on practical problems.

这门课程融合了两位授课者之前在斯坦福大学的授课课程,分别是自然语言处理课程 cs224n (Natural Language Processing)和面向自然语言处理的深度学习课程 cs224d (Deep Learning for Natural Language Processing).

13. 斯坦福大学深度学习课程: CS 20SI: Tensorflow for Deep Learning Research

准确的说,这门课程主要是针对深度学习工具Tensorflow的:

Tensorflow is a powerful open-source software library for machine learning developed by researchers at Google Brain. It has many pre-built functions to ease the task of building different neural networks. Tensorflow allows distribution of computation across different computers, as well as multiple CPUs and GPUs within a single machine. TensorFlow provides a Python API, as well as a less documented C++ API. For this course, we will be using Python.

This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. We aim to help students understand the graphical computational model of Tensorflow, explore the functions it has to offer, and learn how to build and structure models best suited for a deep learning project. Through the course, students will use Tensorflow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments.

14. 牛津大学 & DeepMind 联合的面向NLP的深度学习应用课程: Deep Learning for Natural Language Processing: 2016-2017

课程主页:https://www.cs.ox.ac.uk/teaching/courses/2016-2017/dl/

github课程项目页面:https://github.com/oxford-cs-deepnlp-2017/

课程视频Playlist: https://www.youtube.com/playlist?list=PL613dYIGMXoZBtZhbyiBqb0QtgK6oJbpm

B站搬运视频: https://www.bilibili.com/video/av9817911/

15. 卡耐基梅隆大学(CMU)深度学习应用课程:CMU CS 11-747, Fall 2017 Neural Networks for NLP

课程主页:http://phontron.com/class/nn4nlp2017/

课程视频Playlist: https://www.youtube.com/watch?v=Sss2EA4hhBQ&list=PL8PYTP1V4I8ABXzdqtOpB_eqBlVAz_xPT

16. MIT组织的一个为期一周的深度学习课程: 6.S191: Introduction to Deep Learning http://introtodeeplearning.com/

17. 奈良先端科学技術大学院大学(NAIST) 2014年推出的一个深度学习短期课程(英文授课):Deep Learning and Neural Networks

18. Deep Learning course: lecture slides and lab notebooks

欢迎大家推荐其他没有覆盖到的深度学习课程。

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/深度学习课程资源整理

2014年9月份MOOC部分热门课程汇总

又到了一年的开学季,几大MOOC平台又有不少质量很高的课程轮番推出,本文将对9月已经或者即将开设的偏向计算机科学类的课程进行一个简单的选择和汇总,各位可以从中选取自己感兴趣的课程。

Coursera:

1. 杜克大学的 Data Analysis and Statistical Inference

本课讲授比较基础的统计学,但不同于传统的统计学内容,本课将很大一部分精力用在锻炼学生的实际动手能力。部分课程练习是在一个叫“DataCamp”的平台上完成的,力求学生能够通过实际练习解决现实中的问题。

2. 斯坦福大学的 Automata

本课属于比较传统的计算机科学理论课程,讲授了计算理论和复杂度方面的内容,讲师是个传奇人物,对纯粹的计算理论感兴趣的朋友不要错过这门课程。

3. 加州理工学院的 The Caltech-JPL Summer School on Big Data Analytics

本课不同于一般的课程,由一系列的讲座组成,讲述了数据分析领域的一些常用概念,属于比较偏向实务的课程。本课没有限制时间,也没有作业和证书。

4. 普林斯顿大学的 Algorithms, Part I

普林斯顿的数据结构是一门很有口碑的课程,本课的内容作为普林斯顿大学翻转课堂的材料,课程的内容和作业和该校校内基本一致。对于算法和数据结构感兴趣的朋友,这门课是非常不错的选择。唯一遗憾的是课程不提供证书。

5. 香港中文大学的 Information Theory

目前互联网上关于信息论的课程屈指可数,本课是为数不多系统讲授信息论的课程,感兴趣的朋友可以了解一下。

6. 台湾大学的 計算機程式設計 (Computer Programming)

这门课程是台湾大学计算机专业的基础课程,在台大拥有很好的口碑。课程用C语言教授,内容和国内大部分学校同类课程相似,初学计算机编程的同学不要错过这门华语课程。

7. 佐治亚理工学院的 Computational Investing, Part I

本课讲授基础的量化投资概念,属于比较偏向实务的课程。课程内容本身其实没有难度,面向有一定编程基础的同学。

8. 北京大学的 Introduction to Computing 计算概论A

来自北京大学的计算概论是又一门关于计算机基础理论的课程,适合对计算机编程感兴趣的同学作为入门课程。

9. 莱斯大学的 An Introduction to Interactive Programming in Python

又是一门关于计算概论的课程,本课通过一步步制作一款小游戏的方式,逐步介绍编程的基本概念。本课在世界范围内获得了极高的评价,不同于国内计算导论的课程,本课使用容易上手的Python语言,相信对于初学编程的同学来说这门课程将是非常棒的选择。

10. UCSD的 Bioinformatics Algorithms (Part 1)

这是一门关于生物信息学的课程,不需要生物学的背景知识,如果之前修习过算法的同学会觉得这门课程非常亲切。该课属于算法在生物学中的应用,通过本课可以提升自己的编程技巧。

11. EPFL的 Functional Programming Principles in Scala

EPFL的这门课程之前已经在Coursera上开设多轮,也是很多人初次接触Scala甚至是函数式编程的启蒙课程。课程的讲师是Scala的发明人,经典的课程再次启程。

12. 马里兰大学的 Usable Security

本课是马里兰大学在Coursera上开设的“Cybersecurity”系列的第一门课程,主要讲述从产品角度如何涉及一个安全的软件和系统。对安全领域感兴趣的朋友不要错过这门课程。

13. 北京大学的 操作系统与虚拟化安全

来自北大的操作系统课程,对操作系统以及安全领域感兴趣的朋友可以关注一下这门课程。

14. 斯坦福大学的 Machine Learning

虽然本课的讲师Andrew Ng已经离开Coursera加入百度,成为百度首席科学家,但是他给世界上对机器学习感兴趣的人留下的财富至今延续。经典的课程无需多做解释。

15. 台湾大学的 機器學習基石 (Machine Learning Foundations)

原汁原味的机器学习课程,在Coursera上的本课与台湾大学的线下课程同步。有一定难度,但如果坚持学习下来将会受益匪浅。

16. 斯坦福大学的 Mining Massive Datasets

据说该课原来属于斯坦福大学的收费在线课程,如今搬到了Coursera上免费提供给全世界。本课讲授了大数据技术的方方面面,对于数据分析感兴趣的朋友一定不要错过这门课程。

edX:
1. 清华大学的 电路原理 (开课时间:9.15)

本课是首批华语MOOC课程之一,一经上线便好评如潮。目前互联网上已经有数门关于电路原理的课程,包括MIT的6.002X。本课拥有与6.002X相媲美的质量,是国内大学生学习电路原理的不二选择。

2. 清华大学的 数据结构 (开课时间:9.16)

清华大学的数据结构一经上线便受到了一致的好评,课程内容接近清华校内线下课程的难度,推荐给渴望接触到国内最高学府知识的同学。

3. 比利时UCL大学的 Paradigms of Computer Programming – Fundamentals (开课时间:9.22)

这是一门关于编程范式的课程,对于日后期望从事软件开发或者在职工程师而言,这门课程能够为日后的开发生涯打下扎实的基本功。

4. 香港科技大学的 A System View of Communications: From Signals to Packets (Part 1) (开课时间:9.23)

本课是香港科技大学电气工程专业(EE)的第一门专业基础课程,对电子通信感兴趣的朋友不要错过这门课程。

5. 加州理工学院的 Learning From Data (开课时间:9.25)

本课的讲师和台湾大学机器学习课程的林轩田老师有很深的渊源,前者是后者的导师。本课制作精良,内容有深度,与台大的机器学习有相当的重合度。

6. 北京大学的 魅力机器人 | The Fascinating World of Robots and Robotics (开课时间:9.30)

来自北京大学的机器人课程,对机器人领域感兴趣的朋友可以关注一下这门课程。

2014年4月份MOOC部分热门课程汇总

近期MOOC的内容呈现出爆炸式的增长,各式各样的课程让人应接不暇。本文将对各大平台4月份预计比较热门的课程进行简单的汇总,各位可以根据自身的需求挑选合适的课程。

Coursera平台:

1. 美国西北大学的Everything is the Same: Modeling Engineered Systems 将于4月6日开课。本课主要讲述一些简单的物理工程实例,对物理学、工程学感兴趣的朋友可以关注。同时这门课程中会穿插Matlab和Python的内容,适合懂得一点编程的朋友。

2.马里兰大学的Exploring Quantum Physics将于4月7日开课,本课讲述的是量子物理。目前讲述量子物理方面的课程还不多,这门课或许是个不错的选择

3. 约翰霍普金斯大学的Getting and Cleaning Data将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分

4.约翰霍普金斯大学的R Programming将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分,R语言日益成为数据分析领域的首选工具,本门课程可以作为对这个工具入手的入门课程。

5. 约翰霍普金斯大学的The Data Scientist’s Toolbox将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分,主要介绍了目前数据分析中会经常用到的工具,例如:Github,  MarkDown, R Console, R Studio等等

6. 上海交通大学的“唐诗宋词人文解读”将于4月8日开课。课程从喜闻乐见的唐诗宋词入手,触摸一段历史与一群文人的体温,领悟人生旅途的趣味和智慧。

7. 上海交通大学的“媒介批评:理论与方法”将于4月8日开课。“媒介批评”是现代大众传播学的重要分支,简单而言,就是批评媒介,是 对大众传播媒介本身进行批评,属于应用传播学的研究领域。

8. 密歇根大学的Programming for Everybody将于4月10日开课。在众多编程基础课中这门课属于新的成员,适合编程零基础的朋友。

9. 慕尼黑大学的Competitive Strategy将于4月11日开课:

@ototsuyume:

其实就是简单易懂的博弈论入门,课程量少老师讲得作业难度不高而且每道题都有说明,大概是大学里面公共通选课的难度,有空可以看看

10.科罗拉多大学博尔德分校的Physics 1 for Physical Science Majors将于4月14日开课。本课属于比较传统的大学物理,之前获得了不错的反响

11.慕尼黑大学的Introduction to Mathematical Philosophy将于4月14日开课。在现代的哲学研究中越来越多的需要思考很多底层的问题,在这期间免不了需要思考很多数学层面的问题,本课推荐给对数学或哲学领域感兴趣的朋友。

12.匹兹堡大学的Warhol将于4月21日开课。出生于匹兹堡市的Andy Warhol是20世纪最伟大的艺术家之一,波普艺术的创始人,对当代的艺术和文化产生了巨大的影响。本课将介绍Andy Warhol的生平和作品,让大家一睹大师的风采。

13.香港中文大学的“中國人文經典導讀”将于4月24日开课。本課程是以四堂演講的方式,分別討論中國文化的四個主要面向,彙文學、歷史、哲學、藝術于一爐。每一個主題以一篇或兩篇經典文本爲基礎,指導學生如何精讀作品,學習以欣賞和批判的雙重角度重新解讀經典,同時獲得對中國文字的陶冶和享受。它本爲大學一年級學生所設,但不限於中文系本科專業,希能為學生鑒賞中國傳統文化開啟新的視野。

14.瑞士洛桑联邦理工学院(EPFL)的Functional Programming Principles in Scala将于4月25日开课。本课之前几轮获得了极高的评价,主要通过Scala语言讲述函数式编程的思想。本课的讲师正是Scala语言的发明人。

15. 斯坦福大学的Algorithms: Design and Analysis, Part 1将于4月29日开课:

@超級現實的超現實理想主義者:

这门课对我的影响非常大,直接改变了我的思维方式,并且为日后的学习打下了很好的基础。

edX平台

1. MIT的Street-Fighting Math将于4月8日开课。如同街头打架一样,不论你使用什么招式,打架的唯一目的就是寻求胜利。各位接受了多年“严谨”的数学教育,不妨感受一下“Quick and Dirty”的数学方法。

2.哈佛大学的Justice将于4月8日开课。这门“公正”课早在MOOC出现之前就已经红遍国内互联网,想要重温或者学习这门经典课程的朋友不妨关注一下这门MOOC形式呈现的课程。

3.京都大学的The Chemistry of Life将于4月10日开课。该课属于化学和生物的入门课程。

学堂在线:

1. 清华大学的组合数学将于4月10日开课。随着计算机科学的发展,组合数学在这段时间里获得了极大的发展。不同于传统数学领域侧重于“连续”层面,组合数学解决的是“离散”层面的问题。本课将从基础的排列组合开始,逐步深入了解计数问题的不同解决思路,通过对现实生活中计数问题的演绎和学生们共同体会组合计数问题不断抽象深入的挖掘过程,引导学生共同感受数学知识的精妙,从而深入理解组合数学对计算机理论发展的推动作用。

2. 加州大学伯克利分校的云计算与软件工程—第一部分将于4月21日开课。本课的讲师是软件工程和计算机科学领域的大牛,课程主要通过Ruby on Rails等目前热门的互联网开发技术阐述诸如“云计算”、“敏捷开发”等软件工程领域热门的主题。

注:原创文章,转载请注明出处“课程图谱博客”:blog.coursegraph.com

本文链接: http://blog.coursegraph.com/2014年4月份mooc部分热门课程汇总