赞
踩
根据上一节的提示,我们来到了学习和使用机器学习一节。先从官网教程上截一段话
这里推荐了一本书《使用python进行深度学习》,里面用的也是Keras库。
同时教程分为,机器学习速成课程 和 后续学习计划 两部分。今天先看看速成课程。
这篇crash course 简直666啊,有木有,专门做了这样一个供人学习的网站,泪目啊。咱不好好学都对不起人家一片苦心。
https://developers.google.cn/machine-learning/crash-course/
1.掌握入门级代数知识。 您应该了解变量和系数、线性方程式、函数图和直方图(熟悉对数和导数等更高级的数学概念会有帮助,但不是必需条件)。
2.熟练掌握编程基础知识,并且具有一些使用 Python 进行编码的经验。 机器学习速成课程中的编程练习是通过 TensorFlow 并使用 Python 进行编码的。您无需拥有任何 TensorFlow 经验,但应该能够熟练阅读和编写包含基础编程结构(例如,函数定义/调用、列表和字典、循环和条件表达式)的 Python 代码。
极速课程里都配置有一些编程练习,MLCC 的编程练习可以 Jupyter Notebook (.ipynb) 格式下载,安装步骤如下:
https://developers.google.cn/machine-learning/crash-course/running-exercises-locally
我去,装了好多东西
jupyter notebook,成功打开jupyter
并自动在浏览器中弹出页面
然后下载所有练习
http://download.mlcc.google.cn/mledu-exercises/mlcc-exercises_zh-CN.zip
解压到启动日志中的启动位置:
刷新web页面即可
我们来看一下准备里面说的几个前置练习
hello_world.ipynb:在低阶 TensorFlow 中编码的“Hello World”。
在jupyter中找到helloworld,我去,这才是真正的helloworld啊- -
这个helloworld人家说了,学习目标是这个
好吧,选中helloworld的代码段(点一下就好),光标在闪就说明选中了
然后运行,点击上方运行按钮
ok,跑出来了。
当然,我们也可以复制代码自己本地python跑。
tensorflow_programming_concepts.ipynb:演示了 TensorFlow 应用中的基本组件:张量、指令、图和会话。
TensorFlow 编程本质上是一个两步流程:
1.将常量、变量和指令整合到一个图中。
2.在一个会话中评估这些常量、变量和指令。
from __future__ import print_function import tensorflow as tf # Create a graph.创建图 g = tf.Graph() # Establish the graph as the "default" graph. with g.as_default(): #将常量、变量和指令整合到这个图中 # Assemble a graph consisting of the following three operations: # * Two tf.constant operations to create the operands. # * One tf.add operation to add the two operands. x = tf.constant(8, name="x_const") y = tf.constant(5, name="y_const") sum = tf.add(x, y, name="x_y_sum") # Now create a session.在一个会话中评估这些常量、变量和指令。 # The session will run the default graph. with tf.Session() as sess: print(sum.eval())
creating_and_manipulating_tensors.ipynb:张量快速入门 - TensorFlow 编程中的核心概念。此外,还回顾了线性代数中的矩阵加法和乘法概念。
新技能1:这里面的代码是分段的,运行时要从上到下,逐块运行。
新技能2: 代码块是可以直接编辑的,添加你的代码,直接运行吧
》练习1: 执行矢量运算以创建一个“just_under_primes_squared”矢量,其中第 i
个元素等于 primes
中第 i
个元素的平方减 1。例如,第二个元素为 3 * 3 - 1 = 8
。
just_under_primes_squared = tf.subtract(tf.pow(primes,2),one)
print("just_under_primes_squared:",just_under_primes_squared)
别问我怎么直到方法名的,这东西可以查一下,搜一下TensorFLow 数学运算。
tf.reshape() 方法不要太6,可以进行张量变形。28变成44,8*2,毫不费力。我去,还能升将维度,逆天了有木有。
》练习 2:改变两个张量的形状,使其能够相乘。
下面两个矢量无法进行矩阵乘法运算:
a = tf.constant([5, 3, 2, 7, 1, 4])
b = tf.constant([4, 6, 3])
请改变这两个矢量的形状,使其成为可以进行矩阵乘法运算的运算数。 然后,对变形后的张量调用矩阵乘法运算。
#分析:这是两个1阶向量。1*6和1*3,可以变成2*3和3*1,
#才能够进行矩阵乘法
matrix_a = tf.constant([5, 3, 2, 7, 1, 4],
dtype=tf.int32)
matrix_b = tf.constant([4, 6, 3],
dtype=tf.int32)
reshaped_2x3_a = tf.reshape(matrix_a, [2,3])
print("reshaped_2x3_a:",reshaped_2x3_a.numpy())
reshaped_3x1_b = tf.reshape(matrix_b, [3,1])
print("reshaped_3x1_b:",reshaped_3x1_b.numpy())
matrix_multiply_a_b = tf.matmul(reshaped_2x3_a, reshaped_3x1_b)
print("matrix_multiply_a_b:",matrix_multiply_a_b.numpy())
运行结果
》练习 3:模拟投掷两个骰子 10 次。
创建一个骰子模拟,在模拟中生成一个 10x3 二维张量,其中:
列 1 和 2 均存储一个六面骰子(值为 1-6)的一次投掷值。
列 3 存储同一行中列 1 和 2 的值的总和。
例如,第一行中可能会包含以下值:
列 1 存储 4
列 2 存储 3
列 3 存储 7
分析:前面的例子,教了我们创建n*n的张量并初始化,然后是更改。要做
的事情有,创建两个10*1的张量,初始化为1-6的随机数。然后做两个张量
的加法,最后将三个张量设置到一个10*3的张量里
这题没写,看了下答案,差不多。
??熊猫内裤。
pandas 是一种列存数据分析 API。它是用于处理和分析输入数据的强大工具,很多机器学习框架都支持将 pandas 数据结构作为输入。
主要支持Series和DataFrame两种结构
单个Series就是可以理解为单列
这个DataFrame很明显就把两个Series合并成了一个类似表格的数据。
california_housing_dataframe = pd.read_csv("https://download.mlcc.google.cn/mledu-datasets/california_housing_train.csv", sep=",")
california_housing_dataframe.describe()
看样子还能直接读取一整个文件,这就比较好用了。可惜访问不了?。连接时报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)>
查询解决方案:https://blog.csdn.net/hudeyu777/article/details/76021573
这里添加代码:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
总算可以了。
读出来的也是一个类似表格结构的DataFrame,难怪叫列存数据分析API,不是列,就是列构成的表。
貌似是我的chrome的问题,最近文件也下载不了。如果没有出现这个问题,可以忽略掉。
至此前置任务基本搞定,数学部分可以搜搜自学一下。前置任务基本就是一些概念,和环境准备。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。