5# lightman.guo 
不好意思,正如我所说的,lz你要解的这个东西没什么意义啊,不明白为什么一定要纠结在这里。如果你想建立这样标准的模型,很简单,先做elastic-net,通过cross-validation寻找最终参数,然后这时你可以得到lambda和beta,于是你就可以用得到的结果计算相应的你的penalty下面的那个c了。
如果你真的想解这个问题,可以通过prime-dua的方法l先把你的penalty化到你的目标函数里,形式上大约是
(||Y-X*beta||_2)^2 + a (lambda*(||beta||_2)^2 + (1-lambda)*||beta||_1),其中a和你想要的C会满足一定的关系,这个要你具体推导。然后对这个新的目标函数做优化,如果直接算,可以考虑用coordinate descent,这种算法不能保证收敛,但是在这种情况下应该差不多。因为对于elastic-net 这种算法是可行的,而且速度很快。算法具体的形式你Google一下就行。