0 本文目录
1、有监督学习
2、线性回归
3、求解方法:梯度下降
4、求解方法:正则方程
5、概率解释
6、局部加权线性回归
7、线性回归的代码实现
CS229 相关讲义:http://cs229.stanford.edu/notes2020fall/notes2020fall/cs229-notes1.pdf
1 有监督学习
符号定义:
对于监督学习问题,我们的目标是,给定一个训练集,来让机器学习一个函数
回归问题:如果我们要预测的目标变量是连续的(比如根据房屋的面积,来确定房子的价格),这种学习问题就被称为回归问题。
分类问题:如果
2 线性回归算法简介
线性回归的假设函数为:
其中,
线性回归的代价函数为:
线性回归的学习目标:通过训练集找出使代价函数最小的一组参数
线性回归又被叫做普通最小二乘法。
3 求解方法:梯度下降
3.1 梯度下降
梯度下降是⼀种求解最优化问题的迭代⽅法,具体步骤为:随机选取初始的
3.2 梯度推导
假设只有一个样本点
将上述结果代回梯度下降公式,得到:
或
第二个公式通过数学变换将减号变成了加号, 方便之后与逻辑回归的结果作比较。
3.3 批量梯度下降、小批量梯度下降和随机梯度下降
- 批量梯度下降:每次计算梯度都需要遍历所有的样本点,当样本量很大时, 计算速度会十分缓慢。
- 小批量梯度下降:每次计算梯度都需要遍历一个子集的样本点。
- 随机梯度下降:每次只考虑⼀个样本点,而不是所有样本点,计算速度会提高, 但是收敛过程会比较曲折, 可能无法精确收敛至最优值。
4 求解方法:正则方程
对于训练集,我们定义设计矩阵
因为
此外,对于一个向量
先找
所以为了使
因此,线性回归的解析解为
注意:不可逆问题可以通过伪逆计算或正则化处理解决。
5 概率解释
我们可以用概率模型来解释为什么线性回归要选择最小二乘函数作为代价函数。
假设存在一个数据中存在一个高斯噪声
我们定义概率为数据的概率,而参数的概率叫做似然:
又因为数据满足独立同分布,所以我们建立似然函数为
我们还以对任何严格递增的
因此,最大化
这正是我们之前提出的最小二乘代价函数。从公式可以看出,
6 局部加权线性回归
6.1 欠拟合与过拟合
对于传统的线性回归,特征的选择极为重要,对于下面三幅图,我们称第一幅图的模型是欠拟合,第三幅图的模型则是过拟合。
可以看出,找到一个全局的线性模型去拟合整个训练集,并不是一件简单的事情,往往会引起欠拟合或是过拟合的发生。对于这种情况,我们提出了局部线性加权回归,这种方案可以使特征的选择的重要性降低。
6.2 算法思路
局部线性加权回归的思路是并不去拟合整个训练集来产生全局的模型,而是在每次预测时,只去拟合给定输入
- 拟合
来最小化
- 输出
这里
当
6.3 参数学习与非参数学习
- 参数学习算法有一组有限的、固定的参数,一旦完成拟合,只需要保存下参数值做预测,而不需要保存完整的训练集。传统的线性回归为参数学习算法。
- 非参数学习算法由于参数不固定,所以需要保存完整的训练集来进行预测,而不仅仅是保存参数。局部加权线性回归为非参数学习算法。
7 线性回归的代码实现
注:代码实现不是 CS229 课程中的内容
- 生成数据
#生成数据
- 使用 sklearn 的线性回归函数
import
- 用最小二乘法求解线性回归
class
- 用梯度下降法求解线性回归
class
参考
CS229 课程讲义:CS229: Machine Learning
CS229 讲义中文翻译:https://kivy-cn.github.io/Stanford-CS-229-CN/#/README
口仆的学习笔记中 CS229 部分:口仆的学习笔记
datawhale 机器学习: datawhalechina/team-learning