1.1、监督学习
- 监督学习有两种主要类型
-
- 1、回归
- 2、分类
(1)回归
- 回归分析主要是研究自变量和因变量的关系。通常使用线/曲线来拟合数据点,然后研究如何使曲线到数据点的距离差异最小。相当于给予一个x值,预测出相关y值,即x到y的映射
- 回归分析的目标就是要拟合一条曲线,让图中红色线段加起来的和最小。
(2)分类
- 相较于回归,分类预测的是物体所属种类
(3)二者区别
- (1)分类预测的是物体所属的种类,回归预测的是物体的具体数值
- (2)分类输出的是离散值,回归输出的是连续值
-
- 离散就是规定好有有限个类别,而这些类别是离散的;连续就是理论上可以取某一范围内的任意数值。
- (3)分类输出的值是定性的,回归输出的值是定量的
-
- 定性是指确定某种东西的确切的组成有什么或者某种物质是什么,不需要测定该物质的各种确切的数值量。
- 定量是指确定一种成分(某种物质)的确切的数值量,这种测定一般不需要关注测定的物质是什么。
- 例如:这是一杯水,这是定性;这杯水有10毫升,这是定量。
1.2、无监督学习
(1)聚类
- 通过对不同无标签的数据进行划分组别,
1.2.1 监督学习与无监督学习两者区别
- 1、监督学习方法必须要有训练集与测试样本。在训练集中找规律,而对测试样本使用这种规律。而非监督学习没有训练集,只有一组数据,在该 组数据集内寻找规律。
- 2、监督学习的方法就是识别事物,识别的结果表现在给待识别数据加上 了标签。因此训练样本集必须由带标签的样本组成。而无监督学习方法只 有要分析的数据集的本身,预先没有什么标签。如果发现数据集呈现某种 聚集性,则可按自然的聚集性分类,但不予以某种预先分类标签对上号为 目的。
1.3、线性回归模型
- 通过输入的特征(feature)经过模型处理后输出预测结果(prediction)
- 训练集简介(下图)
1.4、成本函数
- 在进行输出预测时,原有的f(x)可能不符合实际情况,需要找到w,b使fw,b更加贴合各点数据,即找到最小J(w,b)的值所在位置
- 对成本函数进行简化,将b看为空集,简化后的函数更容易找到minimize J(w)
- 将b看做空集后,对不同w值求出最小J(w)
- 将成本函数可视化,找到最适合的w与b的值,使得f(x)效果最佳
1.5、 梯度下降
(1)梯度下降的实现
(2)如何理解梯度下降
不同w值在横坐标移动时,对应的不同导数数变化
(3)学习率α
- 学习率可以理解为在J(w)曲线上,每一次移动的距离大小。
- α越小,梯度下降就越慢;α越大, 可能会出现过冲或者无法收敛
- 不断改变学习率使J(w)达到局部最小值
(4)用于线性回归的梯度下降
2.1、多维特征(多元线性回归)
- 多元线性回归
-
- 通过多元使买房子问题变为四元模型
2.2、向量化
Numpy
np.array ( ) 函数的作用:列表不存在维度问题,但数组是有维度的,而np.array()的作用就是把列表转化为数组,也可以说是用来产生数组。
- 在Python中使用Numpy函数快速实现函数计算。
- 相较于未矢量化的函数,矢量化的函数计算速度更加快速,代码表示更加简洁
矢量化物理流程
- 计算方式对比(for循环VS矢量化)
- 更新权重的两种方式对比(for循环VS矢量化)
2.3、用于多元线性回归的梯度下降法
- 向量化后的梯度下降
- 多元线性回归的梯度下降
2.4、特征缩放
使梯度下降速度更快
2.5、判断梯度下降是否收敛
2.6、如何设置学习率
- 损失函数出现震荡时(左上)、损失函数上升(右上)可能是学习率过大或代码出错
- 在迭代中使用较小的学习率可以使损失函数越来越接近最小值
- 学习率的不断选择
2.7、特征工程
- 找到更好的Feature来预测模型,通过组合原始特征使算法做出更准确的预测
- 下图中x1为临街长度,x2为纵深,x3为占地面积(新增);新增x3就是为了找到更好的Feature使模型预测的更加准确。