机器学习之线性模型

本文介绍了线性模型的基本形式及其在机器学习中的应用,包括线性回归、逻辑回归等典型线性模型,并探讨了多分类任务及类别不平衡问题的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本形式

线性模型形式简单、易于建模,但它却蕴含着机器学习中一些重要的基本思想,许多功能强大的非线性模型可能就是在线性模型的基础上通过引入层级结构或高维映射而得,此外,由于w直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。

定义:给定由d个属性描述的示例x=(x1; x2;……;xd)。其中xi是x在第i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:

f(x) = w1x1 + w2x2 + ... +wdxd + b

一般用向量形式写成 f(x)=w^Tx+b

其中w=(w1;w2;..;wd),w和d学得之后,模型就能确定。

二、典型的线性模型简介

1、线性回归

给定数据集D=\left \{ \left ( xi,yi \right ) \right \}_{i=1}^{m},其中xi\in R,对离散属性,若属性间存在“序”关系,可通过连续话将其转化为连续值,线性回归试图学得f(x_{i})=wx_{i}+b.

确定w和b的方法有:均方误差最小化(最小二乘法),它的几何意义对应于常用的欧几里得距离或称之为“欧式距离”,在线性回归中,最小二乘法试图找到一条直线,使所有样本到直线上的欧式距离之和最小。这一过程也可以称之为模型的“参数估计”。

如果将上面的属性关系更加一般化推广至其样本由d个属性描述,此时学的模型函数表达式为:f(x)=w^Tx+b,亦称之为多元线性回归,在这样的情况下,求参数w和b时,可将其通过最小二乘法转化为矩阵求解,转化后的矩阵表达式为

f(x_{i})=x_{i}^{T}(X^{T}X)^{-1}X^{T}y

其中X^TX为满秩矩阵或正定矩阵(X^TX)^{-1}是其逆矩阵。

在现实任务中,X^TX往往不是满秩矩阵,例如我们在许多任务中会遇到大量的变量,其数目甚至超过样例数,导致X的列数对于行数,X^TX显然不满秩,此时可解出多个w值,他们都能使军方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定,而更通常的做法是我们会引入一个正则化项。

2、逻辑回归(对数几率回归)

若我们此时要进行的是二分类任务,其输出标记y\epsilon {0,1},但我们知道线性回归模型产生的预测值f(x)=w^Tx+b是实数,此时我们需要将实数值转化为0/1值即可,最理想的转化函数是“单位阶跃函数,而这一过程的计算可使用最大似然法来估计w和b,虽然有很多解,但我们可以使用经典的数值优化算法如梯度下降法、牛顿法得到最优解。

3、线性判别分析

4、多分类任务

5、类别不平衡问题

附录一个简单的python实现的线性模型函数:

def regression(x):
    '''基于tensorflow实现的线性模型'''
    W = tf.Variable(tf.zeros([784, 10]), name="W")
    b = tf.Variable(tf.zeros([10]), name="b")
    y = tf.nn.softmax(tf.matmul(x, W) + b)
    return y, [W, b]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值