sunduanchen / Scissor

Scissor package
GNU General Public License v3.0
168 stars 29 forks source link

Inconsistent definition of "Net" penalty between Scissor and APML0 #21

Closed HaidYi closed 2 years ago

HaidYi commented 2 years ago

Hello Duanchen,

Thank you for developing this tool to identify phenotype-relevant cell subsets. I have a question regarding the definition of the "Net" penalty. In the paper, the regularization item is shown as \lambda (\alpha |\beta|_1 + 1/2\beta^T L \beta). But in APML0, they define the "Net" regularization as \lambda \alpha |\beta|_1 + 1/2 \beta^T L \beta (\lambda is not applied for the Laplacian item). So, do you customize the solver to reflect this change? Thank you so much.

For reference, I paste the manual of APML0 here (https://cran.r-project.org/web/packages/APML0/APML0.pdf).

sunduanchen commented 2 years ago

Hi,

Thank you for your question.

In our project, we didn't use the formula in APML0 manual but studied their paper and code. I double checked their optimization and iteration code and found that lambda is not applied for the Laplacian item in manual formula was probably a typo.

In their original code, the lambda was applied on both l1 norm and Laplacian term. For example, they defined

lambda1=lambda(il)*alpha*wbeta; lambda2=lambda(il)*(1.0-alpha)

for all regression and regularization type. And these two variables were both correctly used afterwards.

BTW, Scissor enables a framework to apply widely available phenotype information on single-cell data analysis. Sometimes the network penalty is very time-consuming on large scale data (especially for reliability significance test), we will update a faster and simplified version based on glmnet in future.

Hope these help.

Best, Duanchen

HaidYi commented 2 years ago

Great! I understand it now. Thank you for your quick response.

HaidYi commented 2 years ago

Problem solved and close this issue.