如何约束线性分类器的权重?
How can I constrain weights of linear classifier?
有许多神经元,我们知道它们在 -3s、-2s、-1s、
喜欢
神经元指数:
1 2 3 4
射击比率
0s: 1 1 -1 1
-1s: -1 -1 0 -1
-2s: 0 0 0 0
-3s: 1 1 1 1
通过使用这些射速历史记录,我想预测神经元当前(0s)的射速是 1 还是 -1。我正在使用线性 SVM 和每个时间点的不同权重。
但是我想约束最近射速权重的绝对值总是大于过去like
体重
-1s: -0.8
-2s: 0.3
-3s:-0.1
如何在线性分类器(如 MATLAB 上的线性 SVM)上实现这个想法?
一个选项是为您的优化问题添加约束,即采用常规 SVM 问题并添加约束:
对于i=2,3,...,d
。这不再是 SVM 问题,因此您必须找到一些通用优化引擎或自己编写求解器。另请注意,此优化问题不再是凸问题,因此任何优化算法都只会找到局部最小值。
有许多神经元,我们知道它们在 -3s、-2s、-1s、 喜欢
神经元指数:
1 2 3 4
射击比率
0s: 1 1 -1 1
-1s: -1 -1 0 -1
-2s: 0 0 0 0
-3s: 1 1 1 1
通过使用这些射速历史记录,我想预测神经元当前(0s)的射速是 1 还是 -1。我正在使用线性 SVM 和每个时间点的不同权重。
但是我想约束最近射速权重的绝对值总是大于过去like
体重
-1s: -0.8
-2s: 0.3
-3s:-0.1
如何在线性分类器(如 MATLAB 上的线性 SVM)上实现这个想法?
一个选项是为您的优化问题添加约束,即采用常规 SVM 问题并添加约束:
对于i=2,3,...,d
。这不再是 SVM 问题,因此您必须找到一些通用优化引擎或自己编写求解器。另请注意,此优化问题不再是凸问题,因此任何优化算法都只会找到局部最小值。