(1)波士顿房价的数据集属性含义,怎么读入数据,需要做哪些预处理?
(2)线性回归模型是什么?属于有监督还是无监督学习?
(3)假设函数是什么?
(4)损失函数是什么?
(5)(以单属性线性模型为例)为什么使用梯度下降?
(6)梯度下降中的学习率的作用是什么,初始值是多少?
(7)预测结果评价。
举例:学生在考试前做了很多的题目,归纳了相同或同类题目的解题方法,正式考试时面对没做过的考题也可以解答。
机器学习的过程与上述类似:用训练数据(已经做过的题),通过机器学习找出规律(解题方法),分析测试数据(正式考题)。
含义:在已有的数据集中知道输入和输出结果之间的关系。根据这种已知的关系,训练得到一个最优的模型。也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。
以考试为例,监督学习相当于做的题目都有标准答案,通过对照答案归纳出解题的模式,下次在面对没有答案的题目时,也能根据归纳的模式解答。
监督学习包括:回归(Regression)、分类(Classification)。回归问题是针对于连续型变量的。和回归最大的区别在于,分类是针对离散型的,输出的结果是有限的。
最典型的算法是KNN和SVM。
含义:在已有的数据集中不知道数据标签、特征之间的关系,根据给定算法得到数据、特征之间的关系。
无监督学习是在没有数据标签的情况下进行的,由机器学会自己做事情。通俗一点说,就是不贴上具体的特征标签,也能大概分出这一类的特征。
以考试为例,无监督学习不知道题目答案,也不知道自己做得对不对,但是就算不知道答案,还是可以大致地将这些题目是否属于语文、数学、英语等学科分清楚,因为学科内在还是具有一定的联系。
是要根据已知数据X和Y寻找映射关系 f 。
样本(example):一个feature和对应的label数据构成一条样本(x,y)
数据集 (dataset) :所有样本一起构成一个数据集
模型是输入和输出之间的关系
1),模型的能力
(1)拟合:描述已有数据之间的映射关系(拟合fit)
(2)预测:对未知数据又预测能力(泛化generalization)
描述变量之间的关系
用函数来描述预测值和真实值之间的“误差”
最常见的损失函数为均方差 :预测结果与真实结果差值的平方的均值
(1)定义:计算机没有解方程的能力,所以采用梯度下降的方法,利用计算机的计算能力,一步一步迭代出极值点,使对应的使得损失函数J(
)最小
(2)梯度下降方程:
前一个 -
* 损失函数J(
)的偏导
偏导:表示为斜率
学习率:超参数,认为设定的
学习率太小:逼近极值点速度慢
学习率太大:无法收敛,甚至发散,J()越来越大
(3)梯度下降优化框架
二,paddlepaddle实战——线性回归预测房价
1,数据预处理
1)为什么要数据处理/为什么进行归一化
(1)数据范围太大容易造成浮点上溢或下溢
(2)数据范围不同会导致不同属性对模型的重要性不同
(3)很多机器学习模型或模型假设中所有属性都差不多是以0为均值且取值范围相近的。
2)怎么进行归一化
(1)对每一组数据进行归一化处理
(2)对处理的数据随机打乱
(3)对处理好的数据随机组合为一个batch,进行处理
组合使用:reader=paddle.batch(paddle.reader.shuffle(uci_housing.train(),buf_size=500),batch_size=2)
2,设计假设函数
假设函数如何在paddle中描述
3,设计损失函数
4,进行训练,观察训练过程
(1) 输入训练函数,用optimizer表示函数
(2)构造SGD trainer随机梯度下降函数
(3)开始训练
5,用模型做预测
(1)生成测试数据
(2)预测inference
三,线性回归优点
1,形式简单,易于建模
2,可以演变成其他复杂的模型
3,可解释性好