线性模型的局限性
在现实世界中我们所遇到的情况大多是非线性的, 比如在信用额度评估中的年龄,太小或太大都不好,这个最佳年龄范围大约是在30到50之间,这显然就是非线性的。
那么我们能否使用线性模型来处理这些非线性的问题?
在回答这个问题之前,让我们先探讨一下,所谓线性模型中的“线性”究竟是什么?
什么是线性
线性分类
Y
=
s
i
g
n
(
∑
i
=
0
d
w
i
∗
x
i
)
Y =sign( \sum_{i=0}^dw_i*x_i)
Y=sign(∑i=0dwi∗xi)
线性回归
Y
=
∑
i
=
0
d
w
i
∗
x
i
Y = \sum_{i=0}^dw_i*x_i
Y=∑i=0dwi∗xi
上述两个线性模型的核心计算公式中,
x
i
x_i
xi 是某一属性的数字表示,我们可对其进行线性变化。比如说,我们可以用1-5的分值,来分别表示状况不良到状况极佳的5中不同房屋状况,如有必要我们也可以把这个房屋状况评分系统划分得更细,如用0到100分的评分体系。
而年龄之类的属性,天然就是数字类型的。但我们可以对它做一些非线性变化,例如求年龄和和最佳年龄的差距值,将变化后的数值再用作线性模型的输入属性。
非线性变化
请看下面的例子,图中A组(红色)数据集中于图像的中心区域,而B组(蓝色)数据则分散在四周,这显然不可以使用线性分类将其区分开来。但是我们可以将这两组数据变换成到(1,1) 点距离的平方, 即 x 1 ′ = ( x 1 ′ − 1 ) 2 , x 2 ′ = ( x 2 ′ − 1 ) 2 x_1' = (x_1'-1)^2, x_2'=(x_2'-1)^2 x1′=(x1′−1)2,x2′=(x2′−1)2。 经变换后的数据则如下方右图所示,这就线性可分了。