madeleineudell / LowRankModels.jl

LowRankModels.jl is a julia package for modeling and fitting generalized low rank models.
Other
190 stars 65 forks source link

One regularizer per column for X? #72

Closed amanoel closed 7 years ago

amanoel commented 7 years ago

I've noticed that while one can pass an array of regularizers for Y (i.e. one per column of Y), the same is not possible for X. Is there a reason for that? Is there any interest in generalizing the code in that direction? Maybe I could help!

madeleineudell commented 7 years ago

Hi Andre,

The only reason is that we haven't come across an application that requires it. If you need that functionality, you'd be welcome to help and submit a PR!

Another modification we haven't gotten around to yet is having a different loss function for every element, rather than every column of the matrix A. The difficulty there is to allow a different loss function for (potentially) every entry, without requiring O(mn) memory if the problem has simpler structure (where m,n = size(glrm.A)).

On Fri, Dec 23, 2016 at 2:31 AM, Andre Manoel notifications@github.com wrote:

I've noticed that while one can pass an array of regularizers for Y (i.e. one per column of Y), the same is not possible for X. Is there a reason for that? Is there any interest in generalizing the code in that direction? Maybe I could help!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/72, or mute the thread https://github.com/notifications/unsubscribe-auth/AAyp9E2KAF3OIx3q-YKHx_B8vtKcjBIiks5rKsITgaJpZM4LUQOu .

-- Madeleine Udell Assistant Professor, Operations Research and Information Engineering Cornell University https://people.orie.cornell.edu/mru8/ (415) 729-4115

amanoel commented 7 years ago

Hello, thanks for the quick answer!

I see! I was taking a look at the code and it seems like it would be easy to implement it, so I might try it out. If I'm successful I'll submit a PR then :-)

I have the following in mind: a regularization similar to QuadReg, but which evaluates to $|x - m|_2^2$ instead of $|x|^2$, $m$ being an arbitrary array of size R which is passed as parameter (in other words, a Gaussian prior with non-zero mean). I've actually implemented it and used it for Y, but I wanted to use it for both matrices.

An element-wise loss function seems a bit more complicated indeed, especially while using less than O(mn) memory... I'll think about it while looking at this other issue.

Le jeu. 22 déc. 2016 à 20:15, Madeleine Udell notifications@github.com a écrit :

Hi Andre,

The only reason is that we haven't come across an application that requires it. If you need that functionality, you'd be welcome to help and submit a PR!

Another modification we haven't gotten around to yet is having a different loss function for every element, rather than every column of the matrix A. The difficulty there is to allow a different loss function for (potentially) every entry, without requiring O(mn) memory if the problem has simpler structure (where m,n = size(glrm.A)).

On Fri, Dec 23, 2016 at 2:31 AM, Andre Manoel notifications@github.com wrote:

I've noticed that while one can pass an array of regularizers for Y (i.e. one per column of Y), the same is not possible for X. Is there a reason for that? Is there any interest in generalizing the code in that direction? Maybe I could help!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/72, or mute the thread < https://github.com/notifications/unsubscribe-auth/AAyp9E2KAF3OIx3q-YKHx_B8vtKcjBIiks5rKsITgaJpZM4LUQOu

.

-- Madeleine Udell Assistant Professor, Operations Research and Information Engineering Cornell University https://people.orie.cornell.edu/mru8/ (415) 729-4115

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/72#issuecomment-268869997, or mute the thread https://github.com/notifications/unsubscribe-auth/ABusIJV__RIgrc1THGl-_HGNShg_EyTsks5rKsxfgaJpZM4LUQOu .

madeleineudell commented 7 years ago

Oh yes, that's a nice regularizer to have. Ping me with a PR!

On Dec 22, 2016 12:04 PM, "Andre Manoel" notifications@github.com wrote:

Hello, thanks for the quick answer!

I see! I was taking a look at the code and it seems like it would be easy to implement it, so I might try it out. If I'm successful I'll submit a PR then :-)

I have the following in mind: a regularization similar to QuadReg, but which evaluates to $|x - m|_2^2$ instead of $|x|^2$, $m$ being an arbitrary array of size R which is passed as parameter (in other words, a Gaussian prior with non-zero mean). I've actually implemented it and used it for Y, but I wanted to use it for both matrices.

An element-wise loss function seems a bit more complicated indeed, especially while using less than O(mn) memory... I'll think about it while looking at this other issue.

Le jeu. 22 déc. 2016 à 20:15, Madeleine Udell notifications@github.com a écrit :

Hi Andre,

The only reason is that we haven't come across an application that requires it. If you need that functionality, you'd be welcome to help and submit a PR!

Another modification we haven't gotten around to yet is having a different loss function for every element, rather than every column of the matrix A. The difficulty there is to allow a different loss function for (potentially) every entry, without requiring O(mn) memory if the problem has simpler structure (where m,n = size(glrm.A)).

On Fri, Dec 23, 2016 at 2:31 AM, Andre Manoel notifications@github.com wrote:

I've noticed that while one can pass an array of regularizers for Y (i.e. one per column of Y), the same is not possible for X. Is there a reason for that? Is there any interest in generalizing the code in that direction? Maybe I could help!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/72, or mute the thread < https://github.com/notifications/unsubscribe-auth/AAyp9E2KAF3OIx3q-YKHx_ B8vtKcjBIiks5rKsITgaJpZM4LUQOu

.

-- Madeleine Udell Assistant Professor, Operations Research and Information Engineering Cornell University https://people.orie.cornell.edu/mru8/ (415) 729-4115

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels. jl/issues/72#issuecomment-268869997, or mute the thread https://github.com/notifications/unsubscribe-auth/ABusIJV__RIgrc1THGl-_ HGNShg_EyTsks5rKsxfgaJpZM4LUQOu .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/madeleineudell/LowRankModels.jl/issues/72#issuecomment-268879419, or mute the thread https://github.com/notifications/unsubscribe-auth/AAyp9EZc0wE-qJoz4RPn_D5J4Q5uA8nFks5rKte_gaJpZM4LUQOu .

madeleineudell commented 7 years ago

closed by #73