2015-10-27 7 views
1

У меня есть следующая проблема. Предположим, что у нас есть x_{jk}, это значение выражения гена j в образце k. Это среднее значение уровней экспрессии через клеточных типы S_ {IJ}, взвешенный с помощью соответствующих пропорций а_ {ки} (= 1 ... N, N-типа заболевания):Theano пример решения линейного программирования

enter image description here

Как правило, это может быть выражено в матричной форме

enter image description here

То, что я хочу сделать, это решить это уравнение

enter image description here

Как это сделать, используя Theano?

ответ

3

Вы можете сделать это в anano или не делать это в theanano. Единственное, что может помочь вам сделать anano, - это градиент евклидовой нормы, который он может рассчитать для вас, но который также легко писать вручную. Алгоритм решения проблемы должен быть реализован самостоятельно. Либо вы пишете лагранжиан, либо затем решаете двойственную задачу с помощью градиентного восхождения и проекции на ограничение, или вы решаете основную задачу непосредственно путем спуска градиента и проекции на ограничения. Вам нужно запрограммировать эти шаги оптимизации самостоятельно, что также относится к любой другой оптимизации, которую вы делаете в theano.

+0

Можете ли вы привести простой пример? – neversaint

+3

Прошу прощения, это займет слишком много времени. Это объясняется в выпуклой книге оптимизации Бойда. См. Также их технический отчет о проксимальных операторах, которые могут быть полезны здесь. – eickenberg

+1

Это проблема [QP] (https://en.wikipedia.org/wiki/Quadratic_programming), а не [LP] (https://en.wikipedia.org/wiki/Linear_programming). Я не думаю, что это мудрое воплощение в анано. В целом, это не является хорошей идеей для реализации каких-либо классических задач оптимизации самостоятельно, если это не ваше поле исследований. Выберите решатель [здесь] (https://en.wikipedia.org/wiki/Quadratic_programming#Solvers_and_scripting_.28programming.29_languages)! – BGabor

Смежные вопросы