推荐一份绝佳的机器学习入门完备资料

机器学习、深度学习如何更好、更有效率地学习?不外乎两点:一是需要一份较完备的入门路线;二是教程与代码相结合提升学习效率。今天给大家推荐一份绝佳的机器学习入门完备资料,内容丰富、结合了教程与代码,而且通俗易懂,非常适合快速学习!
首先附上这份指南的 GitHub 地址:
https://github.com/machinelearningmindset/machine-learning-course

简介

这份指南主要是提供一个全面而简单的使用 Python 的机器学习课程。机器学习作为人工智能的工具,是应用最广泛的科学领域之一。大量关于机器学习的文献已经发表。这个项目的目的是通过展示一系列使用 Python 的简单而全面的教程来提供机器学习的最重要方面。在这个项目中,我们使用许多不同的众所周知的机器学习框架(如 scikit-learn)构建了我们的教程。在这个项目中,你将学到:
  • 机器学习的定义是什么?
  • 什么时候开始的,什么是趋势演变?
  • 什么是机器学习类别和子类别?
  • 什么是最常用的机器学习算法以及如何实现它们?
这份指南的目录如下:
  • 机器学习基础
    • 线性回归
    • 过拟合/欠拟合
    • 正则化
    • 交叉验证
  • 监督式学习
  • 决策树
  • kNN
  • 朴素贝叶斯
  • 逻辑回归
  • 支持向量机
  • 聚类
  • 主成分分析 PCA
  • 神经网络概述
  • 卷积神经网络
  • 自编码器
  • 循环神经网络
  • 非监督式学习
  • 深度学习
下面我们来具体看一下这份指南!

1. 机器学习基础


这部分主要包含了一些机器学习的基础知识,包括线性回归、过拟合/欠拟合、正则化和交叉验证。

每个知识点不仅包含了理论解释,也有全面的代码讲解。例如线性回归部分:

线性回归的示例代码:
import matplotlib.pyplot as plt import seaborn as sns from sklearn import datasets, linear_model from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split # Create a data set for analysis x, y = make_regression(n_samples=500, n_features = 1, noise=25, random_state=0) # Split the data set into testing and training data x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0) # Plot the data sns.set_style("darkgrid") sns.regplot(x_test, y_test, fit_reg=False) # Remove ticks from the plot plt.xticks([]) plt.yticks([]) plt.tight_layout() plt.show() 

2. 监督式学习


这部分主要包含了一些机器学习中的监督式学习,包括决策树、kNN、朴素贝叶斯、逻辑回归、支持向量机。

例如支持向量机部分的详细介绍:

支持向量机的示例代码:
# All the libraries we need for linear SVM import numpy as np import matplotlib.pyplot as plt from sklearn import svm # This is used for our dataset from sklearn.datasets import load_breast_cancer # ============================================================================= # We are using sklearn datasets to create the set of data points about breast cancer # Data is the set data points # target is the classification of those data points. # More information can be found athttps://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html#sklearn.datasets.load_breast_cancer # ============================================================================= dataCancer = load_breast_cancer() # The data[:, x:n] gets two features for the data given. # The : part gets all the rows in the matrix. And 0:2 gets the first 2 columns # If you want to get a different two features you can replace 0:2 with 1:3, 2:4,... 28:30, # there are 30 features in the set so it can only go up to 30. # If we wanted to plot a 3 dimensional plot then the difference between x and n needs to be 3 instead of two data = dataCancer.data[:, 0:2] target = dataCancer.target # ============================================================================= # Creates the linear svm model and fits it to our data points # The optional parameter will be default other than these two, # You can find the other parameters at https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html # ============================================================================= model = svm.SVC(kernel = 'linear', C = 10000) model.fit(data, target) # plots the points plt.scatter(data[:, 0], data[:, 1], c=target, s=30, cmap=plt.cm.prism) # Creates the axis bounds for the grid axis = plt.gca() x_limit = axis.get_xlim() y_limit = axis.get_ylim() # Creates a grid to evaluate model x = np.linspace(x_limit[0], x_limit[1], 50) y = np.linspace(y_limit[0], y_limit[1], 50) X, Y = np.meshgrid(x, y) xy = np.c_[X.ravel(), Y.ravel()] # Creates the decision line for the data points, use model.predict if you are classifying more than two decision_line = model.decision_function(xy).reshape(Y.shape) # Plot the decision line and the margins axis.contour(X, Y, decision_line, colors = 'k', levels=[0], linestyles=['-']) # Shows the support vectors that determine the desision line axis.scatter(model.support_vectors_[:, 0], model.support_vectors_[:, 1], s=100, linewidth=1, facecolors='none', edgecolors='k') # Shows the graph plt.show() 

3. 非监督式学习


这部分主要包含了一些机器学习中的非监督式学习,包括聚类、主成分分析 PCA。

指南同样包含了各个算法的理论介绍和 Python 代码实现两大部分。

4. 深度学习


这部分主要介绍的是深度学习知识,包括神经网络概述、卷积神经网络、自编码器、循环神经网络。

这部分对深度学习与神经网络作了详细的介绍,例如神经网络的反向传播:

更多精彩内容,等待你去发掘~

在线指南

这份机器学习完备教程除了在 GitHub 上发布之外,作者也公布了该教程的在线阅读地址:
https://machine-learning-course.readthedocs.io/en/latest/index.html#

在线阅读,体验感爆棚有没有?一份不错的机器学习入门教程,赶快去尝鲜吧~

用户喜欢...

9个机器学习成功案例的内部视角

人工智能(AI)和机器学习(ML)曾经被认为是企业的空头支票之类的项目,如今已经成为应用主流。 越来越多的企业正在利用这种模仿人类思维行为的技术来吸引客户,并加强业务运营。 在调研机...


为什么物联网需要人工智能才能成功?为什么机器学习很重要?

物联网将产生海量数据这些数据可以帮助城市预测事故和犯罪;让医生实时了解起搏器或生物芯片的信息;通过对设备和机械进行预测性维护,实现跨行业的最佳生产效率;创建真正智能的家用电...


未来3-5年内哪个方向的机器学习人才紧缺?

基本简介 撇开学术界需求因为大部分人最终不会从事算法研究,而会奋斗在一线应用领域。相较而言,工业界对人才的需求更加保守。这受限于很多客观因素,如硬件运算能力、数据安全、算...


阿里巴巴实验:机器学习如何将生产率提高70%

机器学习和人工智能可以为仓库管理带来什么? 对于真正愿意接受技术新发展的行业,机器学习和人工智能可以是革命性的。它实际上意味着机器人能够承担通常分配给人类的任务。这种技术...


AI 圣经 PRML《模式识别与机器学习》官方开源了!

红色石头相信任何一个搞机器学习、深度学习的人都应该听说过一本经典教材:《Pattern Recognition and Machine Learning》,中文译名《模式识别与机器学习》,简称 PRML。出自微软剑桥研究院实验室...


Python 为基础的机器学习实战编程书籍:《机器学习实战》+ 源代码下载

给大家介绍一本以 Python 为基础的机器学习实战编程书籍:《机器学习实战》。 本书特色: 本书的目录如下: 本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了...


16 张机器学习速查表,值得收藏!

在机器学习、深度学习研究中,优秀的参考资料和手册往往能够助我们事半功倍!今天给大家推荐一个在 GitHub 上非常受欢迎的项目:cheatsheets-ai,涉及 AI 领域完整的速查表。目前,该项目已收...


中文版 火爆 GitHub 的《机器学习 100 天》

给大家介绍一个在 GitHub 上非常火的机器学习实战项目,叫做 100-Days-Of-ML-Code,中文名为《机器学习 100 天》。目前该项目已经收获了 1.7w stars 了。下面是项目地址: https://github.com/Avik-Jain/100-D...


吴恩达在斯坦福开设的机器学习课 CS229

,是很多人最初入门机器学习的课,历史悠久,而且仍然是最经典的机器学习课程之一。当时因为这门课太火爆,吴恩达不得不弄了个超大的网络课程来授课,结果一不小心从斯坦福火遍全球,...


2019 年最佳机器学习和深度学习书籍的名单

想入门深度学习吗?我尽了我最大的努力整理了这份知识清单。希望能够节省你的时间,对你有所帮助。 这里是 2019 年最佳机器学习和深度学习书籍的名单: 《深度学习》by Ian Goodfellow, Yoshu...


李宏毅上线了 2019 最新版的机器学习课程,授课语言为中文,且全部开放了课程视频

吴恩达、李飞飞、林轩田,他们的机器学习、深度学习公开课都干货满满,惠及很多学者。而另外一位大咖李宏毅,其语言幽默风趣、内容丰富,教授的机器学习公开课更让大家喜爱、受益良多...


快速高效地实施网络边缘机器学习

机器学习正在从云端转移到网络边缘,目的是进行实时处理、降低延迟、提高安全性、更高效地使用可用带宽以及降低整体功耗。而处于这些边缘节点上的物联网 (IoT) 设备只有有限的资源,因...


IMU:通过机载机器学习让您的主人入睡

惯性测量单元(IMU)广泛用于从加速度计,陀螺仪和其他传感器提供稳定的多轴位置信息流。利用所有生成数据的多自由度(DOF),来自这些设备的合并数据流可以使系统处理器保持恒定的唤醒...


面向机器学习和通信的嵌入式FPGA优化

我回到了Burrous B 5500和IBM 360大型机,所以图表 (图1) 在里面 阿克罗瓦氏 包括vax-11/780的Speedcore第4代演讲吸引了我的眼球。该图突出了90年代业绩的加速增长和世纪之交后的平稳增长。我们现在正...


边缘机器学习将AI带入物联网

将机器学习添加到边缘网络可以释放物联网分析和决策的真正潜力。 机器学习可以成为大量数据的强大分析工具。 机器学习和边缘计算的结合可以过滤物联网设备收集的大部分噪声,并使相关...


人工智能(AI) 能做什么,做不到什么

人工智能终于成真,并即将对商业产生深远的影响。但它并不是魔法,因此,本文说明对你的组织来说,人工智能能...