标签归档:机器学习

Deep Learning Specialization on Coursera

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

Coursera上的数据科学课程有很多,这里汇总一批。

1、 Introduction to Data Science Specialization

IBM公司推出的数据科学导论专项课程系列(Introduction to Data Science Specialization),这个系列包括4门子课程,涵盖数据科学简介,面向数据科学的开源工具,数据科学方法论,SQL基础,感兴趣的同学可以关注:Launch your career in Data Science。Data Science skills to prepare for a career or further advanced learning in Data Science.

1) What is Data Science?
2) Open Source tools for Data Science
3) Data Science Methodology
4) Databases and SQL for Data Science

2、Applied Data Science Specialization

IBM公司推出的 应用数据科学专项课程系列(Applied Data Science Specialization),这个系列包括4门子课程,涵盖面向数据科学的Python,Python数据可视化,Python数据分析,数据科学应用毕业项目,感兴趣的同学可以关注:Get hands-on skills for a Career in Data Science。Learn Python, analyze and visualize data. Apply your skills to data science and machine learning.

1) Python for Data Science
2) Data Visualization with Python
3) Data Analysis with Python
4) Applied Data Science Capstone

3、Applied Data Science with Python Specialization

密歇根大学的Python数据科学应用专项课程系列(Applied Data Science with Python),这个系列的目标主要是通过Python编程语言介绍数据科学的相关领域,包括应用统计学,机器学习,信息可视化,文本分析和社交网络分析等知识,并结合一些流行的Python工具包进行讲授,例如pandas, matplotlib, scikit-learn, nltk以及networkx等Python工具。感兴趣的同学可以关注:Gain new insights into your data-Learn to apply data science methods and techniques, and acquire analysis skills.

1) Introduction to Data Science in Python
2) Applied Plotting, Charting & Data Representation in Python
3) Applied Machine Learning in Python
4) Applied Text Mining in Python
5) Applied Social Network Analysis in Python

4、Data Science Specialization

约翰霍普金斯大学的数据科学专项课程系列(Data Science Specialization),这个系列课程有10门子课程,包括数据科学家的工具箱,R语言编程,数据清洗和获取,数据分析初探,可重复研究,统计推断,回归模型,机器学习实践,数据产品开发,数据科学毕业项目,感兴趣的同学可以关注: Launch Your Career in Data Science-A nine-course introduction to data science, developed and taught by leading professors.

1) The Data Scientist’s Toolbox
2) R Programming
3) Getting and Cleaning Data
4) Exploratory Data Analysis
5) Reproducible Research
6) Statistical Inference
7) Regression Models
8) Practical Machine Learning
9) Developing Data Products
10) Data Science Capstone

5、Data Science at Scale Specialization

华盛顿大学的大规模数据科学专项课程系列(Data Science at Scale ),这个系列包括3门子课程和1个毕业项目课程,包括大规模数据系统和算法,数据分析模型与方法,数据科学结果分析等,感兴趣的同学可以关注: Tackle Real Data Challenges-Master computational, statistical, and informational data science in three courses.

1) Data Manipulation at Scale: Systems and Algorithms
2) Practical Predictive Analytics: Models and Methods
3) Communicating Data Science Results
4) Data Science at Scale – Capstone Project

6、Advanced Data Science with IBM Specialization

IBM公司推出的高级数据科学专项课程系列(Advanced Data Science with IBM Specialization),这个系列包括4门子课程,涵盖数据科学基础,高级机器学习和信号处理,结合深度学习的人工智能应用等,感兴趣的同学可以关注:Expert in DataScience, Machine Learning and AI。Become an IBM-approved Expert in Data Science, Machine Learning and Artificial Intelligence.

1) Fundamentals of Scalable Data Science
2) Advanced Machine Learning and Signal Processing
3) Applied AI with DeepLearning
4) Advanced Data Science Capstone

7、Data Mining Specialization

伊利诺伊大学香槟分校的数据挖掘专项课程系列(Data Mining Specialization),这个系列包含5门子课程和1个毕业项目课程,涵盖数据可视化,信息检索,文本挖掘与分析,模式发现和聚类分析等,感兴趣的同学可以关注:Data Mining Specialization-Analyze Text, Discover Patterns, Visualize Data. Solve real-world data mining challenges.

1) Data Visualization
2) Text Retrieval and Search Engines
3) Text Mining and Analytics
4) Pattern Discovery in Data Mining
5) Cluster Analysis in Data Mining
6) Data Mining Project

8、Data Analysis and Interpretation Specialization

数据分析和解读专项课程系列(Data Analysis and Interpretation Specialization),该系列包括5门子课程,分别是数据管理和可视化,数据分析工具,回归模型,机器学习,毕业项目,感兴趣的同学可以关注:Learn Data Science Fundamentals-Drive real world impact with a four-course introduction to data science.

1) Data Management and Visualization
2) Data Analysis Tools
3) Regression Modeling in Practice
4) Machine Learning for Data Analysis
5) Data Analysis and Interpretation Capstone

9、Executive Data Science Specialization

可管理的数据科学专项课程系列(Executive Data Science Specialization),这个系列包含4门子课程和1门毕业项目课程,涵盖数据科学速成,数据科学小组建设,数据分析管理,现实生活中的数据科学等,感兴趣的同学可以关注:Be The Leader Your Data Team Needs-Learn to lead a data science team that generates first-rate analyses in four courses.

1)A Crash Course in Data Science
2)Building a Data Science Team
3)Managing Data Analysis
4)Data Science in Real Life
5)Executive Data Science Capstone

10、其他相关的数据科学课程

1) Data Science Math Skills
2) Data Science Ethics
3) How to Win a Data Science Competition: Learn from Top Kagglers

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

本文链接地址:http://blog.coursegraph.com/coursera上数据科学相关课程数据科学公开课汇总推荐 http://blog.coursegraph.com/?p=851

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上机器学习课程(公开课)汇总推荐

Coursera上有很多机器学习课程,这里做个总结,因为机器学习相关的概念和应用很多,这里推荐的课程仅限于和机器学习直接相关的课程,虽然深度学习属于机器学习范畴,这里暂时也将其排除在外,后续会专门推出深度学习课程的系列推荐。

1. Andrew Ng 老师的 机器学习课程(Machine Learning)

机器学习入门首选课程,没有之一。这门课程从一开始诞生就备受瞩目,据说全世界有数百万人通过这门课程入门机器学习。课程的级别是入门级别的,对学习者的背景要求不高,Andrew Ng 老师讲解的又很通俗易懂,所以强烈推荐从这门课程开始走入机器学习。课程简介:

机器学习是一门研究在非特定编程条件下让计算机采取行动的学科。最近二十年,机器学习为我们带来了自动驾驶汽车、实用的语音识别、高效的网络搜索,让我们对人类基因的解读能力大大提高。当今机器学习技术已经非常普遍,您很可能在毫无察觉情况下每天使用几十次。许多研究者还认为机器学习是人工智能(AI)取得进展的最有效途径。在本课程中,您将学习最高效的机器学习技术,了解如何使用这些技术,并自己动手实践这些技术。更重要的是,您将不仅将学习理论知识,还将学习如何实践,如何快速使用强大的技术来解决新问题。最后,您将了解在硅谷企业如何在机器学习和AI领域进行创新。 本课程将广泛介绍机器学习、数据挖掘和统计模式识别。相关主题包括:(i) 监督式学习(参数和非参数算法、支持向量机、核函数和神经网络)。(ii) 无监督学习(集群、降维、推荐系统和深度学习)。(iii) 机器学习实例(偏见/方差理论;机器学习和AI领域的创新)。课程将引用很多案例和应用,您还需要学习如何在不同领域应用学习算法,例如智能机器人(感知和控制)、文本理解(网络搜索和垃圾邮件过滤)、计算机视觉、医学信息学、音频、数据库挖掘等领域。

这里有老版课程评论,非常值得参考推荐:Machine Learning

2. 台湾大学林轩田老师的 機器學習基石上 (Machine Learning Foundations)—Mathematical Foundations

如果有一定的基础或者学完了Andrew Ng老师的机器学习课程,这门机器学习基石上-数学基础可以作为进阶课程。林老师早期推出的两门机器学习课程口碑和难度均有:机器学习基石机器学习技法 ,现在重组为上和下,非常值得期待:

Machine learning is the study that allows computers to adaptively improve their performance with experience accumulated from the data observed. Our two sister courses teach the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. This first course of the two would focus more on mathematical tools, and the other course would focus more on algorithmic tools. [機器學習旨在讓電腦能由資料中累積的經驗來自我進步。我們的兩項姊妹課程將介紹各領域中的機器學習使用者都應該知道的基礎演算法、理論及實務工具。本課程將較為著重數學類的工具,而另一課程將較為著重方法類的工具。]

3. 台湾大学林轩田老师的 機器學習基石下 (Machine Learning Foundations)—Algorithmic Foundations

作为2的姊妹篇,这个机器学习基石下-算法基础 更注重机器学习算法相关知识:

Machine learning is the study that allows computers to adaptively improve their performance with experience accumulated from the data observed. Our two sister courses teach the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. This second course of the two would focus more on algorithmic tools, and the other course would focus more on mathematical tools. [機器學習旨在讓電腦能由資料中累積的經驗來自我進步。我們的兩項姊妹課程將介紹各領域中的機器學習使用者都應該知道的基礎演算法、理論及實務工具。本課程將較為著重方法類的工具,而另一課程將較為著重數學類的工具。

可参考早期的老版本课程评论:機器學習基石 (Machine Learning Foundations) 機器學習技法 (Machine Learning Techniques)

4. 华盛顿大学的 “机器学习专项课程(Machine Learning Specialization)

这个系列课程包含4门子课程,分别是 机器学习基础:案例研究 , 机器学习:回归 , 机器学习:分类, 机器学习:聚类与检索:

This Specialization from leading researchers at the University of Washington introduces you to the exciting, high-demand field of Machine Learning. Through a series of practical case studies, you will gain applied experience in major areas of Machine Learning including Prediction, Classification, Clustering, and Information Retrieval. You will learn to analyze large and complex datasets, create systems that adapt and improve over time, and build intelligent applications that can make predictions from data.

4.1 Machine Learning Foundations: A Case Study Approach(机器学习基础: 案例研究)

你是否好奇数据可以告诉你什么?你是否想在关于机器学习促进商业的核心方式上有深层次的理解?你是否想能同专家们讨论关于回归,分类,深度学习以及推荐系统的一切?在这门课上,你将会通过一系列实际案例学习来获取实践经历。

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? In this course, you will get hands-on experience with machine learning from a series of practical case-studies. At the end of the first course you will have studied how to predict house prices based on house-level features, analyze sentiment from user reviews, retrieve documents of interest, recommend products, and search for images. Through hands-on practice with these use cases, you will be able to apply machine learning methods in a wide range of domains. This first course treats the machine learning method as a black box. Using this abstraction, you will focus on understanding tasks of interest, matching these tasks to machine learning tools, and assessing the quality of the output. In subsequent courses, you will delve into the components of this black box by examining models and algorithms. Together, these pieces form the machine learning pipeline, which you will use in developing intelligent applications. Learning Outcomes: By the end of this course, you will be able to: -Identify potential applications of machine learning in practice. -Describe the core differences in analyses enabled by regression, classification, and clustering. -Select the appropriate machine learning task for a potential application. -Apply regression, classification, clustering, retrieval, recommender systems, and deep learning. -Represent your data as features to serve as input to machine learning models. -Assess the model quality in terms of relevant error metrics for each task. -Utilize a dataset to fit a model to analyze new data. -Build an end-to-end application that uses machine learning at its core. -Implement these techniques in Python.

4.2 Machine Learning: Regression(机器学习: 回归问题)

这门课程关注机器学习里面的一个基本问题: 回归(Regression), 也通过案例研究(预测房价)的方式进行回归问题的学习,最终通过Python实现相关的机器学习算法。

Case Study – Predicting Housing Prices In our first case study, predicting house prices, you will create models that predict a continuous value (price) from input features (square footage, number of bedrooms and bathrooms,…). This is just one of the many places where regression can be applied. Other applications range from predicting health outcomes in medicine, stock prices in finance, and power usage in high-performance computing, to analyzing which regulators are important for gene expression. In this course, you will explore regularized linear regression models for the task of prediction and feature selection. You will be able to handle very large sets of features and select between models of various complexity. You will also analyze the impact of aspects of your data — such as outliers — on your selected models and predictions. To fit these models, you will implement optimization algorithms that scale to large datasets. Learning Outcomes: By the end of this course, you will be able to: -Describe the input and output of a regression model. -Compare and contrast bias and variance when modeling data. -Estimate model parameters using optimization algorithms. -Tune parameters with cross validation. -Analyze the performance of the model. -Describe the notion of sparsity and how LASSO leads to sparse solutions. -Deploy methods to select between models. -Exploit the model to form predictions. -Build a regression model to predict prices using a housing dataset. -Implement these techniques in Python.

4.3 Machine Learning: Classification(机器学习:分类问题)

这门课程关注机器学习里面的另一个基本问题: 分类(Classification), 通过两个案例研究进行学习:情感分析和贷款违约预测,最终通过Python实现相关的算法(也可以选择其他语言,但是强烈推荐Python)。

Case Studies: Analyzing Sentiment & Loan Default Prediction In our case study on analyzing sentiment, you will create models that predict a class (positive/negative sentiment) from input features (text of the reviews, user profile information,…). In our second case study for this course, loan default prediction, you will tackle financial data, and predict when a loan is likely to be risky or safe for the bank. These tasks are an examples of classification, one of the most widely used areas of machine learning, with a broad array of applications, including ad targeting, spam detection, medical diagnosis and image classification. In this course, you will create classifiers that provide state-of-the-art performance on a variety of tasks. You will become familiar with the most successful techniques, which are most widely used in practice, including logistic regression, decision trees and boosting. In addition, you will be able to design and implement the underlying algorithms that can learn these models at scale, using stochastic gradient ascent. You will implement these technique on real-world, large-scale machine learning tasks. You will also address significant tasks you will face in real-world applications of ML, including handling missing data and measuring precision and recall to evaluate a classifier. This course is hands-on, action-packed, and full of visualizations and illustrations of how these techniques will behave on real data. We’ve also included optional content in every module, covering advanced topics for those who want to go even deeper! Learning Objectives: By the end of this course, you will be able to: -Describe the input and output of a classification model. -Tackle both binary and multiclass classification problems. -Implement a logistic regression model for large-scale classification. -Create a non-linear model using decision trees. -Improve the performance of any model using boosting. -Scale your methods with stochastic gradient ascent. -Describe the underlying decision boundaries. -Build a classification model to predict sentiment in a product review dataset. -Analyze financial data to predict loan defaults. -Use techniques for handling missing data. -Evaluate your models using precision-recall metrics. -Implement these techniques in Python (or in the language of your choice, though Python is highly recommended).

4.4 Machine Learning: Clustering & Retrieval(机器学习:聚类和检索)

这门课程关注的是机器学习里面的另外两个基本问题:聚类和检索,同样通过案例研究进行学习:相似文档查询,一个非常具有实际应用价值的问题:

Case Studies: Finding Similar Documents A reader is interested in a specific news article and you want to find similar articles to recommend. What is the right notion of similarity? Moreover, what if there are millions of other documents? Each time you want to a retrieve a new document, do you need to search through all other documents? How do you group similar documents together? How do you discover new, emerging topics that the documents cover? In this third case study, finding similar documents, you will examine similarity-based algorithms for retrieval. In this course, you will also examine structured representations for describing the documents in the corpus, including clustering and mixed membership models, such as latent Dirichlet allocation (LDA). You will implement expectation maximization (EM) to learn the document clusterings, and see how to scale the methods using MapReduce. Learning Outcomes: By the end of this course, you will be able to: -Create a document retrieval system using k-nearest neighbors. -Identify various similarity metrics for text data. -Reduce computations in k-nearest neighbor search by using KD-trees. -Produce approximate nearest neighbors using locality sensitive hashing. -Compare and contrast supervised and unsupervised learning tasks. -Cluster documents by topic using k-means. -Describe how to parallelize k-means using MapReduce. -Examine probabilistic clustering approaches using mixtures models. -Fit a mixture of Gaussian model using expectation maximization (EM). -Perform mixed membership modeling using latent Dirichlet allocation (LDA). -Describe the steps of a Gibbs sampler and how to use its output to draw inferences. -Compare and contrast initialization techniques for non-convex optimization objectives. -Implement these techniques in Python.

5. 密歇根大学的 Applied Machine Learning in Python(在Python中应用机器学习)

Python机器学习应用课程,这门课程主要聚焦在通过Python应用机器学习,包括机器学习和统计学的区别,机器学习工具包scikit-learn的介绍,有监督学习和无监督学习,数据泛化问题(例如交叉验证和过拟合)等。这门课程同时属于”Python数据科学应用专项课程系列(Applied Data Science with Python Specialization)“。

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis. This course should be taken after Introduction to Data Science in Python and Applied Plotting, Charting & Data Representation in Python and before Applied Text Mining in Python and Applied Social Analysis in Python.

6. 俄罗斯国立高等经济学院和Yandex联合推出的 高级机器学习专项课程系列(Advanced Machine Learning Specialization)

该系列授课语言为英语,包括深度学习,Kaggle数据科学竞赛,机器学习中的贝叶斯方法,强化学习,计算机视觉,自然语言处理等7门子课程,截止目前前3门课程已开,感兴趣的同学可以关注:

This specialization gives an introduction to deep learning, reinforcement learning, natural language understanding, computer vision and Bayesian methods. Top Kaggle machine learning practitioners and CERN scientists will share their experience of solving real-world problems and help you to fill the gaps between theory and practice. Upon completion of 7 courses you will be able to apply modern machine learning methods in enterprise and understand the caveats of real-world data and settings.

以下是和机器学习直接相关的子课程,其他这里略过:

6.3 Bayesian Methods for Machine Learning(面向机器学习的贝叶斯方法)

该课程关注机器学习中的贝叶斯方法,贝叶斯方法在很多领域都很有用,例如游戏开发和毒品发现。它们给很多机器学习算法赋予了“超能力”,例如处理缺失数据,从小数据集中提取大量有用的信息等。当贝叶斯方法被应用在深度学习中时,它可以让你将模型压缩100倍,并且自动帮你调参,节省你的时间和金钱。

Bayesian methods are used in lots of fields: from game development to drug discovery. They give superpowers to many machine learning algorithms: handling missing data, extracting much more information from small datasets. Bayesian methods also allow us to estimate uncertainty in predictions, which is a really desirable feature for fields like medicine. When Bayesian methods are applied to deep learning, it turns out that they allow you to compress your models 100 folds, and automatically tune hyperparametrs, saving your time and money. In six weeks we will discuss the basics of Bayesian methods: from how to define a probabilistic model to how to make predictions from it. We will see how one can fully automate this workflow and how to speed it up using some advanced techniques. We will also see applications of Bayesian methods to deep learning and how to generate new images with it. We will see how new drugs that cure severe diseases be found with Bayesian methods.

7. 约翰霍普金斯大学的 Practical Machine Learning(机器学习实战)

这门课程从数据科学的角度来应用机器学习进修实战,课程将会介绍机器学习的基础概念譬如训练集,测试集,过拟合和错误率等,同时这门课程也会介绍机器学习的基本模型和算法,例如回归,分类,朴素贝叶斯,以及随机森林。这门课程最终会覆盖一个完整的机器学习实战周期,包括数据采集,特征生成,机器学习算法应用以及结果评估等。这门机器学习实践课程同时属于约翰霍普金斯大学的 数据科学专项课程(Data Science Specialization)系列:

One of the most common tasks performed by data scientists and data analysts are prediction and machine learning. This course will cover the basic components of building and applying prediction functions with an emphasis on practical applications. The course will provide basic grounding in concepts such as training and tests sets, overfitting, and error rates. The course will also introduce a range of model based and algorithmic machine learning methods including regression, classification trees, Naive Bayes, and random forests. The course will cover the complete process of building prediction functions including data collection, feature creation, algorithms, and evaluation.

8. 卫斯理大学 Regression Modeling in Practice(回归模型实战)

这门课程关注的是数据分析以及机器学习领域的最重要的一个概念和工具:回归(模型)分析。这门课程使用SAS或者Python,从线性回归开始学习,到了解整个回归模型,以及应用回归模型进行数据分析:

This course focuses on one of the most important tools in your data analysis arsenal: regression analysis. Using either SAS or Python, you will begin with linear regression and then learn how to adapt when two variables do not present a clear linear relationship. You will examine multiple predictors of your outcome and be able to identify confounding variables, which can tell a more compelling story about your results. You will learn the assumptions underlying regression analysis, how to interpret regression coefficients, and how to use regression diagnostic plots and other tools to evaluate the quality of your regression model. Throughout the course, you will share with others the regression models you have developed and the stories they tell you.

这门课程同时属于卫斯理大学的 数据分析与解读专项课程系列(Data Analysis and Interpretation Specialization)

9. 卫斯理大学的 Machine Learning for Data Analysis(面向数据分析的机器学习)

这门课程关注数据分析里的机器学习,机器学习的过程是一个开发、测试和应用预测算法来实现目标的过程,这门课程以 Regression Modeling in Practice(回归模型实战) 为基础,介绍机器学习中的有监督学习概念,同时从基础的分类算法到决策树以及聚类都会覆盖。通过完成这门课程,你将会学习如何应用、测试和解读机器学习算法用来解决实际问题。

Are you interested in predicting future outcomes using your data? This course helps you do just that! Machine learning is the process of developing, testing, and applying predictive algorithms to achieve this goal. Make sure to familiarize yourself with course 3 of this specialization before diving into these machine learning concepts. Building on Course 3, which introduces students to integral supervised machine learning concepts, this course will provide an overview of many additional concepts, techniques, and algorithms in machine learning, from basic classification to decision trees and clustering. By completing this course, you will learn how to apply, test, and interpret machine learning algorithms as alternative methods for addressing your research questions.

这门课程同时属于卫斯理大学的 数据分析与解读专项课程系列(Data Analysis and Interpretation Specialization)

10. 加州大学圣地亚哥分校的 Machine Learning With Big Data(大数据机器学习)

这门课程关注大数据中的机器学习技术,将会介绍相关的机器学习算法和工具。通过这门课程,你可以学到:通过机器学习过程来设计和利用数据;将机器学习技术用于探索和准备数据来建模;识别机器学习问题的类型;通过广泛可用的开源工具来使用数据构建模型;在Spark中使用大规模机器学习算法分析大数据。

Want to make sense of the volumes of data you have collected? Need to incorporate data-driven decisions into your process? This course provides an overview of machine learning techniques to explore, analyze, and leverage data. You will be introduced to tools and algorithms you can use to create machine learning models that learn from data, and to scale those models up to big data problems. At the end of the course, you will be able to: • Design an approach to leverage data using the steps in the machine learning process. • Apply machine learning techniques to explore and prepare data for modeling. • Identify the type of machine learning problem in order to apply the appropriate set of techniques. • Construct models that learn from data using widely available open source tools. • Analyze big data problems using scalable machine learning algorithms on Spark.

这门课程同时属于 加州大学圣地亚哥分校的大数据专项课程系列(Big Data Specialization)

11. 俄罗斯搜索巨头Yandex推出的 Big Data Applications: Machine Learning at Scale(大数据应用:大规模机器学习)

机器学习正在改变世界,通过这门课程,你将会学习到:识别实战中需要用机器学习算法解决的问题;通过Spark MLLib构建、调参、和应用线性模型;里面文本处理的方法;用决策树和Boost方法解决机器学习问题;构建自己的推荐系统。

Machine learning is transforming the world around us. To become successful, you’d better know what kinds of problems can be solved with machine learning, and how they can be solved. Don’t know where to start? The answer is one button away. During this course you will: – Identify practical problems which can be solved with machine learning – Build, tune and apply linear models with Spark MLLib – Understand methods of text processing – Fit decision trees and boost them with ensemble learning – Construct your own recommender system. As a practical assignment, you will – build and apply linear models for classification and regression tasks; – learn how to work with texts; – automatically construct decision trees and improve their performance with ensemble learning; – finally, you will build your own recommender system! With these skills, you will be able to tackle many practical machine learning tasks. We provide the tools, you choose the place of application to make this world of machines more intelligent.

这门课程同时属于Yandex推出的 面向数据工程师的大数据专项课程系列(Big Data for Data Engineers Specialization)

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

本文链接地址:http://blog.coursegraph.com/coursera上机器学习课程公开课汇总推荐 http://blog.coursegraph.com/?p=696

Coursera上Python课程(公开课)汇总推荐:从Python入门到应用Python

Python是深度学习时代的语言,Coursera上有很多Python课程,从Python入门到精通,从Python基础语法到应用Python,满足各个层次的需求,以下是Coursera上的Python课程整理,仅供参考,这里也会持续更新。

1. 密歇根大学的“Python for Everybody Specialization(人人都可以学习的Python专项课程)”

这个系列对于学习者的编程背景和数学要求几乎为零,非常适合Python入门学习。这个系列也是Coursera上最受欢迎的Python学习系列课程,强烈推荐。这个Python系列的目标是“通过Python学习编程并分析数据,开发用于采集,清洗,分析和可视化数据的程序(Learn to Program and Analyze Data with Python-Develop programs to gather, clean, analyze, and visualize data.” ,以下是关于这个系列的简介:

This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.

这个系列包含4门子课程和1门毕业项目课程,包括Python入门基础,Python数据结构, 使用Python获取网络数据(Python爬虫),在Python中使用数据库以及Python数据可视化等。以下是具体子课程的介绍:

1.1 Programming for Everybody (Getting Started with Python)

Python入门级课程,这门课程暂且翻译为“人人都可以学编程-从Python开始”,如果没有任何编程基础,就从这门课程开始吧:

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course. This course will cover Chapters 1-5 of the textbook “Python for Everybody”. Once a student completes this course, they will be ready to take more advanced programming courses. This course covers Python 3.

1.2 Python Data Structures(Python数据结构)

Python基础课程,这门课程的目标是介绍Python语言的核心数据结构(This course will introduce the core data structures of the Python programming language.),关于这门课程:

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

1.3 Using Python to Access Web Data(使用Python获取网页数据–Python爬虫)

Python应用课程,只有使用Python才能学以致用,这门课程的目标是展示如何通过爬取和分析网页数据将互联网作为数据的源泉(This course will show how one can treat the Internet as a source of data):

This course will show how one can treat the Internet as a source of data. We will scrape, parse, and read web data as well as access data using web APIs. We will work with HTML, XML, and JSON data formats in Python. This course will cover Chapters 11-13 of the textbook “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-10 of the textbook and the first two courses in this specialization. These topics include variables and expressions, conditional execution (loops, branching, and try/except), functions, Python data structures (strings, lists, dictionaries, and tuples), and manipulating files. This course covers Python 3.

1.4 Using Databases with Python(Python数据库)

Python应用课程,在Python中使用数据库。这门课程的目标是在Python中学习SQL,使用SQLite3作为抓取数据的存储数据库:

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization. This course will cover Chapters 14-15 of the book “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-13 of the textbook and the first three courses in this specialization. This course covers Python 3.

1.5 Capstone: Retrieving, Processing, and Visualizing Data with Python(毕业项目课程:使用Python获取,处理和可视化数据)

Python应用实践课程,这是这个系列的毕业项目课程,目的是通过开发一系列Python应用项目让学生熟悉Python抓取,处理和可视化数据的流程。

In the capstone, students will build a series of applications to retrieve, process and visualize data using Python. The projects will involve all the elements of the specialization. In the first part of the capstone, students will do some visualizations to become familiar with the technologies in use and then will pursue their own project to visualize some other data that they have or can find. Chapters 15 and 16 from the book “Python for Everybody” will serve as the backbone for the capstone. This course covers Python 3.

2. 多伦多大学的编程入门课程”Learn to Program: The Fundamentals(学习编程:基础)

Python入门级课程。这门课程以Python语言传授编程入门知识,实为零基础的Python入门课程。感兴趣的同学可以参考课程图谱上的老课程评论 :http://coursegraph.com/coursera_programming1 ,之前一个同学的评价是 “两个老师语速都偏慢,讲解细致,又有可视化工具Python Visualizer用于详细了解程序具体执行步骤,可以说是零基础学习python编程的最佳选择。”

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.

3. 莱斯大学的Python专项课程系列:Introduction to Scripting in Python Specialization

入门级Python学习系列课程,涵盖Python基础, Python数据表示, Python数据分析, Python数据可视化等子课程,比较适合Python入门。这门课程的目标是让学生可以在处理实际问题是使用Python解决问题:Launch Your Career in Python Programming-Master the core concepts of scripting in Python to enable you to solve practical problems.

This specialization is intended for beginners who would like to master essential programming skills. Through four courses, you will cover key programming concepts in Python 3 which will prepare you to use Python to perform common scripting tasks. This knowledge will provide a solid foundation towards a career in data science, software engineering, or other disciplines involving programming.

这个系列包含4门子课程,以下是具体子课程的介绍:

3.1 Python Programming Essentials(Python编程基础)

Python入门基础课程,这门课程将讲授Python编程基础知识,包括表达式,变量,函数等,目标是让用户熟练使用Python:

This course will introduce you to the wonderful world of Python programming! We’ll learn about the essential elements of programming and how to construct basic Python programs. We will cover expressions, variables, functions, logic, and conditionals, which are foundational concepts in computer programming. We will also teach you how to use Python modules, which enable you to benefit from the vast array of functionality that is already a part of the Python language. These concepts and skills will help you to begin to think like a computer programmer and to understand how to go about writing Python programs. By the end of the course, you will be able to write short Python programs that are able to accomplish real, practical tasks. This course is the foundation for building expertise in Python programming. As the first course in a specialization, it provides the necessary building blocks for you to succeed at learning to write more complex Python programs. This course uses Python 3. While many Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This first course will use a Python 3 version of the CodeSkulptor development environment, which is specifically designed to help beginning programmers learn quickly. CodeSkulptor runs within any modern web browser and does not require you to install any software, allowing you to start writing and running small programs immediately. In the later courses in this specialization, we will help you to move to more sophisticated desktop development environments.

3.2 Python Data Representations(Python数据表示)

Python入门基础课程,这门课程依然关注Python的基础知识,包括Python字符串,列表等,以及Python文件操作:

This course will continue the introduction to Python programming that started with Python Programming Essentials. We’ll learn about different data representations, including strings, lists, and tuples, that form the core of all Python programs. We will also teach you how to access files, which will allow you to store and retrieve data within your programs. These concepts and skills will help you to manipulate data and write more complex Python programs. By the end of the course, you will be able to write Python programs that can manipulate data stored in files. This will extend your Python programming expertise, enabling you to write a wide range of scripts using Python This course uses Python 3. While most Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This course introduces basic desktop Python development environments, allowing you to run Python programs directly on your computer. This choice enables a smooth transition from online development environments.

3.3 Python Data Analysis(Python数据分析)

Python基础课程,这门课程将讲授通过Python读取和分析表格数据和结构化数据等,例如TCSV文件等:

This course will continue the introduction to Python programming that started with Python Programming Essentials and Python Data Representations. We’ll learn about reading, storing, and processing tabular data, which are common tasks. We will also teach you about CSV files and Python’s support for reading and writing them. CSV files are a generic, plain text file format that allows you to exchange tabular data between different programs. These concepts and skills will help you to further extend your Python programming knowledge and allow you to process more complex data. By the end of the course, you will be comfortable working with tabular data in Python. This will extend your Python programming expertise, enabling you to write a wider range of scripts using Python. This course uses Python 3. While most Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This course uses basic desktop Python development environments, allowing you to run Python programs directly on your computer.

3.4 Python Data Visualization(Python数据可视化)

Python应用课程,这门课程将基于前3门课程学习的Python知识,抓取网络数据,然后清洗,处理和分析数据,并最终可视化呈现数据:

This if the final course in the specialization which builds upon the knowledge learned in Python Programming Essentials, Python Data Representations, and Python Data Analysis. We will learn how to install external packages for use within Python, acquire data from sources on the Web, and then we will clean, process, analyze, and visualize that data. This course will combine the skills learned throughout the specialization to enable you to write interesting, practical, and useful programs. By the end of the course, you will be comfortable installing Python packages, analyzing existing data, and generating visualizations of that data. This course will complete your education as a scripter, enabling you to locate, install, and use Python packages written by others. You will be able to effectively utilize tools and packages that are widely available to amplify your effectiveness and write useful programs.

4. 莱斯大学的计算(机)基础专项课程系列:Fundamentals of Computing Specialization

入门级Python编程学习课程系列,这个系列覆盖了大部分莱斯大学一年级计算机科学新生的学习材料,学生通过Python学习现代编程语言技巧,并将这些技巧应用到20个左右的有趣的编程项目中。

This Specialization covers much of the material that first-year Computer Science students take at Rice University. Students learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects. The Specialization concludes with a Capstone exam that allows the students to demonstrate the range of knowledge that they have acquired in the Specialization.

这个系列包括Python交互式编程设计,计算原理,算法思维等6门课程和1门毕业项目课程,目标是让学生像计算机科学家一样编程和思考(Learn how to program and think like a Computer Scientist),以下是子课程的相关介绍:

4.1 An Introduction to Interactive Programming in Python (Part 1)(Python交互式编程导论上)

Python入门级课程,这门课程将讲授Python编程基础知识,例如普通表达式,条件表达式和函数,并用这些知识构建一个简单的交互式应用。

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 1 of this course, we will introduce the basic elements of programming (such as expressions, conditionals, and functions) and then use these elements to create simple interactive applications such as a digital stopwatch. Part 1 of this class will culminate in building a version of the classic arcade game “Pong”.

4.2 An Introduction to Interactive Programming in Python (Part 2)(Python交互式编程导论下)

Python入门级课程,这门课程将继续讲授Python基础知识,例如列表,词典和循环,并将使用这些知识构建一个简单的游戏例如Blackjack:

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 2 of this course, we will introduce more elements of programming (such as list, dictionaries, and loops) and then use these elements to create games such as Blackjack. Part 1 of this class will culminate in building a version of the classic arcade game “Asteroids”. Upon completing this course, you will be able to write small, but interesting Python programs. The next course in the specialization will begin to introduce a more principled approach to writing programs and solving computational problems that will allow you to write larger and more complex programs.

4.3 Principles of Computing (Part 1)(计算原理上)

编程基础课程,这门课程聚焦在了编程的基础上,包括编码标准和测试,数学基础包括概率和组合等。

This two-part course builds upon the programming skills that you learned in our Introduction to Interactive Programming in Python course. We will augment those skills with both important programming practices and critical mathematical problem solving skills. These skills underlie larger scale computational problem solving and programming. The main focus of the class will be programming weekly mini-projects in Python that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 1 of this course, the programming aspect of the class will focus on coding standards and testing. The mathematical portion of the class will focus on probability, combinatorics, and counting with an eye towards practical applications of these concepts in Computer Science. Recommended Background – Students should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes and also have a high-school math background that includes algebra and pre-calculus.

4.4 Principles of Computing (Part 2)(计算原理下)

编程基础课程,这门课程聚焦在搜索、排序、递归等主题上:

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems.

4.5 Algorithmic Thinking (Part 1)(算法思维上)

编程基础课程,这门课程聚焦在算法思维的培养上,讲授图算法的相关概念并用Python实现:

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part course builds on the principles that you learned in our Principles of Computing course and is designed to train students in the mathematical concepts and process of “Algorithmic Thinking”, allowing them to build simpler, more efficient solutions to real-world computational problems. In part 1 of this course, we will study the notion of algorithmic efficiency and consider its application to several problems from graph theory. As the central part of the course, students will implement several important graph algorithms in Python and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms. Recommended Background – Students should be comfortable writing intermediate size (300+ line) programs in Python and have a basic understanding of searching, sorting, and recursion. Students should also have a solid math background that includes algebra, pre-calculus and a familiarity with the math concepts covered in “Principles of Computing”.

4.6 Algorithmic Thinking (Part 2)(算法思维下)

编程基础课程,这门课程聚焦在培养学生的算法思维,并了解一些高级算法主题,例如分治法,动态规划等:

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of “Algorithmic Thinking”, allowing them to build simpler, more efficient solutions to computational problems. In part 2 of this course, we will study advanced algorithmic techniques such as divide-and-conquer and dynamic programming. As the central part of the course, students will implement several algorithms in Python that incorporate these techniques and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms. Once students have completed this class, they will have both the mathematical and programming skills to analyze, design, and program solutions to a wide range of computational problems. While this class will use Python as its vehicle of choice to practice Algorithmic Thinking, the concepts that you will learn in this class transcend any particular programming language.

4.7 The Fundamentals of Computing Capstone Exam(计算基础毕业项目课程)

Python应用课程,基于以上子课程的学习,计算基础毕业项目课程将用Python和所学的知识完成 20+ 项目:

While most specializations on Coursera conclude with a project-based course, students in the “Fundamentals of Computing” specialization have completed more than 20+ projects during the first six courses of the specialization. Given that much of the material in these courses is reused from session to session, our goal in this capstone class is to provide a conclusion to the specialization that allows each student an opportunity to demonstrate their individual mastery of the material in the specialization. With this objective in mind, the focus in this Capstone class will be an exam whose questions are updated periodically. This approach is designed to help insure that each student is solving the exam problems on his/her own without outside help. For students that have done their own work, we do not anticipate that the exam will be particularly hard. However, those students who have relied too heavily on outside help in previous classes may have a difficult time. We believe that this approach will increase the value of the Certificate for this specialization.

5. 密歇根大学的 Applied Data Science with Python(Python数据科学应用专项课程系列)

Python应用系列课程,这个系列的目标主要是通过Python编程语言介绍数据科学的相关领域,包括应用统计学,机器学习,信息可视化,文本分析和社交网络分析等知识,并结合一些流行的Python工具包,例如pandas, matplotlib, scikit-learn, nltk以及networkx等Python工具。

The 5 courses in this University of Michigan specialization introduce learners to data science through the python programming language. This skills-based specialization is intended for learners who have basic a python or programming background, and want to apply statistical, machine learning, information visualization, text analysis, and social network analysis techniques through popular python toolkits such as pandas, matplotlib, scikit-learn, nltk, and networkx to gain insight into their data. Introduction to Data Science in Python (course 1), Applied Plotting, Charting & Data Representation in Python (course 2), and Applied Machine Learning in Python (course 3) should be taken in order and prior to any other course in the specialization. After completing those, courses 4 and 5 can be taken in any order. All 5 are required to earn a certificate.

这个系列课程有5门课程,包括Python数据科学导论课程(Introduction to Data Science in Python),Python数据可视化(Applied Plotting, Charting & Data Representation in Python),Python机器学习(Applied Machine Learning in Python) ,Python文本挖掘(Applied Text Mining in Python) , Python社交网络分析(Applied Social Network Analysis in Python),以下是具体子课程的介绍:

5.1 Introduction to Data Science in Python(Python数据科学导论)

Python基础和应用课程,这门课程从Python基础讲起,然后通过pandas数据科学库介绍DataFrame等数据分析中的核心数据结构概念,让学生学会操作和分析表格数据并学会运行基础的统计分析工具。

This course will introduce the learner to the basics of the python programming environment, including how to download and install python, expected fundamental python programming techniques, and how to find help with python programming questions. The course will also introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the DataFrame as the central data structure for data analysis. The course will end with a statistics primer, showing how various statistical measures can be applied to pandas DataFrames. By the end of the course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Network Analysis in Python.

5.2 Applied Plotting, Charting & Data Representation in Python(Python数据可视化)

Python应用课程,这门课程聚焦在通过使用matplotlib库进行数据图表的绘制和可视化呈现:

This course will introduce the learner to information visualization basics, with a focus on reporting and charting using the matplotlib library. The course will start with a design and information literacy perspective, touching on what makes a good and bad visualization, and what statistical measures translate into in terms of visualizations. The second week will focus on the technology used to make visualizations in python, matplotlib, and introduce users to best practices when creating basic charts and how to realize design decisions in the framework. The third week will describe the gamut of functionality available in matplotlib, and demonstrate a variety of basic statistical charts helping learners to identify when a particular method is good for a particular problem. The course will end with a discussion of other forms of structuring and visualizing data. This course should be taken after Introduction to Data Science in Python and before the remainder of the Applied Data Science with Python courses: Applied Machine Learning in Python, Applied Text Mining in Python, and Applied Social Network Analysis in Python.

5.3 Applied Machine Learning in Python(Python机器学习)

Python应用课程,这门课程主要聚焦在通过Python应用机器学习,包括机器学习和统计学的区别,机器学习工具包scikit-learn的介绍,有监督学习和无监督学习,数据泛化问题(例如交叉验证和过拟合)等。

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis. This course should be taken after Introduction to Data Science in Python and Applied Plotting, Charting & Data Representation in Python and before Applied Text Mining in Python and Applied Social Analysis in Python.

5.4 Applied Text Mining in Python(Python文本挖掘)

Python应用课程,这门课程主要聚焦在文本挖掘和文本分析基础,包括正则表达式,文本清洗,文本预处理等,并结合NLTK讲授自然语言处理的相关知识,例如文本分类,主题模型等。

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling). This course should be taken after: Introduction to Data Science in Python, Applied Plotting, Charting & Data Representation in Python, and Applied Machine Learning in Python.

5.5 Applied Social Network Analysis in Python(Python社交网络分析)

Python应用课程,这门课程通过Python工具包 NetworkX 介绍社交网络分析的相关知识。

This course will introduce the learner to network analysis through the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness.. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem. This course should be taken after: Introduction to Data Science in Python, Applied Plotting, Charting & Data Representation in Python, and Applied Machine Learning in Python.

您可以继续在课程图谱上挖掘Coursera上新的Python课程,也欢迎推荐到这里。

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

本文链接地址:http://blog.coursegraph.com/coursera%E4%B8%8Apython%E8%AF%BE%E7%A8%8B%EF%BC%88%E5%85%AC%E5%BC%80%E8%AF%BE%EF%BC%89%E6%B1%87%E6%80%BB%E6%8E%A8%E8%8D%90%EF%BC%9A%E4%BB%8Epython%E5%85%A5%E9%97%A8%E5%88%B0%E5%BA%94%E7%94%A8python

机器学习公开课资源更新

之前有很多同学在《Coursera课程下载和存档计划更新及索引》下留言相关的公开课资源链接失效,尝试做过一些更新,但是很快更新的链接也失效,另外限于自己工作也比较忙,所以这个事情渐渐搁置了。这次准备分批统一更新一下相关的课程资源,如果更新的链接依然很快失效,感兴趣的同学可以关注我们的公众号:NLPJob,回复”Coursera”获取相关资源,我们会在后期统一整理相关资源链接进行更新。

本期更新机器学习相关课程资源链接,之前的帖子也会同步更新:

1、斯坦福大学 Andrew Ng 机器学习 (Machine Learning)

该课程已经在Coursera新的课程平台上发布(https://www.coursera.org/learn/machine-learning),在线的课程资源依然会得到保留,优先推荐在线学习,可以做练习,可以提交作业,这里分享的百度网盘资源包含两个版本,来自于之前大家的分享:

链接: https://pan.baidu.com/s/1bBVtIQ 密码: 26hc

2、华盛顿大学 Pedro Domingos 机器学习 (Machine Learning)

该课程一直没有开课,但是可以preview,视频量很足,类容丰富,用Coursera Downloader下载后大约5G,是目前所有课程下载中占用空间最大的。

链接: https://pan.baidu.com/s/1o8meCps 密码: tekb

3、台湾大学 林軒田 机器学习基石 (Machine Learning Foundations)

该课程在课程图谱上的评价很高,10条评价全是五星,而且评论都很精彩。据说林老师现在创业去了,这门课说不定也会成为绝版,赶紧收藏吧,有三个版本,来自于之前大家的分享或者网上的公开资源。

链接: http://pan.baidu.com/s/1hsmAsNq 密码: kxfj

4、台湾大学 林軒田 机器学习技法(Machine Learning Techniques)

机器学习基石 (Machine Learning Foundations)课程姊妹篇,或者下部,难度依然很高,所以货真价实,值得收藏。

链接: http://pan.baidu.com/s/1bpHSAPD 密码: abye

5、多伦多大学 Geoffrey Hinton 面向机器学习的神经网络(Neural Networks for Machine Learning)

Geoffrey Hinton大神在Coursera上的这门课程只在2012年开过一轮,这次应该不会进行迁移了:

“Deep learning必修课”

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

看看上面的点评,对深度学习感兴趣的同学赶紧保存,本次分享包含两个版本,均为之前大家的分享:

链接: https://pan.baidu.com/s/1sl0R7PV 密码: k4ui

6、斯坦福大学 Daphne Koller 概率图模型公开课(Probabilistic Graphical Models)

这次应该也不会迁移了,想当年多少大神在Coursera上开课。。。本次分享有两个版本,来自于之前大家的分享和网络上的可查资源:

链接: https://pan.baidu.com/s/1hr4X2YS 密码: n5j9

请尽快保存,下次失效后再补不知道什么时候。

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

本文链接地址:http://blog.coursegraph.com/机器学习公开课资源更新

Coursera课程下载和存档计划更新及索引

更新了一下github上“Coursera Archive”项目的相关课程链接,如果在Coursera新课程平台上有的,就更新为新平台链接,如果没有,就保留课程图谱上的链接,供大家参考。

从目前更新的链接来看,有的课程得到了保留,也有的直接不复存在,譬如机器学习的相关课程, 台大林軒田老师的两门机器学习课程就没有了,但是大神Geoffrey Hinton的“面向机器学习”的神经网络课程貌似又复活了,Coursera新课程平台上显示的是2016年9月份开课,大家可以拭目以待。又例如自然语言处理的相关课程,只有 Michael Collins 大神的自然语言处理课程丢失,其他3门课程在新课程平台上均有所保留,情况貌似没有那么糟。另外斯坦福大学的两门算法设计与分析课程,刚刚开课,感兴趣的同学可以直接去上课了。

最后附上 “Coursera课程下载和存档计划” 相关索引,仅供查询和参考:

  1. Coursera Downloader 下载工具
  2. Coursera课程速查表
  3. 机器学习 & 自然语言处理 & 推荐系统 & 数据挖掘相关公开课
  4. 计算机科学基础公开课
  5. 其他课程资源

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

本文链接地址:http://blog.coursegraph.com/coursera课程下载和存档计划更新及索引

Coursera课程下载和存档计划三:机器学习 & 自然语言处理 & 推荐系统 & 数据挖掘相关公开课

周末对之前保存和下载的Coursera课程做了一下整理和归类,先送出机器学习、自然语言处理、推荐系统和数据挖掘相关的14门课程资源。这些公开课资源很多来自于之前课程图谱群内朋友的或者微博上的朋友的分享,这里做了一些补充,主要针对Coursera旧课程平台的课程进行备份和分享,对于一些已经迁移至新课程平台的课程,希望大家直接去Coursra新课程平台上去上课,这样会有更好的学习体验。最后特别说明的是,课程网盘资源仅供个人备份学习使用。

关于“Coursera课程下载和存档计划”,请参考:

  1. Coursera Downloader 下载工具
  2. Coursera课程速查表

以下是按几个类别整理的相关课程资源,相关信息我们也会同步到“Coursera Archive”项目上去:

机器学习相关课程:

1、斯坦福大学 Andrew Ng 机器学习 (Machine Learning)

该课程已经在Coursera新的课程平台上发布(https://www.coursera.org/learn/machine-learning),在线的课程资源依然会得到保留,优先推荐在线学习,可以做练习,可以提交作业,这里分享的百度网盘资源包含两个版本,来自于之前大家的分享:

链接: https://pan.baidu.com/s/1bBVtIQ 密码: 26hc

2、华盛顿大学 Pedro Domingos 机器学习 (Machine Learning)

该课程一直没有开课,但是可以preview,视频量很足,类容丰富,用Coursera Downloader下载后大约5G,是目前所有课程下载中占用空间最大的。

链接: https://pan.baidu.com/s/1o8meCps 密码: tekb

3、台湾大学 林軒田 机器学习基石 (Machine Learning Foundations)

该课程在课程图谱上的评价很高,10条评价全是五星,而且评论都很精彩。据说林老师现在创业去了,这门课说不定也会成为绝版,赶紧收藏吧,有三个版本,来自于之前大家的分享或者网上的公开资源。

链接: http://pan.baidu.com/s/1hsmAsNq 密码: kxfj

4、台湾大学 林軒田 机器学习技法(Machine Learning Techniques)

机器学习基石 (Machine Learning Foundations)课程姊妹篇,或者下部,难度依然很高,所以货真价实,值得收藏。

链接: http://pan.baidu.com/s/1bpHSAPD 密码: abye

5、多伦多大学 Geoffrey Hinton 面向机器学习的神经网络(Neural Networks for Machine Learning)

Geoffrey Hinton大神在Coursera上的这门课程只在2012年开过一轮,这次应该不会进行迁移了:

“Deep learning必修课”

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

看看上面的点评,对深度学习感兴趣的同学赶紧保存,本次分享包含两个版本,均为之前大家的分享:

链接: https://pan.baidu.com/s/1sl0R7PV 密码: k4ui

6、斯坦福大学 Daphne Koller 概率图模型公开课(Probabilistic Graphical Models)

这次应该也不会迁移了,想当年多少大神在Coursera上开课。。。本次分享有两个版本,来自于之前大家的分享和网络上的可查资源:

链接: https://pan.baidu.com/s/1hr4X2YS 密码: n5j9


自然语言处理相关课程

7、哥伦比亚大学 Michael Collins 自然语言处理公开课(Natural Language Processing)

NLP大神的课程,必须备份,来自之前一个朋友的分享:
链接: http://pan.baidu.com/s/1hsbKYK8 密码: ines

Update: 链接: https://pan.baidu.com/s/1c2JpM28 密码: 9dwx

8、斯坦福大学 Dan Jurafsky和Christopher Manning 自然语言处理(Natural Language Processing)

这门课程的授课老师是斯坦福教授Dan Jurafsky和Christopher Manning,两位都是NLP领域的大大牛,其他不说,仅仅是他们写的书应该是很多NLPer的入门书:前者写了《Speech and Language Processing》,中文译名《自然语言处理综论》,后者写了《Foundations of Statistical Natural Language Processing》,中文译名《统计自然语言处理基础》,这两本几乎是NLPer的入门必读书籍。

用coursera-dl下载了一份并上传到百度网盘备份,需要的同学尽快保存:

链接: http://pan.baidu.com/s/1jHKfXQm 密码: s6hx

Update: http://pan.baidu.com/s/1nvbEOFf 密码: pjzd

9、密歇根大学 Dragomir R. Radev Introduction to Natural Language Processing(自然语言处理导论)

这门课程了解不是太多,下载了一份作为备份:

链接: http://pan.baidu.com/s/1nu5MFVj 密码: 3t3h

10、伊利诺伊大学厄巴纳香槟分校 翟成祥(ChengXiang Zhai) Text Mining and Analytics(文本挖掘与分析)

这门课程已经切换到Coursera新课程平台:https://www.coursera.org/learn/text-mining ,最新一轮课程将于2016年7月11号开课,推荐感兴趣的同学直接在线学习,体验MOOC平台的诸多好处。

推荐系统相关课程:

11、明尼苏达大学 Joseph Konstan 和 Michael D Ekstrand Introduction to Recommender Systems(推荐系统导论)

这门课程已经切换到Coursera新课程平台:https://www.coursera.org/learn/recommender-systems ,最新一轮课程刚刚于2016年6月13号开课,推荐感兴趣的同学直接加入学习。以下提供一个网盘资源,是一个全部课程的打包压缩文件:

链接: http://pan.baidu.com/s/1pLy7uvL 密码: ui1u

数据挖掘相关课程

12、斯坦福大学 Jeff Ullman & Anand Rajaraman & Jure Leskovec Mining Massive Datasets

这门课程的授课老师之一是巨牛Jeff Ullman,他是计算机领域鼎鼎大名的“龙书”《编译原理》及数据库领域权威指南《数据库系统实现》这两本书的作者之一,谷歌创始人Sergey Brin亦是他的学生之一。该课程对应一个官方主页:http://www.mmds.org/,提供课程和书籍的相关资源,全部开放。所对应的同名书籍中文译名为《大数据 互联网大规模数据挖掘与分布式处理》,由王斌老师翻译,已出第二版。网盘资源来自于大家的分享,包括两个版本和一个英文版电子书籍:

链接: http://pan.baidu.com/s/1c81pRC 密码: e25n

13、伊利诺伊大学厄巴纳-香槟分校 Jiawei Han Pattern Discovery in Data Mining(数据挖掘中的模式发现)

授课老师 Jiawei Han 是数据挖掘领域国际知名学者,这门课程目前已经迁移到Coursera新的课程平台 https://www.coursera.org/learn/data-patterns ,新一轮课程将于8月底开课,感兴趣的同学可以关注。

14、伊利诺伊大学厄巴纳-香槟分校 Jiawei Han Cluster Analysis in Data Mining(数据挖掘中的聚类分析)

同上一门课程构成姊妹篇,目前也已经迁移到Coursera新的课程平台 https://www.coursera.org/learn/cluster-analysis ,新一轮课程将于10月初开课,感兴趣的同学可以关注。

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

本文链接地址:http://blog.coursegraph.com/coursera课程下载和存档计划三

Coursera课程下载和存档计划一:Coursera Downloader 下载工具

上周三收到Coursera平台的群发邮件,大意是Coursera将在6月30号彻底关闭旧的课程平台,全面升级到新的课程平台上,一些旧的课程资源(课程视频、课程资料)将不再保存,如果你之前学习过相关的课程,或者有心仪的课程,Coursera建议你将这些课程资源下载下来备份。

说实话,自从Coursera这一两年逐渐进行“商业升级”以后,我已经很少在这个平台上学习公开课了,反而是edX的一些课程更吸引我,特别是课程质量,后者显得更用心很多。不过作为最早的MOOC平台Coursera,曾经诞生了很多经典课程,要是这些课程真的随Coursera平台的切换而丢失,实在可惜。这里曾经整理过一批“公开课可下载资源汇总”,很多来自于大家的贡献和分享,不过这也是两三年前的事情,一些课程网盘资源已经失效,这封邮件促使我开始检查这些网盘资源,特别是来自Coursera平台的课程资源。之前有些课程资源没有下载或者没有网盘资源,以为只要有Coursera账号,就可以随时登陆上去在线观看就可以了,也没有下载的欲望,现在不同了,例如斯坦福大学Dan Jurafsky和Christopher Manning的自然语言处理课程,例如一直没有开课却可以preview观看的大牛Pedro Domingos的机器学习课程,下载和备份是必须的。

工欲善其事,必先利其器,针对Coursera的下载工具有很多,包括一些浏览器插件,不过这里推荐的是Python下载工具Coursera Downloader, 简称coursera-dl。这个神器早在几年前我就用过,印象深刻,这次重拾,依然非常方便给力。最简单的安装方法是“pip install coursera”,可参考github上该项目的安装说明。下面以Mac OS系统为例简单说明一下基于virtualenv的安装使用方法,该方法对ubuntu这样的linux系统应该有效,windows下没有测试,未知。

首先从github上获取代码,git clone或者直接下载zip源码文件均可:

git clone https://github.com/coursera-dl/coursera-dl

Cloning into ‘coursera-dl’…
remote: Counting objects: 3357, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 3357 (delta 6), reused 0 (delta 0), pack-reused 3343
Receiving objects: 100% (3357/3357), 1.39 MiB | 75 KiB/s, done.
Resolving deltas: 100% (1852/1852), done.

cd coursera-dl/

virtualenv my-coursera

New python executable in /Users/xxxxxx/project/mooc/test/coursera-dl/my-coursera/bin/python
Installing setuptools, pip, wheel…done.

source my-coursera/bin/activate

pip install -r requirements.txt

Collecting beautifulsoup4>=4.1.3 (from -r requirements.txt (line 1))
…..
Installing collected packages: beautifulsoup4, six, html5lib, requests, urllib3, pyasn1, keyring
Successfully installed beautifulsoup4-4.4.1 html5lib-1.0b8 keyring-9.0 pyasn1-0.1.9 requests-2.10.0 six-1.10.0 urllib3-1.16

安装完毕,以下是coursera-dl的详细用法:

General: coursera-dl -u -p modelthinking-004
Multiple classes: coursera-dl -u -p saas historyofrock1-001 algo-2012-002
Filter by section name: coursera-dl -u -p -sf “Chapter_Four” crypto-004
Filter by lecture name: coursera-dl -u -p -lf “3.1_” ml-2012-002
Download only ppt files: coursera-dl -u -p -f “ppt” qcomp-2012-001
Use a ~/.netrc file: coursera-dl -n — matrix-001
Get the preview classes: coursera-dl -n -b ni-001
Specify download path: coursera-dl -n –path=C:\Coursera\Classes\ comnetworks-002
Display help: coursera-dl –help

Maintain a list of classes in a dir:
Initialize: mkdir -p CURRENT/{class1,class2,..classN}
Update: coursera-dl -n –path CURRENT `\ls CURRENT`

我们以Coursera上密歇根大学的“自然语言处理入门”课程为例,在旧的课程课程主页“Introduction to Natural Language Processing”,首先需要加入(Enroll)该课程的一个班次,目前只有2015年10月到12月开过一轮课,加入该轮课程后,进入到课程详细页面,可以看到网页链接类似这个形式:

https://class.coursera.org/nlpintro-001/lecture

对于Coursera Downloader来说,主要需要的就是这个”nlpintro-001″课程班次短链接,然后就可以尝试下载了,这里用 –path指定了课程下载路径:

coursera-dl -u 用户邮箱 -p 用户密码 --path=../../coursera_backup/ nlpintro-001

然后就开始了下载历程。。。。。。可能和网络有关,这个下载有时候会中断或者停止不动假死,coursera-dl提供了一个“Resuming downloads”模式,类似于“断点续传”,非常有用,可以用如下命令恢复之前中断的下载:

coursera-dl -u 用户邮箱 -p 用户密码 --path=../../coursera_backup/ --resume nlpintro-001

这种加入课程然后下载课程资料的方法比较全,除了课程视频外,还可以下载课程相关的课件和字幕。如果你没有加入课程,Coursera Downloader提供了一个下载preview课程的方法,不过只能下载课程视频,但是前提是你必须有Coursera账号。以一直没有开课却可以preview观看的大牛Pedro Domingos的机器学习课程为例,点击该课程主页Machine Learning上的”Preview lectures”按钮,即可得到课程预览链接“https://class.coursera.org/machlearning-001/lecture/preview”,按照Coursera Downloader上的方法,需要预先在用户主目录下设置一个 ~/.netrc 文件,文件格式如下:

machine coursera-dl login 用户邮箱 password 用户密码

非常重要的是,你需要把设置一下 ~/.netrc 的权限:

chmod og-rw ~/.netrc

否则,会遇到如下的错误,我已经踩过这个坑了:

~/.netrc access too permissive: access permissions must restrict access to only the owner

之后就可以用如下命令下载preview的课程视频文件了:

coursera-dl -n -b --path=../../coursera_backup/ machlearning-001

希望大家用这个工具或其他工具尽快保存Coursera自己心仪的课程,如果方便的话,上传到相关的网盘,做个分享,一方面自己做个备份,另一方便方便大家共享学习资源。这里先附上已经整理的5门Coursera公开课资源,部分课程资源还在下载和上传中,之后将陆续整理发布。

1、机器学习课程 by Andrew Ng

该课程已经在Coursera新的课程平台上发布(https://www.coursera.org/learn/machine-learning),在线的课程资源依然会得到保留,这里分享的百度网盘资源包含两个版本,来自于之前大家的分享:

链接: http://pan.baidu.com/s/1miMZHQo 密码: aeck

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

Geoffrey Hinton大神在Coursera上的这门课程只在2012年开过一轮,这次应该不会进行迁移了:

“Deep learning必修课”

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

看看上面的点评,对深度学习感兴趣的同学赶紧保存,本次分享包含两个版本,均为之前大家的分享:

链接: http://pan.baidu.com/s/1sk9cgK9 密码: ndm9

3、Daphne Koller教授的“概率图模型公开课(Probabilistic Graphical Models)

这次应该也不会迁移了,想当年多少大神在Coursera上开课。。。本次分享为之前一个朋友的共享:

链接: http://pan.baidu.com/s/1kVpRMKn 密码: 244s

4、Michael Collins大神的“自然语言处理公开课(Natural Language Processing)

NLP大神的课程,必须备份,来自之前一个朋友的分享:

链接: http://pan.baidu.com/s/1kV72IhT 密码: fxjw

5、斯坦福大学Dan Jurafsky和Christopher Manning两位大牛的“自然语言处理公开课(Natural Language Processing)

这门课程的授课老师是斯坦福教授Dan Jurafsky和Christopher Manning,两位都是NLP领域的大大牛,其他不说,仅仅是他们写的书应该是很多NLPer的入门书:前者写了《自然语言处理综论》,后者写了《统计自然语言处理基础》。

我用coursera-dl下载了一份并上传到百度网盘备份,需要的同学尽快保存:

链接: http://pan.baidu.com/s/1hrGMbkg 密码: a2w5

附Coursera邮件内容:

Save course materials for some courses by June 30

Dear XXX,

We wanted to inform you of an update to our technology platform that will affect access to some courses you previously joined.

In 2014, Coursera began developing a new technology platform to improve your learning experience, and to allow courses to run more frequently. The majority of our courses are now offered on the new platform.
This month, we are closing the old platform. One or more courses you joined are on the old platform.
Effective June 30, 2016, courses on the old platform will no longer be available. You should use this opportunity to save any relevant course materials or assignments.

How does this affect my courses?

Any courses and course materials on our old platform will no longer be accessible after June 30. Until that date, we encourage you to save any content you need for personal use and reference.
Any courses on the new platform will not be affected by this change.

Will this affect earned Certificates?
All Statements of Accomplishment (SoA) and Verified Certificates will remain accessible in your Accomplishments page, as long as you do not unenroll from courses you have completed on the old Cplatform. You are also welcome to download a copy for your records at any time. Statements and Certificates that you have shared to LinkedIn will also be maintained on your LinkedIn profile after June 30.

How do I know if a course is on the “old platform”?

If you aren’t sure which platform a course is on currently, navigate to the course and check the URL in the browser bar – courses on the old platform have URLs that begin with class.coursera.org (rather than then new platform, which uses the URL coursera.org/learn.)

How do I save course materials?

To save course materials from the old platform for reference:
• Download any lecture slides or videos that you would like to save for reference
• Save a record of your quizzes and other assignments by taking screenshots

More questions?

If you have a technical issue with your account, please visit our Help Center.
Thank you for being a part of our learning community, and for your patience and understanding through this product transition! We are excited to continue to improve the learning experience on Coursera, and we look forward to bringing you more great courses on the new platform.

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

本文链接地址:http://blog.coursegraph.com/coursera课程下载和存档计划一

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年一月份开设课程汇总

2013年,MOOC开始进入人们的视野,2014年将是MOOC正式全面爆发的一年。

2014年一月已经确定会有多门课程即将开设,鉴于内容之多已经可以用“狂轰滥炸”来形容,课程图谱为大家进行简单的梳理,大家根据自己的需要挑选心仪的课程吧

介绍的重点主要还是以计算机科学和数学相关的课程为主:

Coursera平台

1.  斯坦福大学的 Cryptography i ,开课时间:1月6日

这门课程在 Coursera 上开课次数非常高,据说现在已经开到第9轮:

@ffffffoouddddd: 过几天要开始新的一轮了,感觉完成还没多久。不过之前都没做编程题,这次得把编程题做了。这门课理论性很强,到后面基本上都没有 in-video quiz 了。这门课是分类在 CS: Theory 下的。期末考试有点难,因为和之前的作业很不一样。

@Candy的爸爸: Stanford的密码学线上课程,主讲Dan Boneh非常给力,语速很快,是密码学界的大牛。每周的课程内容很多,主要讲了密码学的原理,包括流密码、对称密码、非对称密码,加密认证、完整性算法等。课程内容很值得推荐。我花了非常多的时间来学这门课。准备上7月份的Cryptography II。(注:Cryptography II其实已经跳票多次了,虽然官网上已经确定明年春季会开,不过是否还会跳票至今还是未知)

2. 伊利诺伊大学香槟分校的 Heterogeneous Parallel Programming 开课时间:1月6日

@wzyer: 就是讲CUDA的,额……不知为啥听过几个亚洲人的课都觉得不够给力。这个课……还行吧,学到了CUDA的基础知识,几个编程作业也还不错。不过算不上精品。个人觉得学习CUDA还是Udacity上那个课比较好。
@yongsun: 对GPU编程的各种principles和best practices有不错的介绍,不过老师讲的不是很流畅,PA的环境(特别是评分系统)也颇受诟病,希望后期有更好的改进…

3. 香港中文大学的Information Theory 开课时间:1月6日

信息论的运用相当广泛,在通信以及密码学领域都有实际运用,对于有一定数学基础的朋友可以关注。

4.巴黎中央理工学院的Discrete Inference and Learning in Artificial Vision 开课时间:1月10日

这门课的讲师Nikos Paragios是这个领域的知名专家,感兴趣的朋友可以关注

5. 华盛顿大学的Computational Neuroscience 开课时间:1月10日
该门课程的讲师Rajesh P. N. Rao还因为成功将大脑与电脑链接而成为一时的新闻话题(新闻链接:华盛顿大学成功实现人脑至人脑信号传输

@要有光LTBL: 印度老师很幽默,女老师有点像冷血女杀手酷酷的感觉。。。
讲得很细致,尤其指出了现有神经网络模型和人脑之间的一些区别,我觉得在这方面改进可能是未来的发展方向?
我还是很喜欢这个领域的。另外发现UWashington的几门CS课质量都相当高啊。。。

6.宾夕法尼亚大学的Calculus: Single Variable 开课时间:1月10日
该课曾在2013年年初通过美国官方ACE认证,成为承认学分的课程

@基佬的愛__:这门课讲数列和级数,相同的内容 Robert Ghrist 的 Calculus: Single Variable 也涉及到了。Jim 讲的要比 Robert 要细致,比如一些数列和级数的收敛性的测试定理,Jim 会花一整个 lecture 讲推导过程, Robert 讲的没那么详细。另外整门课我最喜欢的一个 lecture 是关于 Taylor series 那节,Taylor Series 的 motivation 就是 approximation ,实际上他是 linear approximation 的推广,对某个函数在某点做 Taylor expansion 实现上就是找一个函数,使他在该点的值和原函数相等,并且该点的每一阶导数也和原函数的每一阶导数相等,导数反映的是函数的变化情况,这样我们就找到了一个和原函数在某个区间内相同的函数,说在某个区间内是因为有一个收敛性的问题。我可能记不住 Taylor series 的公式,不过我已经随时能把 Taylor series 推导出来了。还有个很有意思的 lecture,为了说明 geometric series 的收敛性,Jim 举了个造桥的问题,用质量均匀分布、形状相同的长木条造桥,最多能造多远?答案是理想状况下,想多远就多远。只要我们把每一块木条放在下一堆木条的重心处就能保证它不倒,然后你会发现每次增加的长度加起来正好构成一个不收敛的级数,Jim 自己造了这么一座很壮观的桥,你能看到这门课课程介绍的图片就是这样一座桥,实际上 lecture 里 Jim 造的那座还要壮观,比课程介绍里的那座要更长。总体来说这门课内容不多、难度不大、(不过我之前已经上过 Robert 的课,并且自学过一些其他的数学)、占用的时间不多,我基本看完视频就马上能把作业完成,不过这门课还是很有启发性的,有很多有意思的东西,Jim 在课程讨论版里也是一如既往的 supportive。另外这门课也有一本配套的免费教材。

7.爱丁堡大学的Artificial Intelligence Planning 开课时间:1月13日

@wzyer: Planning嘛,看到题目就想到了A*。不过学过这门课了才发现实际应用中的算法还是很多的,除了状态空间搜索,还有策略空间搜索等等很多办法。这门课程的内容很多,视频量很大,我险些就放弃了。但是作业倒不多,作业和考试挺有挑战性的。

8. 杜克大学的Image and video processing: From Mars to Hollywood with a stop at the hospital 开课时间:1月20日
对通信和计算机视觉领域感兴趣的朋友可以关注

@freealbert:这门课定位应该是图像处理的入门课程, 内容很全面也很鲜活,从灰度,像素等的最基础的知识一直讲到如今在学术界大红大紫的稀疏表示。Slide和Demo演示都很赞,相信应该能激起很多人对图像处理的兴趣,K-SVD算法就是在他的课上搞明白的。 关于授课老师, Sapiro本人是图像处理的大牛, 光在IEEE上就有文章150余篇, 在PDE和小波方面都有很大的贡献.

9. 莱斯大学的Fundamentals of Electrical Engineering 开课时间:1月20日

@wzyer:课程本身还不错,教授满头白发也很让人尊敬。不过,内流满面的说,他讲的太快了……一门导论课,他从电路基础讲到通信技术,内容很多,速度很快,想深入理解的话课下还得花不少时间……我就那么囫囵吞枣的过了。作业和考试评分系统也经常有点bug啥的。

10. 马里兰大学的Programming Mobile Applications for Android Handheld Systems 开课时间:1月21日
该门课程是Coursera平台上第二门有关Android开发的课程,对移动App开发感兴趣的朋友可以关注一下这门课程

11. 普林斯顿大学的Algorithms, Part I 开课时间:1月23日
数据结构大师Sedgewick的名著Algorithm 4th的配套课程,对于希望能够锻炼扎实数据结构基本功的朋友不要错过这门课程

@培翔-_-:lectures本身4分差不多了 算深入浅出 但是assignment必须5分+
各种内存、性能优化 爽到爆
@wzyer:很好的课程!老师充分展示了名家风范。内容系统,结构紧凑。示例代码简洁清晰。更难得的是作业题目非常有意义,评分脚本很完善。是我上过的课中作业部分最好的了。
@ecluzhang: 这门课分上下两部分。6周跟完了,这个上部分是一个非常浅显易懂的算法入门,基本功方面非常清晰。
前面介绍完算法及分析方法之后,后面每个算法都用思路+动态demo+代码片段+复杂度分析的方式。
值得一提的是代码片段,虽然是java描述但也很简洁,视频里则多了一些java相关的东西(比如assert是什么啊、java有哪些接口会在代码段里用到啊),估计是出于入门的定位。但对于不用java编程的来说就显得有些多余。

12.华盛顿大学的Computer Networks 开课时间:1月24日

@wzyer: 这门课是现今所有mooc平台上最全面的一门介绍计算机网络的课程。课程以网络的OSI七层模型为主线,全面覆盖了支撑现有互联网的各种基础架构和协议。其中又有重点地讲解了 TCP/IP,HTTP,802.11等常用基础协议,目的是使所有上完课的同学,都能够对于数字信号如何在网络上传播有一个清晰的认识。就我自己上完课的感受来说,这门课完全能够完成这个任务。

不过,如果从讲解和交互性上来说,这门课还是难以与一些精品课程相媲美,只能算是一般水平。老师对于各个问题的讲解基本遵循了“提出问题-》解决方案-》应用实例”的顺序,所举的小例子也足够简单清晰,所以不会出现难于理解的情况。但是从交互性和趣味性上说,有意思的讲解不多,也没有什么特点突出的、有趣的内容来让人加深理解。因此上课的时候常常让人觉得乏味。个人认为这一点以后还有很大的改善空间。

其实说这门课程很无趣也并不准确。整个课程里还是时常会有有趣的事情发生,比如空中飞来飞去的小花盆,比如在老师背后扮鬼脸的吃货小萝莉。好吧……也许有人会喜欢这个。不过这个确实……确实和主题关系不大。只这能算是为课程增添一点有趣的小插曲。

这门课的作业分为两个部分,一部分是选择填空题,这部分的分数和最后的证书密切相关;另一部分则是编程和一些网络工具的使用,这个不计分,只是帮助加深理解。由于时间关系,我上课的时候并没有完成第二部分。但我仍然强烈建议想认真学习这门课程的同学去完成编程以及网络工具使用这一部分。虽然这里不算分,但对于课程内容的理解是大有裨益的。

最后该说说老师了,David Wetherall 是计算机网络方面的专家。也是著名的计算机网络教材:Computer Networks的作者之一。这本教材在Amazon上评分是3.9分,要高于著名的SICP,当然和一些大牛的接近5分的经典巨著没法比,不过也绝对够得上好书的标准了。而且他作为老师所讲授过的课程全部是计算机网络相关的,可谓相当专一。因此,完全不用怀疑老师的专业性。

最后,我把这门课推荐给想了解计算机网络的相关知识的同学,也许它算不上很深入,但绝对能为你以后的深入学习打下坚实的基础。

@超級現實的超現實理想主義者:内容覆盖非常全面的一门课,可以看出老师的用心。不过正如@wzyer 所说的:“提出问题-》解决方案-》应用实例” 的授课方式,这门课还是显得比较传统,虽然老师的授课水平不用质疑,但是交互体验还是有点欠缺,毕竟计算机网络是一门偏重工程的课程,如果在Link Layer以上的部分能够将一些概念通过现实中的工具进行演示效果可能会更好一点。可能老师也发现了这个问题,于是大家就看到了老师和他的家人为此作出的努力(看过视频大家就知道我在说什么了,哈哈)
另外值得称赞的是老师在课堂论坛社区里也很积极的与学员互动,常常能很快给出反馈

@要有光LTBL:讲的清楚明白,quiz什么的涉及的也挺合理,别的也没啥可说的。。。顺便我也没做编程作业= =

13. 巴黎中央理工学院的An Introduction to Functional Analysis 开课时间:1月27日
对泛函分析感兴趣的朋友不要错过了

OpenEdx平台
1.哈佛大学的Introduction to Computer Science 开课时间:1月1日

2. 斯坦福大学的Introduction to Databases 开课时间:1月7日

3. UTAustin的Linear Algebra – Foundations to Frontiers 开课时间:1月15日
对于线性代数感兴趣,希望通过编程动手理解的朋友们不要错过这门课程

4.斯坦福大学的StatLearning: Statistical Learning 开课时间:1月21日
统计机器学习,经典教材Elements of Statistical Learning 的作者亲自出马讲解,本课还会提供免费配套教材 An Introduction to Statistical Learning, with Applications in R 对统计学、机器学习感兴趣的朋友千万不要错过!

5.斯坦福大学的Convex Optimization 开课时间:1月21日
优化领域的大师Stephen Boyd亲自出马授课,千万不要错过!

Udacity平台
全世界第一个通过MOOC平台实现的硕士生项目OMSCS(Online Master of Science in Computer Science)将于明年一月正式开课,以下列出了1月将在该项目中开设的课程:
1. CS 6210, Advanced Operating Systems
2. CS 6250, Computer Networks
3. CS 6300, Software Development Process
4. CS 7641, Machine Learning
5. CS 8802, Artificial Intelligence for Robotics: Programming a Robotic Car
(详细信息:OMSCS:Program Information

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

本文链接地址:http://blog.coursegraph.com/2014年一月份开设课程汇总