-2

我想在我的程序中使用特征提取,然后估计每个特征的最佳权重并计算新输入记录的分数。

例如,我有一个释义数据集。该数据集中的每条记录是一对两个句子,两个句子的相似度用一个介于 0 和 1 之间的值表示。在我提取了例如 4 个特征之后,我用这些特征值和相似度分数创建了新的数据集。我想使用这个新数据集来学习权重:

释义数据集:

"A problem was solved by a mathematician"; "A mathematician was found a solution for a problem"; 0.9  
.  
.   

新数据集:

0.42; 0.61; 0.21; 0.73; 0.9
.  
.

我想使用回归来估计每个特征的权重。我想用方程 1 计算程序中输入句子的相似度:S = W1*F1 + W2*F2 + W3*F3 + W4*F4

我知道回归算法可以用于这项工作,但我不知道如何?请指导我做这项工作?是否有任何论文或文档使用了回归算法?

4

1 回答 1

2

您正在寻找的是一个简单的线性回归(顺便说一句,它不是算法,而是 - 数据建模方法,算法用于查找线性回归参数,但回归本身不是算法),但您也应该将偏差(截距)项添加到方程中,使其变为:

S = w1*f1 + w2*f2 + w3*f3 + w4*f4 + b

或矢量化格式

s = <F,W> + b

<F,W>您的权重和特征的内积在哪里,并且b是偏差(实值变量)

为了统一,你可以添加一个常数值 f5=1,并包含w5而不是 b,所以它变成了

s = <F,W>

您可以使用普通最小二乘法解决它

W = (F'F)^(-1)F's

这导致就残差平方和而言的最佳线性回归。

在每种编程语言中,您都会找到用于执行线性回归的库,因此您不必自己实现它。特别是库也会负责引入b变量,所以不需要自己实现。

于 2013-08-17T15:37:48.433 回答