@xl0

xl0

xl0
xl0

Молекулярный биологист и линуксов программист. Мир смотрю, себя показываю.

zaytsev.su

9 я читаю 27 меня читают
121 постов
228 комментариев
xl0
22 Aug 2014

Специалисты по machine learning, тут такая задача. Есть последовательности, которым сопоставлены числа, вида

  1      TCGTTGCTACTGGTG
    3    ATTCTTTGAATGGTT
    46   TTATATAGTTGGGAT
    852  CAACATGGTTTGGAA
   26221 CCATCCTACCCGGTA
   32486 ACATTACACAAGGTA
   33514 ACAGACGAACAGGAC
  101681 CGTTAATACGTGGTG
  104012 AAGGTCATATGGGCA
  251023 ATGATCTTATTGGTA

На самом деле, последовательности длиннее, и их тысячи. Так вот, нужно понять, какая закономерность между числом и содержимом последовательности, ну и научиться предсказывать примерно порядок числа из последовательности. Глазами это совершенно не видно.

Есть идеи, в какую сторону смотреть?

Рекомендовано: a-nya, masai и 175eyes
#tlzfq 23
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

очень мало данных.

Я делаю предположение, что если числа близки друг к другу, то и последовательности близки. Можно попробовать разбить все на K кластеров с помощью k-kmeans, визуализировать и посмотреть глазами (что будет гораздо удобнее если данные уже кластеризованы)

Можно разбить последовательность ATGATCTTATTGGTA на бинарные компоненты (AT, GA, etc). Допустим, что количесво всех возможных комбинаций компонентов в строке - N. Делаем features вектор из N элементов, для каждой строки, отмечаем компоненты, которые представлены в строке 1ками, которые нет - нулями. Values вектором будут наши чиселки. Скармливаем X (features vector) и y (values vector) какому-нибудь SVM'у и смотрим на сколько хорошо он предсказывает число по заданой строке.

Если подольше подумать, наверное что-то поумнее можно сварганить.

#tlzfq/1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

dk, s/k-kmeans/k-means/

#tlzfq/2 в ответ на /1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

Ну, если смотреть по буквам, то близости особо не видно. Если сделать http://en.wikipedia.org/wiki/Sequence_logo , видно что-то, но есть мнение, что там должна быть какая-то нетривиальная зависимость.

#tlzfq/3 в ответ на /2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

Мы вот думали найронные сети. Если они могуть распознать котиков на картинках, тут задача вроде проще.

#tlzfq/5 в ответ на /2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

xl0, на самом деле для такого вида классификации, что NN, что SVM дадут примерно один и тот же результат.

#tlzfq/6 в ответ на /5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

xl0, нейронные сети лучше оставлять на самый крайний случай. С ними возни много. Лучше сначала попробовать какие-то более явные методы.

#tlzfq/7 в ответ на /5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
22 Aug 2014

ДНК? НЕ СМЕЙ РАЗБИРАЦА БОЖЫНЬКА ПОКАРАИТ!

#tlzfq/4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

Я не совсем в теме ДНК, так что буду задавать уточняющие вопросы.
1) Есть ли в этих последовательностях "слова", т.е., как таковые последовательности. которые часто повторяются и имеют одинаковый смысл? Т.е., минимальным элементом является буква или какое-то такое слово? Если слово, то можно построить Phil clusters (оно защищено US патентом, so you should be careful using it in commercial applications). Почитать про это можно вот тут - http://www.amazon.com/Machi...tation/dp/0262018020 , страница 929.
2) Если в последовательностях важны буквы, или уже разбивка на элементы сделана, то дальше несколько вариантов:
a) Если у нас сходные вектора всегда, то берём Liblinear/Libsvm, разбиваем на фичи как советовал dk, пытаемся что-то выучить. Как вариант, можно FANN попробовать (http://leenissen.dk/fann/wp/), это как раз будут нейронки, но вряд ли эффект будет лучше, чем от банального liblinear.
б) Если вектора не сходны, и большее значение имеет последовательность (т.е., в конечном счёте число зависит от какого-то особого сочетания маленьких фич, и пофиг, в каких местах они стоят, главное, чтобы они где-то там были в таком порядке), то стоит попробовать TreeBoost
в) Deep Learning как последнее средство, особенно если можно делать измерения чиселок каким-либо образом.

А есть ли еще какие-то данные? Например, каким образом происходит сопоставление чисел и последовательностей? Просто измерением? Можно ли делать какие угодно измерения или только определенные?

#tlzfq/8
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

tilarids, Спасибо. В данном случае, слов нет.

Что значит сходные вектора? Они одной длинны, но в целом буквы встречаются в последовательности достаточно равномерно и совершенно произвольно. То-есть вот, например, лого всех последовательностей:


(да, GG там всегда в том месте)

Собственно число N - это сколько раз мы увидели кусок этой последовательности в deep sequenseing'е результатов эксперимента. К сожалению в детали вдаваться пока не могу. Почему-то мы видим, что некоторые последовательности встречаются на много порядков чаще, чем другие. Почему - не понятно.

Разумеется, тут биология, так что много шума. Вот три эксперимента, нормализованных по общему количеству отсеквенированных последовательностей, попарно scatter plot.

То-есть шумно, но и без статистики видно, что если последовательность часто встречается в одном эксперименте, она вероятно будет часто встречаться и в остальных, то-есть частота как-то хитро зависит от содержимого. Хотя результаты пока очень предварительные, и там ещё есть куча идей как получить более качественные данные.

На лого для верхних и нижних 10% что-то возможно и видно, но как-то не очень внушительно:


Так что да, буду смотреть рекомендации, спасибо.

#tlzfq/9 в ответ на /8
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

xl0, и у днк и у рнк есть слова. Они называются триплеты. Один триплет обозначает либо одну из 20(22)* аминокислот, начало инфомационного куска, конец информационного куска, начало синтеза, конец синтеза.

Или вопрос был о чём-то другом?

*
https://ru.wikipedia.org/wi...BB.D0.BE.D1.82.D1.8B

#tlzfq/10
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

Вопрос был о чём-то другом. Нет, триплеты тут нипричём.

#tlzfq/11 в ответ на /10
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
23 Aug 2014

На самом деле вполне могут и быть слова/фразы там судя по твоему ответу. Так что имеет смысл попробовать выучить producing model.

#tlzfq/12 в ответ на /11
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
24 Aug 2014

tilarids, Моему ответу biohazardmonkey? Не совсем понял каким образом. Переводя на программистский язык, biohazardmonkey рассказывает, что пиксели в .bmp кодируются словами в 4 байта. Что действительно там, но если копаться в драйвере файловой системы, это достаточно иррелевантная информация - у меня на диске не только .bmp, да и драйвер не знает ничего про формат файлов, которые хранит.

#tlzfq/13 в ответ на /12
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
24 Aug 2014

Я про твой ответ мне. У тебя есть некоторые подпоследовательности. Которые сгруппированы. Вот они слова/фразы и есть.

#tlzfq/14 в ответ на /13
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
25 Aug 2014

tilarids, Наверное я плохо объяснил. Попробую немного больше подробностей.

У нас есть фермент, который вырезает кусочки ДНК, и вставляет их в другое место. Как он их выбирает - не совсем ясно, кроме того, что все они заканчиваются на GG. Но даже то, что заканчивается на GG, встречается очень не равномерно. Какие-то кандидаты встречаются сотни тысяч раз на эксперимент, какие-то вообще не встречаются, и результаты разных экспериментов тоже хорошо коррелируют. То-есть наверно есть ещё какая-то менее очевидная закономерность.

#tlzfq/15 в ответ на /14
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
25 Aug 2014

Да, мои данные (генерируемые питонами из сырых данных секвенирования) - последовательности, из которых были вырезаны эти кусочки, выравненные по конечному GG, и число, как часто мы видели каждую из них. Так как определяющий фактор может быть и где-то за пределами вырезанной последовательности, там несколько больший кусок, до и после того, что было вырезано.

#tlzfq/16 в ответ на /15
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
25 Aug 2014

Крутота. Я подумаю. И еще вопрос - можно эту задачку обсуждать с другими любителями ML?

#tlzfq/17 в ответ на /16
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
25 Aug 2014

tilarids, Да, конечно, если им будет интересно. Единственно, я не смогу предоставить данные, и, главное, если что-то найду, до публикации тоже не буду об этом говорить. Я не склонен параноить по поводу публикаций, но проект не мой личный, так что ой.

#tlzfq/18 в ответ на /17
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
01 Sep 2014

xl0, задача из разряда регрессии, так что нужно взять и ебануть регрессию. Любую, на самом деле, хоть логистическую; перформанс куда сильнее зависит от набора фич, чем от алгоритма.

И без вразумительных фич (функций real-valued, векторных, можно и категориальных, из исходных данных в какие-то «осмысленные» и релевантные характеристики) сильно врядли что-то выйдет, как и с классификаторами. Ну, типа, циферки сегодня на компьютере можно распознавать только потому, что народ нашёл ключевые фичи растровых изображений (LBP там, и другие), которыми алгоритм может объяснять данные и вообще всё делать.

Если подумать минутку, для твоего случая на ум приходят sparse фичи из разряда «сколько раз фиксированная подпоследовательность abc...d встречается в инпуте». Но их как бы их всех экспоненциальное количество, этих abc...d, от длины, так что обучать наугад будет трудно. Но можно что-то найти; если это дело объясняется какой-то отдельной подпоследовательностью (или комбинацией нескольких) не больше выбраной длины — то ты даже найдёшь это конкретные подпоследовательности.

В целом — думай над возможными фичами в исходных последовательностях. Алгоритм обучения-то в общем случае тупой, он тебе магические зависимости сам не найдёт. Но поможет обнаружить, помогает ли конкретная фича лучше объяснять данные.

#tlzfq/19
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
01 Sep 2014

Я тупой и мало что понял. Мы пока решили скормить данные ersatzlabs.com и посмотреть, что выйдет. Но есть подозрения что нужно больше минера^Wданных - если отобрать только последовательности, встречающиеся очень часто во всех экспериментах, там получается меньше сотни.

#tlzfq/20 в ответ на /19
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
19 Jun 2015

Че там у хохлов?

#tlzfq/21
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
19 Jun 2015

Да нифига толкового не вышло в целом.

#tlzfq/22 в ответ на /21
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
25 Jun 2015

xl0, а чо вышло?

#tlzfq/23 в ответ на /22
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.