主要记录散人学习TensorFlow的历程。文章搬至https://developers.google.cn/machine-learning/crash-course/prereqs-and-prework,加上散人的理解。google上好多内容链接都是英文的,虽说IT码农必须会一些英语,但是为了自己方便,后续我会找一些中文资料来替换原有的英文材料。
在写这篇博客前,散人对机器学习知之甚少。
(以下为文章拷贝)
在开始机器学习速成课程之前,请先阅读下面的前提条件和准备工作部分,以确保您已做好完成所有单元所需的准备工作。
前提条件
机器学习速成课程并不会假定或要求您预先掌握机器学习方面的任何知识。但是,为了能够理解课程中介绍的概念并完成练习,您最好满足以下前提条件:
掌握入门级代数知识。 您应该了解变量和系数、线性方程式、函数图和直方图(熟悉对数和导数等更高级的数学概念会有帮助,但不是必需条件)。
熟练掌握编程基础知识,并且具有一些使用 Python 进行编码的经验。 机器学习速成课程中的编程练习是通过 TensorFlow 并使用 Python 进行编码的。您无需拥有任何 TensorFlow 经验,但应该能够熟练阅读和编写包含基础编程结构(例如,函数定义/调用、列表和字典、循环和条件表达式)的 Python 代码。
注意:有关机器学习速成课程中使用的数学和编程概念的详细列表以及针对每个概念的参考资料,请参阅下面的主要概念和工具部分。
准备工作
有关如何在计算机上下载、安装和运行编程练习的说明,请参阅在本地运行编程练习。
Pandas 使用入门
机器学习速成课程中的编程练习使用 Pandas 库来操控数据集。如果您不熟悉 Pandas,建议您先学习intro_to_pandas.ipynb该教程介绍了练习中使用的主要 Pandas 功能。
低阶 TensorFlow 基础知识
机器学习速成课程中的编程练习使用 TensorFlow 的高阶 tf.estimator API 来配置模型。如果您有兴趣从头开始构建 TensorFlow 模型,请学习以下教程:
hello_world.ipynb:在低阶 TensorFlow 中编码的“Hello World”。
tensorflow_programming_concepts.ipynb:演示了 TensorFlow 应用中的基本组件:张量、指令、图和会话。
creating_and_manipulating_tensors.ipynb:张量快速入门 - TensorFlow 编程中的核心概念。此外,还回顾了线性代数中的矩阵加法和乘法概念。
主要概念和工具
机器学习速成课程中介绍并应用了以下概念和工具。有关详情,请参阅链接的资源。
数学代数
线性方程式,例如 y=b+w1x1+w2x2
对数和对数方程式,例如 y=ln(1+ez)
线性代数
三角学
统计信息
能够读懂直方图
微积分(可选,适合高级主题)
导数概念(您不必真正计算导数)
梯度或斜率
偏导数(与梯度紧密相关)
Python 编程基础 Python
Python 教程中介绍了以下 Python 基础知识:
for 循环:包含多个迭代器变量的 for 循环(例如 for a, b in [(1,2), (3,4)])
字符串格式(例如 '%.2f' % 3.14)
变量、赋值、基本数据类型(int、float、bool、str)
中级 Python
Python 教程还介绍了以下更高级的 Python 功能:
第三方 Python 库
机器学习速成课程代码示例使用了第三方库提供的以下功能。无需提前熟悉这些库;您可以在需要时查询相关内容。
Matplotlib(适合数据可视化)
pyplot 模块
cm 模块
gridspec 模块
Seaborn(适合热图)
heatmap 函数
Pandas(适合数据处理)
NumPy(适合低阶数学运算)
linspace 函数
random 函数
array 函数
arange 函数
scikit-learn(适合评估指标)
metrics 模块
Bash 终端/云端控制台
要在本地计算机上或云端控制台中运行编程练习,您应该能熟练使用命令行: