开发者学堂课程【Tensorflow2.0入门与实战:机器学习原理-线性回归】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/664/detail/11098
机器学习原理-线性回归
内容介绍:
一、Tensorflow 2.0 tf.keras 概述
二、回顾
三、使用 tf.keras 实现一个简单的线性回归
一、Tensorflow 2.0 tf.keras 概述
注意:
tf.keras 是 Tensorflow 2.0 的核心高级 API ,搭建神经网络官方推荐使用 tf.keras。
后面会讲到使用自定义的梯度下降算法和自定义训练循环,但是在大多数时候推荐使用 tf.keras 搭建神经网络。
二、回顾
Tensorflow 2.0 简明实战教程:
1.安装Python版本
Tensorflow 2.0 兼容的Python版本: Python 2.7-3.6
本课程使用3.6.8
2.在命令行使用 pip install numpy pandas matplotlib sklearn tensorflow==2.0.0-alpha0 -i
https://pypi.doubanio.com/simple
配合 notebook 使用,体验更佳:pip install notebook -i
https://pypi.doubanio.com/simple
3.以下使用 notebook 演示:
(1)打开 ipython notebook
(2)找到需要的运行环境
(3)重命名
(4)引入安装好的 Tensorflow,检查使用的版本,如下图可知该版本为 Tensorflow Version :2.0.0-alpha0
三、使用 tf.keras 实现一个简单的线性回归
1.单变量线性回归算法(比如, x 代表学历,f(x) 代表收入)∶
f(x) = ax + b(求解出 a、b,可以通过x的值预测f(x))
我们使用f(x)这个函数来映射输入特征和输出值
2.读取数据解
引入 pandas 读取 Income1.csv 的数据解:
import pander as pd
data=pd.read_csv(‘./dataset/Income1.csv’)
如下:
引入 matplotlib.pyplot 绘图和 matplotlib inline 用于显示:
import matplotlib.pyplot as plt
%matplotlib inline
如下:
得到散点图:
(x轴对应受教育年限,y轴对应收入)
3.如何求解 a 和 b
(1)预测目标与损失函数
预测目标:预测函数 f(x) 与真实值之间的整体误差最小
如何定义误差最小呢?(不能直接使用差作为预测误差)
损失函数:使用均方差作为作为成本函数,也就是预测值和真实值之间差的平方取均值
(2)成本函数与损失函数
优化的目标( y 代表实际的收入):
找到合适的 a 和 b ,使得 (f(x) - y)^2/n 越小越好( n 为定值)
注意:现在求解的是参数 a 和 b
(3)如何优化:
使用梯度下降算法






