1 - MLCC

通过机器学习,可以有效地解读数据的潜在含义,甚至可以改变思考问题的方式,使用统计信息而非逻辑推理来处理问题。

Google的机器学习速成课程(MLCC,machine-learning crash-course):https://developers.google.com/machine-learning/crash-course/

支持多语言,共25节课程,包含40多项练习,有对算法实际运用的互动直观展示,可以更容易地学习和实践机器学习概念。

官方预估时间大约15小时(实际花费时间根据个人情况而定,差异较大)。

注意:这里的时间长度指的是教程播放和阅读的时间,而不是你“真正”理解吸收和练习的时间。

实际上,对于“小白”阶段的新手,可能要投入数倍于此的精力,才能完成整个学习过程(观看、阅读、理解、练习、了解相关知识点、等等)。

本课程将解答如下问题:

  • 机器学习与传统编程有何不同?
  • 什么是损失,如何衡量损失?
  • 梯度下降法的运作方式是怎样的?
  • 如何确定我的模型是否有效?
  • 怎样为机器学习提供我的数据?
  • 如何构建深度神经网络?

机器学习术语表

1.1 - 练习环境:本地运行

MLCC相关练习:https://developers.google.com/machine-learning/crash-course/exercises

涉及的命令

(base) >conda create -n mlcc pip python=3.6
(base) >conda activate mlcc
(mlcc) >pip --proxy="10.144.1.10:8080" install --ignore-installed --upgrade tensorflow matplotlib pandas sklearn scipy seaborn # pip使用代理
(mlcc) >pip install --ignore-installed --upgrade tensorflow matplotlib pandas sklearn scipy seaborn -i https://mirrors.ustc.edu.cn/pypi/web/simple/ # pip使用国内源

示例

(base) C:\Users\guowli>conda create -n mlcc pip python=3.6
Collecting package metadata: done
Solving environment: done ## Package Plan ## environment location: C:\Office-Tools\Anaconda3\envs\mlcc added / updated specs:
- pip
- python=3.6 The following packages will be downloaded: package | build
---------------------------|-----------------
certifi-2019.3.9 | py36_0 156 KB defaults
pip-19.1.1 | py36_0 1.9 MB defaults
python-3.6.8 | h9f7ef89_7 20.3 MB defaults
setuptools-41.0.1 | py36_0 663 KB defaults
sqlite-3.28.0 | he774522_0 945 KB defaults
vs2015_runtime-14.15.26706 | h3a45250_4 2.4 MB defaults
wheel-0.33.2 | py36_0 57 KB defaults
wincertstore-0.2 | py36h7fe50ca_0 13 KB defaults
------------------------------------------------------------
Total: 26.4 MB The following NEW packages will be INSTALLED: certifi pkgs/main/win-64::certifi-2019.3.9-py36_0
pip pkgs/main/win-64::pip-19.1.1-py36_0
python pkgs/main/win-64::python-3.6.8-h9f7ef89_7
setuptools pkgs/main/win-64::setuptools-41.0.1-py36_0
sqlite pkgs/main/win-64::sqlite-3.28.0-he774522_0
vc pkgs/main/win-64::vc-14.1-h0510ff6_4
vs2015_runtime pkgs/main/win-64::vs2015_runtime-14.15.26706-h3a45250_4
wheel pkgs/main/win-64::wheel-0.33.2-py36_0
wincertstore pkgs/main/win-64::wincertstore-0.2-py36h7fe50ca_0 Proceed ([y]/n)? y Downloading and Extracting Packages
setuptools-41.0.1 | 663 KB | ######################################################################### | 100%
certifi-2019.3.9 | 156 KB | ######################################################################### | 100%
wincertstore-0.2 | 13 KB | ######################################################################### | 100%
pip-19.1.1 | 1.9 MB | ######################################################################### | 100%
vs2015_runtime-14.15 | 2.4 MB | ######################################################################### | 100%
wheel-0.33.2 | 57 KB | ######################################################################### | 100%
python-3.6.8 | 20.3 MB | ######################################################################### | 100%
sqlite-3.28.0 | 945 KB | ######################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate mlcc
#
# To deactivate an active environment, use
#
# $ conda deactivate (base) C:\Users\guowli>conda env list
# conda environments:
#
base * C:\Office-Tools\Anaconda3
mlcc C:\Office-Tools\Anaconda3\envs\mlcc (base) C:\Users\guowli>conda activate mlcc (mlcc) C:\Users\guowli>pip list
Package Version
------------ --------
certifi 2019.3.9
pip 19.1.1
setuptools 41.0.1
wheel 0.33.2
wincertstore 0.2 (mlcc) C:\Users\guowli>pip --proxy="10.144.1.10:8080" install --ignore-installed --upgrade tensorflow matplotlib pandas sklearn scipy seaborn
Collecting tensorflow
Downloading https://files.pythonhosted.org/packages/bf/58/34bfa8fa17f86333361172b3b502e805195180f19a7496ad0f6149138d55/tensorflow-1.13.1-cp36-cp36m-win_amd64.whl (63.1MB)
|████████████████████████████████| 63.1MB 598kB/s
Collecting matplotlib
Downloading https://files.pythonhosted.org/packages/21/4c/35fa1837a705f33621604a1967b1505bd3f695940fdf02fad77ef11de196/matplotlib-3.0.3-cp36-cp36m-win_amd64.whl (9.1MB)
|████████████████████████████████| 9.1MB 544kB/s
......
......
......
Collecting joblib>=0.11 (from scikit-learn->sklearn)
Downloading https://files.pythonhosted.org/packages/cd/c1/50a758e8247561e58cb87305b1e90b171b8c767b15b12a1734001f41d356/joblib-0.13.2-py2.py3-none-any.whl (278kB)
|████████████████████████████████| 286kB 6.4MB/s
Building wheels for collected packages: sklearn, absl-py, gast, termcolor
Building wheel for sklearn (setup.py) ... done
Stored in directory: C:\Users\guowli\AppData\Local\pip\Cache\wheels\76\03\bb\589d421d27431bcd2c6da284d5f2286c8e3b2ea3cf1594c074
Building wheel for absl-py (setup.py) ... done
Stored in directory: C:\Users\guowli\AppData\Local\pip\Cache\wheels\ee\98\38\46cbcc5a93cfea5492d19c38562691ddb23b940176c14f7b48
Building wheel for gast (setup.py) ... done
Stored in directory: C:\Users\guowli\AppData\Local\pip\Cache\wheels\5c\2e\7e\a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd
Building wheel for termcolor (setup.py) ... done
Stored in directory: C:\Users\guowli\AppData\Local\pip\Cache\wheels\7c\06\54\bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6
Successfully built sklearn absl-py gast termcolor
Installing collected packages: six, setuptools, protobuf, numpy, absl-py, markdown, werkzeug, wheel, grpcio, tensorboard, astor, keras-preprocessing, gast, mock, tensorflow-estimator, termcolor, h5py, keras-applications, tensorflow, kiwisolver, pyparsing, python-dateutil, cycler, matplotlib, pytz, pandas, scipy, joblib, scikit-learn, sklearn, seaborn
Successfully installed absl-py-0.7.1 astor-0.7.1 cycler-0.10.0 gast-0.2.2 grpcio-1.20.1 h5py-2.9.0 joblib-0.13.2 keras-applications-1.0.7 keras-preprocessing-1.0.9 kiwisolver-1.1.0 markdown-3.1 matplotlib-3.0.3 mock-3.0.5 numpy-1.16.3 pandas-0.24.2 protobuf-3.7.1 pyparsing-2.4.0 python-dateutil-2.8.0 pytz-2019.1 scikit-learn-0.21.0 scipy-1.2.1 seaborn-0.9.0 setuptools-41.0.1 six-1.12.0 sklearn-0.0 tensorboard-1.13.1 tensorflow-1.13.1 tensorflow-estimator-1.13.0 termcolor-1.1.0 werkzeug-0.15.2 wheel-0.33.4 (mlcc) C:\Users\guowli>
(mlcc) C:\Users\guowli>pip list
Package Version
-------------------- --------
absl-py 0.7.1
astor 0.7.1
certifi 2019.3.9
cycler 0.10.0
gast 0.2.2
grpcio 1.20.1
h5py 2.9.0
joblib 0.13.2
Keras-Applications 1.0.7
Keras-Preprocessing 1.0.9
kiwisolver 1.1.0
Markdown 3.1
matplotlib 3.0.3
mock 3.0.5
numpy 1.16.3
pandas 0.24.2
pip 19.1.1
protobuf 3.7.1
pyparsing 2.4.0
python-dateutil 2.8.0
pytz 2019.1
scikit-learn 0.21.0
scipy 1.2.1
seaborn 0.9.0
setuptools 41.0.1
six 1.12.0
sklearn 0.0
tensorboard 1.13.1
tensorflow 1.13.1
tensorflow-estimator 1.13.0
termcolor 1.1.0
Werkzeug 0.15.2
wheel 0.33.4
wincertstore 0.2 (mlcc) C:\Users\guowli>

1.2 - 练习环境:在线运行

1.3 - 前提条件和准备工作

MLCC Prereqs and prework:https://developers.google.com/machine-learning/crash-course/prereqs-and-prework

前提条件

掌握入门级代数知识。
了解变量和系数、线性方程式、函数图和直方图(熟悉对数和导数等更高级的数学概念会有帮助,但不是必需条件)。 熟练掌握编程基础知识,并且具有一些使用 Python 进行编码的经验。
机器学习速成课程中的编程练习是通过TensorFlow并使用Python进行编码的。
无需拥有任何 TensorFlow经验,但应该能够熟练阅读和编写包含基础编程结构(例如,函数定义/调用、列表和字典、循环和条件表达式)的Python代码。

准备工作

Pandas 使用入门
机器学习速成课程中的编程练习使用 Pandas 库来操控数据集。
如果不熟悉 Pandas,建议先学习Pandas 简介教程,该教程介绍了练习中使用的主要 Pandas 功能。 低阶 TensorFlow 基础知识
机器学习速成课程中的编程练习使用 TensorFlow 的高阶 tf.estimator API 来配置模型。
如果有兴趣从头开始构建 TensorFlow 模型,请学习以下教程:
- TensorFlow Hello World:在低阶 TensorFlow 中编码的“Hello World”。
- TensorFlow 编程概念:演示了 TensorFlow 应用中的基本组件:张量、指令、图和会话。
- 创建和操控张量:张量快速入门 - TensorFlow 编程中的核心概念。此外,还回顾了线性代数中的矩阵加法和乘法概念。

1.4 - 主要概念和工具

数学

代数
- 变量、系数和函数
- 线性方程式
- 对数和对数方程式
- S型函数 线性代数
- 张量和张量等级
- 矩阵乘法 三角学
- Tanh(作为激活函数进行讲解,无需提前掌握相关知识) 统计信息
- 均值、中间值、离群值和标准偏差
- 能够读懂直方图 微积分(可选,适合高级主题)
- 导数概念(您不必真正计算导数)
- 梯度或斜率
- 偏导数(与梯度紧密相关)
- 链式法则(带您全面了解用于训练神经网络的反向传播算法)

Python(https://docs.python.org/3/tutorial/)

基础 Python
- 定义和调用函数:使用位置和关键字参数
- 字典、列表、集合(创建、访问和迭代)
- for 循环:包含多个迭代器变量的 for 循环(例如 for a, b in [(1,2), (3,4)])
- if/else 条件块和条件表达式
- 字符串格式(例如 '%.2f' % 3.14)
- 变量、赋值、基本数据类型(int、float、bool、str)
- pass 语句
中级 Python
- 列表推导式
- Lambda 函数

第三方Python库(无需提前熟悉,在需要时查询相关内容)

Matplotlib(适合数据可视化)
- pyplot 模块
- cm 模块
- gridspec 模块 Seaborn(适合热图)
- heatmap 函数 Pandas(适合数据处理)
- DataFrame 类 NumPy(适合低阶数学运算)
- linspace 函数
- random 函数
- array 函数
- arange 函数 Scikit-Learn(适合评估指标)
- metrics 模块

Bash

2 - 下一步

2.1 - Google的机器学习指南

https://developers.google.com/machine-learning/guides/

通过简单的逐步演示介绍如何利用最佳做法解决常见的机器学习问题。

2.2 - Machine Learning Practica

Google的机器学习实践:https://developers.google.com/machine-learning/practica/

2.3 - 深入了解官网文档

以TensorFlow为例:

机器学习入门 - Google的机器学习速成课程的更多相关文章

  1. 机器学习入门 - Google机器学习速成课程 - 笔记汇总

    机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...

  2. 机器学习入门18 - 生产机器学习系统(Production ML Systems)

    除了实现机器学习算法之外,机器学习还包含许多其他内容.生产环境机器学习系统包含大量组件.无需自行构建所有内容,而是应该尽可能重复使用常规机器学习系统组件.通过了解机器学习系统的一些范例及其要求,可以明 ...

  3. 机器学习入门之四:机器学习的方法--SVM(支持向量机)(转载)

    转自 飞鸟各投林 SVM(支持向量机) 支持向量机算法是诞生于统计学习界,同时在机器学习界大放光彩的经典算法. 支持向量机算法从某种意义上来说是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件 ...

  4. pyhton机器学习入门基础(机器学习与决策树)

    //2019.07.26#scikit-learn数据挖掘工具包1.Scikit learn是基于python的数据挖掘和机器学习的工具包,方便实现数据的数据分析与高级操作,是数据分析里面非常重要的工 ...

  5. Facets:一款Google开源机器学习数据集可视化工具

    Homepage/演示网站:https://pair-code.github.io/facets/ Pypi:https://pypi.org/project/facets-overview/ Git ...

  6. 【机器学习】Google机器学习工程的43条最佳实践

    https://blog.csdn.net/ChenVast/article/details/81449509 本文档旨在帮助那些掌握机器学习基础知识的人从Google机器学习的最佳实践中获益.它提供 ...

  7. 【机器学习】机器学习入门08 - 聚类与聚类算法K-Means

    时间过得很快,这篇文章已经是机器学习入门系列的最后一篇了.短短八周的时间里,虽然对机器学习并没有太多应用和熟悉的机会,但对于机器学习一些基本概念已经差不多有了一个提纲挈领的了解,如分类和回归,损失函数 ...

  8. TensorFlow.NET机器学习入门【1】开发环境与类型简介

    项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorF ...

  9. TensorFlow.NET机器学习入门【0】前言与目录

    曾经学习过一段时间ML.NET的知识,ML.NET是微软提供的一套机器学习框架,相对于其他的一些机器学习框架,ML.NET侧重于消费现有的网络模型,不太好自定义自己的网络模型,底层实现也做了高度封装. ...

随机推荐

  1. 利用mybatis generator实现数据库之间的表同步

    项目背景: 项目需要对两个服务器上的表进行同步,表的结构可能不一样.比如服务器A上的表i同步数据到服务器B上的表j,i和j的结构可能不一样,当然大部分字段是一样的.项目看起来很简单,网上一搜也是很多, ...

  2. java8 先groupingBy 后map

    Map<Integer,List<String>> mapBanJI_UserNameList=list.stream().collect(Collectors.groupin ...

  3. 利用idea解决git代码冲突问题

    问题描述:在开发过程中,如果你开发的代码与其他人造成冲突,在不处理的情况下会无法拉取,并且提交容易造成代码丢失: 解决方法: [此方法是同事郭富城的分享] 1,由于冲突,我们每次拉取都会失败,这时我们 ...

  4. 第一二次java实训作业

    1. 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果. package java1; public class java1 { static int a=5; pub ...

  5. [翻译]理解分析Linux里的101个ELF文件

    原文:https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/

  6. python3 第二十九章 - 内置函数之tuple相关

    Python元组包含了以下内置函数 序号 方法及描述 实例 1 len(tuple)计算元组元素个数. >>> tuple1 = ('Google', 'Baidu', 'Taoba ...

  7. vscode+MinGW+cmake设置轻量ide

    本地随手写一些题目的时候,发现visual studio非常庞大emmm vscodevscode是一个轻量编辑器 (1)vscode插件与设置自动同步 在两个电脑上,用vscode可以同步插件 ,利 ...

  8. 图解HTTP第四章

    :返回结果的 HTTP 状态码 1>状态码告知从服务器端返回的请求结果 状态码如 200 OK,以 3 位数字和原因短语组成 数字中的第一位指定了响应类别,后两位无分类 2XX 成功常用的状态码 ...

  9. qq通讯录

  10. linux系统下部署DNS反向解析

    DNS服务概述 DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 反向解析 反向解析是从IP地址到域名的解析过程.主要作用于服务器的身份验证. 部署反向解析 ...