机器学习概述
这部分(文件夹)的内容是对机器学习较宽泛的概念,包括了深度学习以及在不同数据类型和任务领域的应用
(NLP、CV等),不仅仅是传统的机器学习方法。
但是本文的内容主要还是介绍机器学习基本概念和算法(后续整理).
包括 线性回归、逻辑回归、决策树、随机森林、SVM等.
一、线性回归
先提出一个问题:线性代数、线性方程、线性变换、线性空间(向量空间)等概念都与线性相关,那什么是线性呢,这些概念的含义又有什么区别?
1. 什么是线性回归
是一种统计学方法,用于建模和分析一个因变量与一个或多个自变量 之间的线性关系.
主要目标是做出一个预测模型,该模型能够预测连续的输出值
1.1 线性回归中的线性
是指模型中自变量(特征)与因变量之间的关系是线性的。
具体来说: 线性回归假设自变量与因变量之间的关系可以用一个线性方程来描述,即自变量的线性组合与因变量之间存在一个线性关系.
1.2 了解“线性”
这些线性 通常指 线性关系或线性性质: 它描述了一种简单、直接、成比例的关系,这种关系遵循特定的数学规律, 如可加性和齐次性.
线性的意义:在线性系统中,小的变化通常会导致 小的响应, 这使得线性系统相对容易 分析和预测。
现实世界的许多现象是非线性的,行为更复杂、可能涉及阈值、突变或反馈机制。 就需要更复杂的算法解决相关问题。
1 | 数学中的线性:变量或函数之间直接成比例关系。例如:直线方程y=mx+b. |
1.3 简单线性回归
只有一个自变量和一个因变量时。 它试图找出最佳 拟合的直线。 这条直线能够最大程度的减少实际预测值和通过直线预测的值之间的差异.
$ y = \beta_0 + \beta_1x + \epsilon $
其中:
- y 是因变量(预测的输出)
- x 是自变量(输入特征)
- $ \beta_0 是截距项,它是当 x=0 时 y 的预期值。 $
- $ \beta_1 是斜率,表示 ( x ) 每变化一个单位,( y ) 预期变化的数量。$
- $ \epsilon 是误差项,代表模型无法解释的随机变异。 $
1.4 多元线性回归
当有多个自变量时,线性回归可以扩展为多元线性回归。
$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n + \epsilon $
其中:
- $ x_1 , x_2 , \ldots ,x_n $ 是自变量,
- $ \beta_1, \beta_2,\ldots ,\beta_n $ 是对应的斜率
1.5 线性回归的应用
- 预测分析:根据自变量的值预测因变量的值。
- 趋势分析:分析自变量和因变量之间的关系趋势。
- 决策支持:为决策提供数据驱动的见解。
todo 各种机器学习算法的比较和选型.
1.6 线性回归的原理和实现
一种统计学习方法,用于建立一个或多个自变量与因变量之间的线性关系。 实现线性回归(其它模型类似)的步骤:
问题定义、数据收集、数据探索分析、特征选择、数据预处理、模型选择(简单线性、多元线性回归)、划分数据集、模型训练、模型评估、模型诊断、模型优化;预测、结果解释、模型部署、持续监控和维护.
1.6.1 模型训练
基本原理:通过最小化误差的平方和来找到一个线性方程,该方程能够最好地拟合数据点.
线性回归模型的假设
假设线性回归模型为:$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n + \epsilon $
其中$ x_1 , x_2 , \ldots ,x_n $ 是自变量, $ \beta_1, \beta_2,\ldots ,\beta_n $ 是模型参数,$ \epsilon $是误差项.最小二乘法
(最常用的线性回归模型拟合技术,通过最小化误差项的平方和来估计模型参数)
最小化误差的平方和,即 $ S = \sum_{i=1}^{m} (y_i - \hat{y}_i)^2 $
其中,$ y_i $ 是实际值, $ \hat{y}_i $ 是模型预测值。构建目标函数
构建损失函数(通常是均方误差):$ J(\beta) = \frac{1}{2m} \sum_{i=1}^{m} (y_i - \hat{y}_i)^2 $
其中,$m$是样本数量. (损失函数是预测误差的平方和)求解模型参数.
使用梯度下降或解析方法求解参数。对于解析方法,求解参数的公式为: $ \beta = (X^TX)^{-1}X^Ty $
其中,$ \beta $是模型参数向量,$X$ 是设计矩阵,$X^T$是$X$的转置,$(X^TX)^{-1}$ 是 $X^TX$的逆矩阵,$y$是因变量的值向量。设计矩阵
设计矩阵 $X$ 的构造通常如下:$ X = \begin{bmatrix} 1 & x_{11} & x_{12} & \ldots & x_{1n} \\\
1 & x_{21} & x_{22} & \ldots & x_{2n} \\\
\vdots & \vdots & \vdots & \ddots & \vdots \\\
1 & x_{m1} & x_{m2} & \ldots & x_{mn} \end{bmatrix} $
1.6.2 预测(推理)和评估
- 预测新数据
使用训练得到的参数$\beta$来预测新数据点$x_{new}$ 的$y$值:$ \hat{y}_{\text{new}} = \beta_0 + \beta_1 x_{\text{new1}} + \beta_2 x_{\text{new2}} + \ldots + \beta_n x_{\text{newn}} $
简写:$ \hat{y}_{\text{new}} = X_{\text{new}} \beta $
模型评估
使用测试集计算模型的评估指标,如均方误差(MSE)、均方根误差(RMSE)、决定系统(R^2)模型诊断
检查残差图、Q-Q图等,以确保模型满足线性回归的基本假设.模型优化
如果模型不满足假设,可能需要进行特征选择、正则化、转换等步骤来优化模型.
1.6.3 最小二乘法
最小化平方差 来进行参数估计.
1.7 线性回归的假设
线性关系:自变量和因变量之间应存在线性关系。
独立性:自变量之间相互独立,误差项相互独立。
同方差性:对于所有的观测值,误差项具有恒定的方差。
正态分布:误差项呈正态分布。
2. 线性回归的认识
限制:现实世界的数据往往存在 非线性关系, 如果数据的真实关系是非线性的, 线性回归模型将无法准确捕捉这种复杂的模式.
怎么理解回归:在统计学和机器学习中 指一种分析方法。 用于建立一个模型,该模型能够预测或估计一个连续的响应变量(因变量)的值,基于一个或多个解释变量(自变量)的信息.
- 在线下回归的上下文中,回归有以下关键点:关系的推断(帮我们推断变量之间的因果关系或关联性)、预测(给的自变量的值,可以预测因变量的值)、线性关系、趋势分析、参数估计、数据拟合.
对回归的理解:推荐系统中,深度学习模型可以用于预测药物分子的活性,这是一个典型的回归问题。
回归的定义:一种统计学习方法,用于分析两个或多个变量之间的关系, 并建立一个模型来预测或估计一个连续的因变量的值,基于一个或多个自变量的值。
在机器学习和深度学习中,回归问题通常指那些目标是预测连续值输出的问题,这与分类问题形成对比,分类问题的目标是预测离散的类别标签。
回归和分类 在建模过程、模型评估、应用实践中有许多相似之处。 是数据分析和机器学习中的核心方法.
二、逻辑回归
一种广泛应用于统计学和机器学习中的回归算法,它用于处理分类问题,尤其是二分类问题.
主要思想是 通过一个或多个自变量的线性组合来估计某个事件发生的概率。
线性回归的主要思想是:通过一个或多个自变量的线性组合来预测一个因变量的值
1. 模型形式(原理)
逻辑回归模型使用逻辑函数(如Sigmoid函数或双曲正切函数)将线性回归模型的输出映射到概率空间(0, 1)上,表示概率。
这个概率表示某个实例属于特定类别的可能性。
预测公式为:(线性关系假设:假设特征与对数几率 之间存在线性关系)
$ \hat{p} = \sigma(z) = \frac{1}{1 + e^{-z}} $
其中:
- $\hat{p}$ 是事件发生的概率
- e是自然对数的底,即欧拉常数,约等于2.71828
- 公式(函数)的输入$z$是 线性函数的输出,即$z$由下面公式得出:
$z = w_0 + w_1x_1 + w_2x_2 + \ldots + w_nx_n + b$
采用向量的写法,上述公式可以写成为:
$ \mathbf{z} = \mathbf{w}^T \mathbf{x} + b $
其中:
- $\mathbf{z} $ 是输出值(标量)。
- $\mathbf{w} $ 是权重向量,大小为 $ n \times 1 $,其中 $ n $ 是特征的数量。
- $\mathbf{x} $ 是输入特征向量,大小也为 $ n \times 1 $。
- $b $ 是偏置项(截距)。
假设函数:逻辑回归使用一个成为逻辑函数 来表示事件发生的概率 $ h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx}} $
2. 参数估计
参数估计的方法:最优化理论(最大似然估计、最小化损失函数(最小二乘法、梯度下降法)) 、贝叶斯估计
参数估计的方法详见:参数估计方法
逻辑回归中 最大似然估计(MLE)和梯度下降都可以使用
todo: 使用方式 实践.
2.1 最大似然估计(MLE)
1 | 假设(相较于线性回归的假设) |
3. 决策边界
根据模型参数和输入特征,确定一个决策边界,将样本分到不同的类别中.
为什么是分类问题, 是离散的类别标签?1
2
3实际上,逻辑回归的输出不是离线的类别标签,这是一个常见的误解。 LR实际上是一种回归方法,它用于预测一个连续的输出值,
该输出值表示某个事件发生的概率。在二分类问题中,逻辑回归的输出是一个介于0和1之间的概率值,然后通常根据这个概率值
来确定一个阈值, 以将概率映射到两个类别标签上。
LR在二分类问题中非常流行,因为它提供了一种自然的方式来估计和解释类别概率, 并且模型的参数估计具有很好的数学性质。
在多分类问题中,LR可以扩展为多项式逻辑回归。
4. softmax回归和逻辑回归
4.1 共性
基于线性回归(首先计算输入特征的 线性组合)、 分类任务(一个二分类、一个多分类)
损失函数
它们都使用交叉熵损失函数(Cross-Entropy Loss)来衡量模型预测与实际标签之间的差异。逻辑回归使用二元交叉熵损失,而Softmax回归使用多类别交叉熵损失。最大似然估计
在训练过程中,它们通常使用最大似然估计来优化模型参数,通过最小化损失函数来找到最佳参数。梯度下降优化
两者在训练时都可以通过梯度下降或其变体(如随机梯度下降)来更新模型权重。特征重要性
在模型训练完成后,线性回归系数可以提供关于特征对预测结果影响的重要性的洞察。
都应用于线性可分问题.
- 模型泛化(todo 泛化的理解,和规则的区别和优势)
它们都关注模型的泛化能力,即在新的、未见过的数据上的表现。
4.2 差异
Softmax回归:专为多分类问题设计,它可以输出每个类别的预测概率。
- 概率解释
逻辑回归:输出的是事件发生的单个概率值; Softmax回归:输出的是每个类别的相对概率分布。)
Softmax回归:模型输出一个概率向量,其中每个元素代表一个类别的相对概率,概率最高的类别被选为预测结果。
- 应用场景
逻辑回归:适用于二分类问题,如垃圾邮件检测、疾病诊断等。
Softmax回归:适用于多分类问题,如手写数字识别(MNIST)、图像分类等。