【发布时间】:2018-09-22 02:33:56
【问题描述】:
目的:
我正在尝试构建一个模型来将多个输入分类为单个输出类,如下所示:
{x_i1, x_i2, x_i3, ..., x_i16}(特征)到 y_i(类)
我正在使用 SVM 进行分类,但 0/1 损失很糟糕(一半的数据分类错误),这使我得出结论,数据可能是非线性的。这就是我玩多项式基函数的原因。我对每个系数进行了变换,以便得到最多 4 次多项式的任意组合,希望我的特征在变换后的空间中是线性的。我的新转换输入如下所示:
{x_i1, ..., x_i16, x_i1^2, ..., x_i16^2, ... x_i1^4, ..., x_i16^4, x_i1^3, ..., x_i16^3 , x_i1*x_i2, ...}
损失已降至最低,但仍不是我想去的地方。由于随着多项式次数的增加过度拟合的机会增加,我添加了正则化以抵消这种情况。我还添加了一个前向贪心算法,以获取导致交叉验证误差最小的系数,但没有很大的改进。
问题:
是否有系统的方法来确定哪种变换会导致变换空间中的线性特征行为?对我来说似乎有点奇怪,我必须尝试每一个多项式,直到它“适合”。除了多项式之外,是否还有更好的基函数?我知道在低维特征空间中,可以简单地将数据绘制出来并直观地估计变换,但是我该如何在高维空间中做到这一点?
也许有点跑题了,但我也告诉自己有关 PCA 的信息,以便首先丢弃那些不提供太多信息的组件。这值得一试吗?
感谢您的帮助。
【问题讨论】:
标签: machine-learning classification svm linear-regression feature-selection