线性模型的适用边界
线性模型快速稳定且适合稀疏高维,但复杂非线性需特征构造或其他模型。
学习前需要掌握
背景与问题
线性模型能在高维文本上很有效,也可能无法分开简单的二维 XOR。关键不是输入维数看起来多复杂,而是选定表示中目标是否接近线性可分或可拟合。
概念定义
线性模型对选定特征表示作加权求和。原始输入中的弯曲边界可以通过非线性特征映射变成表示空间中的超平面,容量由表示与正则共同决定。
直观理解
在原纸上无法画直线分开的点,换一种坐标展开后可能可以。模型仍按直线规则工作,但你改变了它看到的坐标。
核心原理
原始特征线性分数只含各输入的加性贡献,不能自动表达乘法交互或局部阈值。但加入平方、交互、样条或领域特征后,同一个线性求和可在原空间形成非线性函数。
特征扩展会增加维度与共线性,需结合缩放和正则。高维稀疏表示可能很适合线性方法;盲目添加所有高阶多项式却会增加计算和过拟合风险,且外推时高次项增长很快。
判断适用边界可从验证残差、错误分组和非线性基线比较入手。线性模型快速、可检查,但不是天然因果模型;树、核和神经网络也要使用同样独立验证协议,不能仅凭结构复杂就认为更合适。
XOR 中加入交互特征
- 四个输入为 (0,0)、(0,1)、(1,0)、(1,1)
- 标签为 0、1、1、0
交互分数在四点上依次为 -0.5、0.5、0.5、-0.5,能表达 XOR。
新模型对扩展特征 (x1,x2,x1x2) 仍是线性求和,因此“线性模型”不等于“原始输入只能有直线关系”。特征映射和估计器应一起描述。
四点上的手工构造仅说明可表达性,不是外部测试表现。真实任务需要从训练数据选择特征,并在未用于构造规则的数据上验证。
数学表达
核心表达
模型对 phi(x) 线性;交互项使其在原始二维空间具有非线性边界。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1建立缩放与正则的线性基线。
- 2查看独立验证残差与系统性错误,识别需要的交互。
- 3将特征构造放入训练流程,并与非线性基线公平比较。
代码对应位置
示例 1XOR 中加入交互特征的最小验证:使用完整构造输入核对XOR 中加入交互特征,输出只表示本例计算。
计算与实现步骤
- 建立缩放与正则的线性基线。
- 查看独立验证残差与系统性错误,识别需要的交互。
- 将特征构造放入训练流程,并与非线性基线公平比较。
代码实现
示例 1
XOR 中加入交互特征的最小验证
example_01.py用途:使用完整构造输入核对XOR 中加入交互特征,输出只表示本例计算。
points = [(0, 0), (0, 1), (1, 0), (1, 1)]
linear = [a + b - 0.5 for a, b in points]
interaction = [a + b - 2 * a * b - 0.5 for a, b in points]
print("linear predictions:", [int(s >= 0) for s in linear])
print("interaction scores:", interaction)
print("interaction predictions:", [int(s >= 0) for s in interaction])代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
使用完整构造输入核对XOR 中加入交互特征,输出只表示本例计算。
b- 偏置项。
scores- 交叉验证各折的评价分数。
Step 1 · 1–6 行
输出中间参数、形状或最终指标,用于核对代码是否符合预期。
points = [(0, 0), (0, 1), (1, 0), (1, 1)]
linear = [a + b - 0.5 for a, b in points]
interaction = [a + b - 2 * a * b - 0.5 for a, b in points]
print("linear predictions:", [int(s >= 0) for s in linear])
print("interaction scores:", interaction)
print("interaction predictions:", [int(s >= 0) for s in interaction])预期输出或运行结果
linear predictions: [0, 1, 1, 1] interaction scores: [-0.5, 0.5, 0.5, -0.5] interaction predictions: [0, 1, 1, 0]
常见错误 · 2 条
- 复杂模型一定更好
- 盲目高阶多项式
实际应用
- 高维稀疏文本基线
- 通过交互或样条扩展线性表达
常见错误
- 复杂模型一定更好
- 盲目高阶多项式
推荐学习资料
参考库不会生成虚假资源或无效外部链接。