Inversion of a matrix is almost never done explicitly. See Golub and van Loan for a comprehensive discussion of how to solve linear equations.
With locally weighted linear regression, I presume that you will have a small over-determined system for which you want an ordinary least squares solution. That would imply that you should use something such as QR decomposition for your solution. We don't have that in Hadoop, but it and related solvers are clearly going to be needed. On 4/11/08 5:19 AM, "Samee Zahur (JIRA)" <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/MAHOUT-24?page=com.atlassian.jira.plugin > .system.issuetabpanels:comment-tabpanel&focusedCommentId=12587939#action_12587 > 939 ] > > Samee Zahur commented on MAHOUT-24: > ----------------------------------- > > I think I am now a bit confused about the nips paper. Correct me if I am wrong > here, but it does seem like the paper describes a system where there is only > one input variable x and only one output y. There, x[i] seems to represent > various input values and y[i] the observed output at those values. If that is > the case, my code above works perfectly. There, I have provided just one input > variable and multiple output variable for each point. > > If, however, we want the number of input variables to increase, I'll need to > invert a symmetric d x d matrix where d is the number of input variables (or > input vector dimension). I could use any algorithm at all, but most seem to > use O(d^3) time which scale pretty badly. Any ideas? > >> Skeletal LWLR implementation >> ---------------------------- >> >> Key: MAHOUT-24 >> URL: https://issues.apache.org/jira/browse/MAHOUT-24 >> Project: Mahout >> Issue Type: New Feature >> Environment: n/a >> Reporter: Samee Zahur >> Attachments: LWLR.patch.tar.bz2 >> >> >> This is a very skeletal but functional implementation for LWLR. It outputs n >> lines where n is the number of dimensions. ith line = sum(x[i]*x[ind]) where >> ind is the index of independant variable. So the actual gradient = 2nd >> line/1st line for the classical 2D. >> Contains a single small test case for demonstration.
