标签归档:数学

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

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

线性代数 (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

凸优化及无约束最优化相关资料

很多年前,我的师兄 Jian Zhu 在这里发表过一个系列《无约束最优化》,当时我写下了一段话:

估计有些读者看到这个题目的时候会觉得很数学,和自然语言处理没什么关系,不过如果你听说过最大熵模型、条件随机场,并且知道它们在自然语言处理中被广泛应用,甚至你明白其核心的参数训练算法中有一种叫LBFGS,那么本文就是对这类用于解无约束优化算法的Quasi-Newton Method的初步介绍。

事实上,无论机器学习还是机器学习中的深度学习,数值优化算法都是核心之一,而在这方面,斯坦福大学Stephen Boyd教授等所著的《凸优化》堪称经典:Convex Optimization – Boyd and Vandenberghe ,而且该书的英文电子版在该书主页上可以直接免费下载:

http://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf

还附带了长达301页的Slides:

http://web.stanford.edu/~boyd/cvxbook/bv_cvxslides.pdf

以及额外的练习题、相关代码数据文件:

http://web.stanford.edu/~boyd/cvxbook/bv_cvxbook_extra_exercises.pdf
http://web.stanford.edu/~boyd/cvxbook/cvxbook_additional_exercises/

相当贴心,另外Stephen Boyd教授2014年还在斯坦福大学自家的MOOC平台上开过相关课程: CVX101

https://class.stanford.edu/courses/Engineering/CVX101

提示是:A MOOC on convex optimization, CVX101, was run from 1/21/14 to 3/14/14. If you register for it, you can access all the course materials.

不知道现在注册是否还可以访问课程材料,我当年竟然注册过这门课程,所以还能访问相关资料:

这本书也有中文翻译版,由清华大学出版社出版:

http://www.tup.tsinghua.edu.cn/bookscenter/book_03184902.html

最后提供上述相关材料的打包下载,包括凸优化课程视频、英文原版书籍、练习题和Slides,另外也包括《无约束最优化》的PDF文档,感兴趣的同学可以关注我们的公众号AINLP,回复"youhua"下载:

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”:http://www.52nlp.cn

本文链接地址:凸优化及无约束最优化相关资料 http://www.52nlp.cn/?p=11222

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

数学课程是基础,Coursera上有很多数学公开课,这里做个汇总,注意由于Coursera上有一批很有特色的统计学相关的数学课程,我们将在下一期里单独汇总。

1 斯坦福大学 Introduction to Mathematical Thinking(数学思维导论)

http://coursegraph.com/coursera-mathematical-thinking

引用老版课程一个同学的评价,供参考:

这门课是高中数学到大学数学的一个过度。高中数学一般重计算不太注重证明,这门课讲了基本的逻辑,数学语言(两个 quantifier,there exists, for all)和证明的几个基本方法,比如证明充要条件要从两个方向证、证伪只需要举个反例,原命题不好证的时候可以证等价的逆否命题以及很常用的数学归纳法。课程讲了数论里一些基本定理,然后通过让你证一些看起来显然而不需要证明的证明题来训练你证明的技能和逻辑思考的能力,看起来显然的命题也是要证明才能说服人的,课程最后简略的讲了下数学分析里面实数的引入,但这部分讲的不完整。Keith Devlin 是个 old school 的讲师,上课只用纸和笔,也是属于比较热情的讲师,他每周都会录几个答疑的视频。这门比较适合大一的新生上,开得也比较频繁。

课程简介:

Learn how to think the way mathematicians do – a powerful cognitive process developed over thousands of years. Mathematical thinking is not the same as doing mathematics – at least not as mathematics is typically presented in our school system. School math typically focuses on learning procedures to solve highly stereotyped problems. Professional mathematicians think a certain way to solve real problems, problems that can arise from the everyday world, or from science, or from within mathematics itself. The key to success in school math is to learn to think inside-the-box. In contrast, a key feature of mathematical thinking is thinking outside-the-box – a valuable ability in today’s world. This course helps to develop that crucial way of thinking.

2 加州大学尔湾分校 初级微积分系列课程

1)Pre-Calculus: Functions(初级微积分:函数)

http://coursegraph.com/coursera-pre-calculus

This course covers mathematical topics in college algebra, with an emphasis on functions. The course is designed to help prepare students to enroll for a first semester course in single variable calculus. Upon completing this course, you will be able to: 1. Solve linear and quadratic equations 2. Solve some classes of rational and radical equations 3. Graph polynomial, rational, piece-wise, exponential and logarithmic functions 4. Find integer roots of polynomial equations 5. Solve exponential and logarithm equations 6. Understand the inverse relations between exponential and logarithm equations 7. Compute values of exponential and logarithm expressions using basic properties

2)Pre-Calculus: Trigonometry(初级微积分:三角)

http://coursegraph.com/coursera-trigonometry

This course covers mathematical topics in trigonometry. Trigonometry is the study of triangle angles and lengths, but trigonometric functions have far reaching applications beyond simple studies of triangles. This course is designed to help prepare students to enroll for a first semester course in single variable calculus. Upon completing this course, you will be able to: 1. Evaluate trigonometric functions using the unit circle and right triangle approaches 2. Solve trigonometric equations 3. Verify trigonometric identities 4. Prove and use basic trigonometric identities. 5. Manipulate trigonometric expressions using standard identities 6. Solve right triangles 7. Apply the Law of Sines and the Law of Cosines

3 宾夕法尼亚大学的 单变量微积分系列课程

1)Calculus: Single Variable Part 1 - Functions(单变量微积分1:函数)
http://coursegraph.com/coursera-single-variable-calculus

Calculus is one of the grandest achievements of human thought, explaining everything from planetary orbits to the optimal size of a city to the periodicity of a heartbeat. This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences. Distinguishing features of the course include: 1) the introduction and use of Taylor series and approximations from the beginning; 2) a novel synthesis of discrete and continuous forms of Calculus; 3) an emphasis on the conceptual over the computational; and 4) a clear, dynamic, unified approach. In this first part--part one of five--you will extend your understanding of Taylor series, review limits, learn the *why* behind l'Hopital's rule, and, most importantly, learn a new language for describing growth and decay of functions: the BIG O.

2)Calculus: Single Variable Part 2 - Differentiation(单变量微积分2:微分)

http://coursegraph.com/coursera-differentiation-calculus

Calculus is one of the grandest achievements of human thought, explaining everything from planetary orbits to the optimal size of a city to the periodicity of a heartbeat. This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences. Distinguishing features of the course include: 1) the introduction and use of Taylor series and approximations from the beginning; 2) a novel synthesis of discrete and continuous forms of Calculus; 3) an emphasis on the conceptual over the computational; and 4) a clear, dynamic, unified approach. In this second part--part two of five--we cover derivatives, differentiation rules, linearization, higher derivatives, optimization, differentials, and differentiation operators.

3)Calculus: Single Variable Part 3 - Integration(单变量微积分3:积分)

http://coursegraph.com/coursera-integration-calculus

Calculus is one of the grandest achievements of human thought, explaining everything from planetary orbits to the optimal size of a city to the periodicity of a heartbeat. This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences. Distinguishing features of the course include: 1) the introduction and use of Taylor series and approximations from the beginning; 2) a novel synthesis of discrete and continuous forms of Calculus; 3) an emphasis on the conceptual over the computational; and 4) a clear, dynamic, unified approach. In this third part--part three of five--we cover integrating differential equations, techniques of integration, the fundamental theorem of integral calculus, and difficult integrals.

4) Calculus: Single Variable Part 4 - Applications(单变量微积分4:应用)

http://coursegraph.com/coursera-applications-calculus

Calculus is one of the grandest achievements of human thought, explaining everything from planetary orbits to the optimal size of a city to the periodicity of a heartbeat. This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences. Distinguishing features of the course include: 1) the introduction and use of Taylor series and approximations from the beginning; 2) a novel synthesis of discrete and continuous forms of Calculus; 3) an emphasis on the conceptual over the computational; and 4) a clear, dynamic, unified approach. In this fourth part--part four of five--we cover computing areas and volumes, other geometric applications, physical applications, and averages and mass. We also introduce probability.

4 杜克大学 Data Science Math Skills(数据科学中的数学技巧)

http://coursegraph.com/coursera-datasciencemathskills

这门课程主要介绍数据科学中涉及的相关数学概念,让学生了解基本的数学概念,掌握基本的数学语言,内容涵盖集合论、求和的Sigma符号、数学上的笛卡尔(x,y)平面、指数、对数和自然对数函数,概率论以及叶斯定理等:

Data science courses contain math—no avoiding that! This course is designed to teach learners the basic math you will need in order to be successful in almost any data science math course and was created for learners who have basic math skills but may not have taken algebra or pre-calculus. Data Science Math Skills introduces the core math that data science is built upon, with no extra complexity, introducing unfamiliar ideas and math symbols one-at-a-time. Learners who complete this course will master the vocabulary, notation, concepts, and algebra rules that all data scientists must know before moving on to more advanced material.

5 加州大学圣迭戈分校 Introduction to Discrete Mathematics for Computer Science Specialization(面向计算机科学的离散数学专项课程)

http://coursegraph.com/coursera-specializations-discrete-mathematics

面向计算机科学的离散数学专项课程(Introduction to Discrete Mathematics for Computer Science Specialization),这个系列包含5门子课程,涵盖证明、组合数学与概率、图论,数论和密码学,配送问题项目等,感兴趣的同学可以关注: Build a Foundation for Your Career in IT-Master the math powering our lives and prepare for your software engineer or security analyst career

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties. This ability is important for software engineers, data scientists, security and financial analysts (it is not a coincidence that math puzzles are often used for interviews). We cover the basic notions and results (combinatorics, graphs, probability, number theory) that are universally needed. To deliver techniques and ideas in discrete mathematics to the learner we extensively use interactive puzzles specially created for this specialization. To bring the learners experience closer to IT-applications we incorporate programming examples, problems and projects in our courses.

1) What is a Proof(什么是证明)

http://coursegraph.com/coursera-what-is-a-proof

There is a perceived barrier to mathematics: proofs. In this course we will try to convince you that this barrier is more frightening than prohibitive: most proofs are easy to understand if explained correctly, and often they are even fun. We provide an accompanied excursion in the “proof zoo” showing you examples of techniques of different kind applied to different topics. We use some puzzles as examples, not because they are “practical”, but because discussing them we learn important reasoning and problem solving techniques that are useful. We hope you enjoy playing with the puzzles and inventing/understandings the proofs. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

2)Combinatorics and Probability(组合和概率)

Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following. If we need to count something, can we do anything better than just counting all objects one by one? Do we need to create a list of all phone numbers to ensure that there are enough phone numbers for everyone? Is there a way to tell that our algorithm will run in a reasonable time before implementing and actually running it? All these questions are addressed by a mathematical field called Combinatorics. In this course we discuss most standard combinatorial settings that can help to answer questions of this type. We will especially concentrate on developing the ability to distinguish these settings in real life and algorithmic problems. This will help the learner to actually implement new knowledge. Apart from that we will discuss recursive technique for counting that is important for algorithmic implementations. One of the main `consumers’ of Combinatorics is Probability Theory. This area is connected with numerous sides of life, on one hand being an important concept in everyday life and on the other hand being an indispensable tool in such modern and important fields as Statistics and Machine Learning. In this course we will concentrate on providing the working knowledge of basics of probability and a good intuition in this area. The practice shows that such an intuition is not easy to develop. In the end of the course we will create a program that successfully plays a tricky and very counterintuitive dice game. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

3)Introduction to Graph Theory(图论导论)

We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the deep theories behind them. In this course, among other intriguing applications, we will see how GPS systems find shortest routes, how engineers design integrated circuits, how biologists assemble genomes, why a political map can always be colored using a few colors. We will study Ramsey Theory which proves that in a large system, complete disorder is impossible! By the end of the course, we will implement an algorithm which finds an optimal assignment of students to schools. This algorithm, developed by David Gale and Lloyd S. Shapley, was later recognized by the conferral of Nobel Prize in Economics. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

4) Number Theory and Cryptography(数论和密码学)

We all learn numbers from the childhood. Some of us like to count, others hate it, but any person uses numbers everyday to buy things, pay for services, estimated time and necessary resources. People have been wondering about numbers’ properties for thousands of years. And for thousands of years it was more or less just a game that was only interesting for pure mathematicians. Famous 20th century mathematician G.H. Hardy once said “The Theory of Numbers has always been regarded as one of the most obviously useless branches of Pure Mathematics”. Just 30 years after his death, an algorithm for encryption of secret messages was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the word nowadays. Without it, nobody would be able to make secure payments over the internet, or even log in securely to e-mail and other personal services. In this short course, we will make the whole journey from the foundation to RSA in 4 weeks. By the end, you will be able to apply the basics of the number theory to encrypt and decrypt messages, and to break the code if one applies RSA carelessly. You will even pass a cryptographic quest! As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

5)Solving Delivery Problem(解决旅行商问题)

http://coursegraph.com/coursera-delivery-problem

We’ll implement together an efficient program for a problem needed by delivery companies all over the world millions times per day — the travelling salesman problem. The goal in this problem is to visit all the given places as quickly as possible. How to find an optimal solution to this problem quickly? We still don’t have provably efficient algorithms for this difficult computational problem and this is the essence of the P versus NP problem, the most important open question in Computer Science. Still, we’ll implement several efficient solutions for real world instances of the travelling salesman problem. While designing these solutions, we will rely heavily on the material learned in the courses of the specialization: proof techniques, combinatorics, probability, graph theory. We’ll see several examples of using discrete mathematics ideas to get more and more efficient solutions.

6 伦敦帝国理工学院 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

For a lot of higher level courses in Machine Learning and Data Science, you find you need to freshen up on the basics in maths - stuff you may have studied before in school or university, but which was taught in another context, or not very intuitively, such that you struggle to relate it to how it’s used in Computer Science. This specialisation aims to bridge that gap, getting you up to speed in the underlying maths, building an intuitive understanding, and relating it to Machine Learning and Data Science. In the first course on Linear Algebra we look at what linear algebra is and how it relates to data. Then we look through what vectors and matrices are and how to work with them. The second course, Multivariate Calculus, builds on this to look at how to optimise fitting functions to get good fits to data. It starts from introductory calculus and then uses the matrices and vectors from the first course to look at data fitting. The third course, Dimensionality Reduction with Principal Components Analysis, uses the maths from the first two courses to do simple optimisation for the situation where you don’t have an understanding of how the data variables relate to each other. At the end of this specialisation you will have gained the prerequisite mathematical knowledge to continue your journey and take more advanced courses in machine learning.

1) Mathematics for Machine Learning: Linear Algebra(面向机器学习的数学:线性代数)

http://coursegraph.com/coursera-linear-algebra-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.

2)Mathematics for Machine Learning: Multivariate Calculus(面向机器学习的数学:多变量微积分)

http://coursegraph.com/coursera-multivariate-calculus-machine-learning

This course offers a brief introduction to the multivariate calculus required to build many common machine learning techniques. We start at the very beginning with a refresher on the “rise over run” formulation of a slope, before converting this to the formal definition of the gradient of a function. We then start to build up a set of tools for making calculus easier and faster. Next, we learn how to calculate vectors that point up hill on multidimensional surfaces and even put this into action using an interactive game. We take a look at how we can use calculus to build approximations to functions, as well as helping us to quantify how accurate we should expect those approximations to be. We also spend some time talking about where calculus comes up in the training of neural networks, before finally showing you how it is applied in linear regression models. This course is intended to offer an intuitive understanding of calculus, as well as the language necessary to look concepts up yourselves when you get stuck. Hopefully, without going into too much detail, you’ll still come away with the confidence to dive into some more focused machine learning courses in future.

3)Mathematics for Machine Learning: PCA(面向机器学习的数学:主成分分析)

http://coursegraph.com/coursera-pca-machine-learning

This course introduces the mathematical foundations to derive Principal Component Analysis (PCA), a fundamental dimensionality reduction technique. We'll cover some basic statistics of data sets, such as mean values and variances, we'll compute distances and angles between vectors using inner products and derive orthogonal projections of data onto lower-dimensional subspaces. Using all these tools, we'll then derive PCA as a method that minimizes the average squared reconstruction error between data points and their reconstruction. At the end of this course, you'll be familiar with important mathematical concepts and you can implement PCA all by yourself. If you’re struggling, you’ll find a set of jupyter notebooks that will allow you to explore properties of the techniques and walk you through what you need to do to get on track. If you are already an expert, this course may refresh some of your knowledge.

注:本文首发“课程图谱博客”:http://blog.coursegraph.com

同步发布到这里, 本文链接地址:http://blog.coursegraph.com/coursera上数学类相关课程数学公开课汇总推荐 http://blog.coursegraph.com/?p=804

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

“知行合一”与自然语言处理

  最近迷上了《明朝那些事儿》,周四从当当网收到寄过来的三、四、五册之后,本计划半个月的精神食粮就在这三天完成了,这也差点耽误了“我爱自然语言处理”的周末任务。不过还好,读《明朝那些事儿》的时候,王守仁(阳明)先生的“知行合一”给我留下了深刻的印象,且下意识的联想到了自然语言处理,于是就准备在这里瞎侃侃自己的感受了! 继续阅读