机器学习 - 线性模型
一、线性模型的定义:
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特 征的线性组合来进行预测的模型.给定一个𝐷维样本𝒙 = [𝑥1,⋯,𝑥𝐷]T,其线性 组合函数为
即:假设输出变量可以表示为输入特征的线性组合
其中:
- x 是输入特征向量,
- w 是与输入对应的权重向量,
- b 是偏置(或截距),
- y 是模型的预测输出。
二、线性模型包括哪些分类?
机器学习中的线性模型主要指那些假设输出与输入特征之间存在线性关系的模型。根据任务类型,它们大致可以分为两类:
-
回归模型
用于预测连续值。例如:- 线性回归:假设输出是输入特征的线性组合。
- 正则化回归:如岭回归(Ridge)和Lasso回归,这些方法在普通线性回归的基础上加入正则项来防止过拟合。
-
分类模型
用于将数据点分为离散类别。例如:- 逻辑回归(Logistic回归):通过线性组合特征,再利用Sigmoid函数将结果映射到0~1之间,表示属于正类别的概率。
- Softmax 回归:Softmax 回归与逻辑回归类似,都是先对输入特征进行线性组合,然后将结果转换为概率。区别在于,逻辑回归通常用于二分类问题,而 Softmax 回归用于多分类问题。Softmax 函数将各类别的线性组合结果归一化为一个概率分布,表示输入样本属于每个类别的概率。
- 感知机:一种最早的线性分类模型,通过迭代调整权重来找到一个分割超平面。
- 线性支持向量机(SVM):利用线性决策边界(超平面)将不同类别数据分开。
- 线性判别分析(LDA):在一定假设下,通过线性组合特征达到最优类别分离,尽管它有时被视为一种统计方法,但在很多应用中也作为线性分类器使用。
总结:
- 回归模型假设目标变量与输入特征的关系为线性,适用于预测数值;
- 分类模型则利用线性决策边界或概率模型,将数据分为不同类别。
这些模型因其结构简单、易于理解和高效计算,在许多实际应用中都有广泛使用。
三、对于线性模型的理解:
直观理解:
线性模型是机器学习中最基本、最常见的模型之一
-
线性关系:
线性模型假设各个特征对预测目标的影响是线性且可加的。例如,在房价预测中,假设房价与面积、房龄等因素存在线性关系,则我们可以认为房价就是这些因素各自按一定比例(权重)加权求和的结果,再加上一个常数(偏置)。 -
可解释性:
由于模型简单,权重 www 直接反映了每个特征的重要性或影响程度,便于理解和解释模型决策。 -
训练与优化:
线性模型通常采用均方误差、逻辑回归损失等作为目标函数,并且由于这些损失函数往往是凸的,可以利用梯度下降等优化方法找到全局最优解。
应用举例
-
回归任务:
例如预测房价。假设房价 y 与房屋面积 x1 和房龄 x2 存在线性关系,则模型可以写为:这里,w1 表示面积对房价的影响,w2 表示房龄对房价的影响。通过训练数据,我们可以估计出这些参数,从而预测新房屋的价格。
-
分类任务:
例如垃圾邮件分类中的逻辑回归。虽然逻辑回归名字中有“回归”,但实际上它用于二分类问题。它将输入特征做线性组合后,通过 sigmoid 函数转换为概率:根据输出的概率与预设的阈值(通常为0.5),来判断邮件是否为垃圾邮件。
优点与局限
-
优点:
- 计算简单,训练速度快
- 模型易于解释
- 在数据与问题满足线性关系假设时表现良好
-
局限:
- 无法捕捉复杂的非线性关系
- 在高维、非线性问题中可能需要更复杂的模型(例如神经网络、支持向量机等)
总之,线性模型通过假设目标变量与输入特征之间存在线性关系,提供了一种简单、直观且易于训练和解释的预测方法。它既可以用于回归任务,也可以通过如逻辑回归这样的变种用于分类任务。
四、上面提到sigmoid函数,我们来理解一下
Sigmoid 函数是一种常见的 S 型曲线函数,其主要特点是将输入值(通常是一个实数)映射到 (0, 1) 的区间内。它在机器学习中有广泛应用,尤其是在逻辑回归中,用来将线性组合的输出转化为概率值。下面是对 Sigmoid 函数的详细解释:
-
数学表达式
Sigmoid 函数通常表示为其中 z 可以是任何实数。
-
S 型曲线
-
直观理解
- 概率映射:Sigmoid 函数把任意实数映射到 0 到 1 的范围,非常适合用来表示概率。
- 平滑性:它是一条平滑且连续的曲线,能够平滑地反映输入的变化对输出概率的影响。
- 决策边界:在逻辑回归中,σ(z) 的输出可以用来作为决策依据,比如当输出大于 0.5 时预测正类,小于 0.5 时预测负类。
-
应用场景
- 逻辑回归:通过先计算 z= w^T x + b,再使用 Sigmoid 函数得到 P(y=1∣x)=σ(z),使得模型输出一个介于0和1之间的概率值。
- 神经网络激活函数:在一些简单的神经网络中,Sigmoid 函数也作为激活函数使用,不过在深层网络中常被 ReLU 等其他函数所替代。
总结来说,Sigmoid 函数的主要作用在于将任意输入“压缩”到一个标准概率范围内,并以其 S 型曲线平滑地反映输入的变化,非常适合用于二分类问题的概率预测。
五、线性模型涉及的几个常用的概念:
在机器学习和模式识别中,经常会提到“决策函数”、“判别函数”和“符号函数”。这三个概念虽然在应用中有重叠,但它们侧重点不同,下面详细说明它们的含义、区别与联系:
1. 决策函数(Decision Function)
- 概念:
决策函数是一个将输入数据映射到一个实数(或一组实数)的函数,其输出用于指导分类决策。 - 用途:
- 在二分类问题中,一个典型的决策函数可能是 f(x) = w^T x + b。
- 模型通过对 f(x) 的值进行判断来决定样本属于哪一类(例如:如果 f(x)>0则预测正类,否则预测负类)。
- 特点:
决策函数通常直接反映了样本与决策边界的距离,它可以作为进一步处理(例如,通过阈值、符号函数转换为离散类别)的基础。
2. 判别函数(Discriminant Function)
- 概念:
判别函数用于对不同类别之间进行区分,它为每个类别赋予一个“得分”或“置信度”。 - 用途:
- 在二分类问题中,判别函数和决策函数通常可以视为等价,都是通过计算一个线性(或非线性)组合来决定分类。
- 特点:
判别函数强调的是在类别间的比较,是一种用于区分不同类别的工具。
3. 符号函数(Sign Function 或 Signum Function)
- 概念:
符号函数是一个数学函数,它将一个实数映射为其符号: - 用途:
- 在二分类问题中,常常先通过决策函数得到一个连续的数值 f(x),再通过符号函数将其转换为离散的类别标签(例如,正类和负类)。
- 这种转换将连续输出(例如 f(x))变为最终的决策结果。
- 特点:
符号函数是一种阈值函数,用于将连续的得分(如距离、概率差异)映射为离散的决策输出。
联系与区别
-
联系:
- 在二分类问题中,通常先计算决策函数 f(x) = w^T x + b 或判别函数,再应用符号函数 sgn(f(x))得到最终的分类结果。
- 决策函数和判别函数在二分类问题中基本可以看作同一回事,都是通过计算一个分数来描述样本相对于决策边界的位置。而符号函数则是将这个分数转换为明确的类别标签(例如 +1 或 -1)。
-
区别:
- 决策函数侧重于为每个输入计算一个连续的得分,强调决策边界和距离信息。
- 判别函数更侧重于对比不同类别的得分,通常用于多类别问题,通过比较各类别的分数来做出决策。
- 符号函数是一种简单的数学工具,它本身不包含模型训练或学习的过程,只是对决策函数的输出进行阈值化处理,得到离散的分类结果。
总结
- 决策函数:将输入映射为一个连续得分,反映样本与决策边界的关系;
- 判别函数:为每个类别赋予得分,用于区分不同类别(在二分类中通常与决策函数等价);
- 符号函数:将连续得分转换为离散类别标签(例如正或负)。
这种结构化的流程(先决策/判别,再阈值化)有助于在机器学习任务中既利用连续输出的信息,又最终获得清晰的分类决策。