我一直在尝试在 Ruby 中实现局部加权逻辑回归算法。据我所知,目前还没有这个算法的库,而且可用的信息很少,所以很难。
我的主要资源是Kan Deng 博士的论文,他在其中描述了算法,我觉得很简单。到目前为止,我在图书馆的工作就在这里。
我在尝试计算B
(beta)时遇到了麻烦。据我了解,B
是一个(1+d x 1)
表示特定点的局部权重的向量。之后,pi
该点的(正输出概率)是基于该点的 sigmoid 函数B
。要获得B
,请递归使用 Newton-Raphson 算法一定次数,可能不超过 10 次。
第 66 页上的公式 4-4,Newton-Raphson 算法本身,对我来说没有意义。根据我对什么X
和 W 的理解,(x.transpose * w * x).inverse * x.transpose * w
应该是一个(1+d x N)
矩阵,它与 不匹配B
,即(1+d x 1)
. 那么,唯一可行的方法是,如果 e 是一个(N x 1)
向量。
但是,在第 67 页的顶部,在图片下方,邓博士只是说 e 是一个比率,这对我来说没有意义。是 e 欧拉常数吗?碰巧这个比率总是 2.718:1,还是别的什么?无论哪种方式,对我来说,解释似乎都没有暗示它是一个向量,这让我感到困惑。
的使用pi'
也让我感到困惑。方程 4-5 是 sigmoid 函数 wrt B 的导数,给出一个常数乘以一个向量,或一个向量。不过,根据我的理解,pi'
它应该是一个数字,乘以 w 并形成权重算法 W 的对角线。
所以,我的两个主要问题是e
,第 67 页上的内容是什么,这是1xN
我需要的矩阵,以及pi'
等式 4-5 中的数字是如何结束的?
我意识到这是一个很难回答的问题,所以如果有一个好的答案,那么我会在几天后回来并给它一个 50 分的赏金。我会给邓博士发一封电子邮件,但我一直无法查明他在 1997 年之后发生了什么事。
如果有人对此算法有任何经验或知道任何其他资源,我们将不胜感激!