目录
机器学习三要素
- 模型:根据具体问题,确定假设空间。
- 策略:根据评价标准,确定选取最优模型的策略(通常会产生一个“损失函数”)。
- 算法:求解损失函数,确定最优模型。
一、一元线性回归
1. 基本形式
一元线性回归模型试图通过输入特征的线性组合来预测输出y。其数学公式为:
向量形式为
其中, 是权重, b 是偏置项。
2. 最小二乘法
最小二乘法是通过最小化损失函数来求解 和 的方法。对于线性回归问题,我们可以通过求导数并令其为零来找到最小化均方误差的 和 。我们对 和 分别求偏导数,并令它们等于零:
这将给出 和的最优解。在实际操作中,我们可以利用矩阵运算加速求解。定义设计矩阵和输出向量 后,最优解可以表示为:
其中, 和 分别是所有输入特征和输出标记的均值向量。
如果要用 Python 实现上式,可以使用 NumPy 库来进行矩阵运算。例如:
import numpy as np
# 假设 X 是输入矩阵,y 是输出向量
X = np.array([...])
y = np.array([...])
# 计算最优解
w = np.linalg.inv(X.T @ X) @ X.T @ y
b = np.mean(y) - w.T @ np.mean(X, axis=0)
3. 极大似然估计法
极大似然估计法的直观想法是:使观测样本出现概率最大的分布就是待求分布,即使得联合概率(似然函数) 取最大值的 即为 的估计值。
通常对似然函数进行对数变换,用 代替 来求和 的估计值。
例:正态分布的参数估计
假设有一批观测样本 ,其服从某个正态分布 ,其中和 为待估计的参数。用极大似然估计法来估计正态分布的参数和 :
(1) 写出随机变量 的概率密度函数:
(2) 写出似然函数:
(3) 对数变换得到对数似然函数:
(4) 求解使得 最大的和 。
在线性回归中,假设误差ϵ服从均值为 0 的正态分布 ϵ∼N(0,σ2),则线性模型可以表示为 。然后使用极大似然估计来估计 和的值。
求解参数 和
(1) 写出似然函数:
(2) 对数变换得到对数似然函数:
(3) 对 和求偏导数,并令其为零,求得最优解。
4. E(w, b) 的性质
(1) 证明 是半正定矩阵。
(2) 因此 是关于 和的凸函数。
(3) 凸函数的全局解的充分必要条件是其梯度等于零向量。
二、多元线性回归
1. 向量表示
多元线性回归模型可以表示为:
其中, 是输入特征向量,是权重向量,是偏置项。
为了求解多元线性回归的参数,我们需要将损失函数写成矩阵形式,并证明其是凸函数。
损失函数的向量化
定义设计矩阵和输出向量 后,损失函数可以表示为:
2. 凸性证明
证明 是 的凸函数。如果是凸函数,可以令其梯度等于零向量,从而求得全局最优解。
参考文献
[1] 【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导
[2] 周志华.机器学习[M].清华大学出版社,2016.
[3] 谢文睿 秦州 贾彬彬.机器学习公式详解第2版[M].人民邮电出版社,2023.