Kaggle 官网课程:从 Python 到机器学习

Kaggle 官网发布了一套完整的 Python 免费微课 ——课程特色:快速上手,在线练习,社区讨论。一共 12 门课,包括一节测试课。课程的设置是以实用为导向,按照数据项目所需要的核心技能来分小节,保证学完就能用,让学时间习性价比最大化。Python,机器学习入门,中极机器学习,数据可视化,Pandas,特征学习,深度学习,SQL 入门,SQL 进阶,地理空间分析,机器学习可解释性。

Kaggle Learn - Faster Data Science Education
Kaggle Learn – Faster Data Science Education

吴恩达新课上线:TensorFlow 移动和 Web 端机器学习

大家都很熟悉吴恩达了。他开设的 Coursera 机器学习课程可以说是很多初学者的「白月光」。近日,他创始的 deeplearning.ai 在 Coursera 上另外开设了一门课程 ——《TensorFlow: Data and Deployment Specialization》,主要介绍使用 Tensorflow.js、TensorFlow Lite、TensorFlow Hub 等工具进行数据分析的方法。该专项课程已于今日开放注册。吴恩达对课程进行了转推。

TensorFlow 是深度学习中最著名的框架之一,绝大多数人都已经掌握了基本的使用方法。如果要更上一层楼,选择本课程无疑是一个好方法。据介绍,这门课程可以帮助学习者了解很多应用场景,并发现训练模型中的高效方法。

该专项课程总共分为四个部分,主旨在于帮助学习者了解如何让机器学习模型从实验阶段走向实际应用。首先,你可以了解到在浏览器和移动设备中训练模型。同时,你可以学习如何仅用几行代码使用内置数据集、完成数据分割和处理各种非结构化数据的工作。最后,你还能了解很多应用场景,并了解 TensorFlow Serving、TensorFlow Hub、TensorBoard 等。

免费开源 Nginx 电子书

Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。最近,O’Reilly 出版了《NGINX Cookbook》第二版,通过这本书,你将学到:

  • 如何配置内容缓存,负载平衡,监视,高可用性(HA);
  • 如何实现 Nginx 集群服务器的负载均衡以及其他 Nginx 重要功能;
  • 如何保护你的应用程序:缓解 DDoS 攻击,基于 HTTP 的第 7 层攻击,以及使用 OpenID 配置单点登录;
  • 如何在 AWS,Azure 和 GCP 中部署 Nginx 和 Nginx Plus;以及 Docker 容器中;
  • 如何使用 Nginx 监控和诊断应用程序性能;

GitHub地址项目 GitHub 地址

《交互式线性代数》开放课程

线性代数是机器学习的基础性内容。而一般线性代数教程大多是照本宣科。最近佐治亚理工发布《交互式线性代数》教程开源书,提供了动态交互平台 —— 提供了 140 多个交互演示程序,可以让读者直观地理解代数背后的几何性质,使线性代数更加爱通俗易懂,帮你快速学习线性代数。

交互式演示:查看方程与曲线变化情况
交互式演示:查看方程与曲线变化情况

GitHub地址项目 GitHub 地址

吴恩达《Machine Learning》课程笔记

吴恩达在 Coursera 上开设的《Machine Learning》课程。这门课最大的特点就是基本没有复杂的数学理论和公式推导,非常适合入门!本课程将广泛介绍机器学习、数据挖掘和统计模式识别。相关主题包括:

  1. 监督式学习(参数和非参数算法、支持向量机、核函数和神经网络)。
  2. 无监督学习(集群、降维、推荐系统和深度学习)。
  3. 机器学习实例(偏见/方差理论;机器学习和 AI 领域的创新)。

课程将引用很多案例和应用,您还需要学习如何在不同领域应用学习算法,例如智能机器人(感知和控制)、文本理解(网络搜索和垃圾邮件过滤)、计算机视觉、医学信息学、音频、数据库挖掘等领域。

这门课基本涵盖了机器学习的主要知识点,例如:线性回归、逻辑回归、支持向量机、神经网络、K-Means、异常检测等等。而且课程中没有复杂的公式推导和理论分析。Ng 的目的是让机器学习初学者能够快速对整个机器学习知识点有比较整体的认识,便于快速入门。

这门课的笔记网上有很多,但今天推荐一份不错的全面的笔记。该笔记的特点是所有内容都是基于 Jupyter Notebook 写的,集图片、公式、代码、练习题于一体,非常方便实用!另外,这门课配套相应的练习题。Github 上已经有人把作业整理成为 Python 的形式了。有 .py 和 .ipynb 两种格式。

https://github.com/nsoojin/coursera-ml-py

https://github.com/kaleko/CourseraML 

GitHub地址项目 GitHub 地址

 

《统计学习方法》第 2 版课件 + 算法实现代码

李航的《统计学习方法》(GitHub 地址)可以说是机器学习的入门宝典,许多机器学习培训班、互联网企业的面试、笔试题目,很多都参考这本书。该书从 2005 年开始写作一直到 2012 年完成,包含了众多主要的监督学习算法与模型。今年,《统计学习方法》第二版正式发布,通过 6 年时间的努力,在第一版的基础上又增加了无监督学习的主要算法与模型。

这里插入个图表,列举了各个章节所占篇幅,其中 SVM 是监督学习里面占用篇幅最大的,MCMC 是无监督里面篇幅占用最大的,另外 DT,HMM,CRF,SVD,PCA,LDA,PageRank 也占了相对较大的篇幅。
这里插入个图表,列举了各个章节所占篇幅,其中 SVM 是监督学习里面占用篇幅最大的,MCMC 是无监督里面篇幅占用最大的,另外 DT,HMM,CRF,SVD,PCA,LDA,PageRank 也占了相对较大的篇幅。

《统计学习方法》第二版的最新课件,是由清华大学深圳研究院的袁春教授制作的。

所有的课件都是 PPT 格式,总共包含 22 章。正好是《统计学习方法》第 2 版的完整内容。

其中,第 1 章至第 12 章主要是《统计学习方法》第一版的内容。主要介绍统计学习及监督学习概论、感知机、近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM 算法及其推广、隐马尔可夫模型、条件随机场、监督学习方法总结。

第 2 版增加的新内容包括:

  • 第 13 章 – 无监督学习概论
  • 第 14 章 – 聚类方法
  • 第 15 章 – 奇异值分解
  • 第 16 章 – 主成分分析
  • 第 17 章 – 潜在语义分析
  • 第 18 章 – 概率潜在语义分析
  • 第 19 章 – 马尔可夫链蒙特卡罗法
  • 第 20 章 – 潜在狄利克雷分配
  • 第 21 章 – PageRank 算法
  • 第 22 章 – 无监督学习方法总结
整个这本书里面各章节也不是完全独立的,这部分希望整理章节之间的联系以及适用的数据集。算法到底实现到什么程度,能跑什么数据集也是一方面。
整个这本书里面各章节也不是完全独立的,这部分希望整理章节之间的联系以及适用的数据集。算法到底实现到什么程度,能跑什么数据集也是一方面。

最后,Github 上有同学将第一版相关的机器学习算法用 Python 实现了一遍,致力于将李航博士《统计学习方法》一书中所有算法实现一遍。

GitHub地址项目 GitHub 地址

机器学习的数学基础

此前,跨象乘云™ 曾发布过由 Marc Peter Deisenroth,A Aldo Faisal 和 Cheng Soon Ong 撰写的《机器学习数学基础》。这个是从大学教材里搜集的机器学习数学基础资料,分为高等数学,线性代数、概率论与数理统计三部分。另外包括了斯坦福大学 CS 229 机器学习课程的基础材料,难度应该在本科 3 年级左右。数据科学需要一定的数学基础,但仅仅做应用的话,如果时间不多,不用学太深,了解基本公式即可,遇到问题再查吧。

GitHub地址项目 GitHub 地址

微软官方教程:在 Windows 进行 Python 开发

在 Windows 上做 Python 开发太痛苦?微软最近发布了一系列官方教程,这些教程将指导使用者如何设置开发环境、是否在原生 Windows 或 Windows Subsystem for Linux (WSL) 系统上安装自己的工具,以及如何集成 VS Code、Git 等工具。

具体教程如下所示:

  • 初学者在 Windows 上使用 Python 的教程
  • Web 开发者在 Windows 上使用 Python 的教程
  • 在 Windows 上使用 Python 编写脚本和自动执行文件系统操作
  • 在 Windows 上使用 Python 执行机器学习任务
在 Windows 进行 Python 开发
在 Windows 进行 Python 开发

 

Joshua Gordon《TensorFlow 2.0讲解》PPT

Tensorflow2.0 对于新手来说更为易用,而对于老手来说,功能更为强大,Josh Gordon 为我们介绍了TensorFlow2.0  的一些新的特征与使用技巧。

在构建模型方面,针对不同的使用人群,TensorFlow2.0 提供了不同层面的 API,针对刚接触 TensorFlow 的新手,提供了Sequential API, 针对工程师,开放了 FunctionalAPI 与 build-in 层,针对有更高需求的工程师,开放了 FunctionalAPI 与可定制的层,评估指标,损失函数等,而针对科研工作者,开放了 Subclassing,可以定制一切函数。

在训练模型方面,从简单到复杂也分很多层次。从快速实验的 model.fit(),到定制回调函数 callbacks,到定制训练循环 batch (使用 GAN 时很有效),到完全定制训练过程,包括优化算法等 (GradientTape).

在数据方面,提供了 tensorflow_datasets,能够轻松地加载数据集。

在并行训练方面,得益于分布式策略,无需改变代码,就可以在多台机器、多个 GPU 上训练(MirroredStrategy, MultiWorkerMirroredStrategy)。

教程最后还介绍了两个项目:TinyML: 轻量级的机器学习项目 与 TF.js.

Joshua Gordon 《TensorFlow 2.0讲解》

零基础入门PyTorch深度学习

Pytorch 是 Torch 的 Python 版本,是由 Facebook 开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(Tensor )库,在机器学习和其他数学密集型应用有广泛应用。与 Tensorflow 的静态计算图不同,Pytorch 的计算图是动态的,可以根据计算需要实时改变计算图。

Vipul Vaibhaw 在 Github 开源了一份关于 Pytorch 深度学习的书册,《First steps towards Deep Learning with PyTorch》,这是一本关于深度学习的开源书籍。这本书应该是非数学的,迎合了那些没有深度学习经验,数学知识和兴趣很少的读者。这本书旨在帮助读者迈出深度学习的『第一步』。

主要内容覆盖了:

  1. 理解人工神经网络
  2. PyTorch 介绍
  3. 如何让计算机看见?
  4. 如何让计算机记忆?
  5. 下一步学习

GitHub地址项目 GitHub 地址