Ответы пользователя по тегу Машинное обучение
  • С чего начать обучение бота на нейронной сети?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    вы должны понимать зачем вам нужно использовать именно нейронную сеть.
    Вам лучше с самых азов зайти, кого обучать, как обучать и тд.
    например упростить задачу до обучения "футболиста" в качестве "автономного агента", на основе конечного автомата, у которого есть состояние (окружения и его самого) и есть действия - и вы пробуете разные комбинации этих состояний и действий.
    Например вы можете описать состояние футболиста как расположение мяча (справа слева впереди, впереди-справа, впереди слева и тд) - сопоставляешь этому состоянию отдельноое действие (движение вправо, влево и тд), дополнительно можешь сопоставить например расстояние до мяча.
    например мяч вверху-слева дистанция 10 ячеек -> действие агента -> движения прямо
    мяч справа слева дистанция 2 ячееки -> действие агента -> движение влево.
    в итоге у тебя получается записанные сопоставления состояниям и действиям.

    для того чтоб обучать оптимальному поведению тебе нужно вводить функцию оценки результата после действий, награждать (запоминать), действия которые приводят к увеличению результата, и отказываться от действий которые снижают результат.
    результатом может быть например 1/"расстояния до меча"
    в начале запускаешь агента с рандомными переборами взаимодействий между состояниями и действиями. Потом более менее обученных двигаться, запускаешь играть друг против друга например в футбол и тд.
    добавляешь к результату оценку результата матча и тд.
    можно использовать генетический алгоритм для более быстрого поиска оптимальных параметров конечного автомата, можешь попробовать потом нейросеть прикрутить. Можешь на основе статистики готовой какие-то выводы сделать (но у тебя статистики я так понимаю никакой нет, так что тебе все равно прийдется обучать бота, играя друг против друга, и перебирать случайные варианты).
    Ответ написан
    6 комментариев
  • Kaggle, конкурс Titanic. Test Accuracy 0.87, лидерборд 0.75 почему?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    хех чувак, если бы обучающая и тестовая выборка были одинаковые, тогда можно было просто загрузить ответы из обучающей выборки в тест и не морочить голову, получив 100% верный результат.
    смысл конкурса, научится строить модель которая работает в ОБЩЕМ случае, для любых примеров данных.
    П. С.
    ты свою модель подгоняешь под свои тестовые данные, в итоге если результаты на других тестовых данных получаются сильно хуже - то это говорит лишь о том что ты переподогнал свою модель под свои тестовые данные, и она хуже работает в общем случае.
    Ответ написан
  • Возможно ли натравить нейросеть для заработка на бинарных опционах?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Натравить можно, зарабатывать нельзя.
    этож казино в привокзальном лохотроне, в котором ты проигрываешь всегда, не зависимо от используемой методики.
    Ответ написан
    2 комментария
  • Как обучить нейросеть играть в игры?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    самый простой вариант, для начала.
    описываешь какие доступны действия для игрока (варианты ходов фигур).
    потом случайно начинаешь делать наугад действия (серию действий) и оценивать результат (победа или проигрыш)
    даешь возможность сохранять результаты ходов, и позиций, при каждом ходе ищешь варианты в базе данных.
    запускаешь бота играть против копии самого себя, собирая статистику ходов, и действий.
    бот типа обучается.
    -------
    проблема в том чтоб сделать грамотную оценочную функцию это один из ключевых моментов.
    Еще проблема -> рост сложности (количества вариантов ходов в партии), как работать с этой сложностью целая наука, постройка деревьев решений, поиск общих патернов, упаковка (кластеризация) типовых серий ходов, эффективные способы поиска ходов без проверки всего многообразия, всякие там эволюционные алгоритмы, для работы с не линейными схемами и тд и тому подобное.
    Ответ написан
    Комментировать
  • Чем отличается автоматическая классификация от распознавания образов?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    теоретически можно конечно сказать, что например классификация - это выбрать из предоставленных классов.
    а распознавание, это вобще понять есть там, что-либо из представленных классов или НЕТ.
    грубо говоря при классификации - фотографий на кошку и собаку, все фотографии будут классифицироваться как кошка или собака, даже если на фото, унитаз.
    при распознавании, типа есть ответ -> что походу на фото ни кошки ни собаки нету.
    но это на первый взгляд, на самом деле даже такая разница нивелируется, если мы расширяем классификацию не на "кошка/собака", а на "кошка/собака/прочее", тогда опять задача распознования сводится к задаче классификации (хотя она изначально и была такой).
    Сегментация это часть классификации, более того например "нейрон" в нейросети, это небольшой классификатор, поэтому абсолютно любую задачу решаемую с помощью нейросетей, можно называть задачами классификации.
    А можно пойти дальше, и показать что любой метод фактически базируется на классификации (сигналов в нейросети, узлов в деревьях, вероятностей в статистических методах и тд)
    Ответ написан
    Комментировать
  • Нейроная сеть на бумаге?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    ну вот на пальцах например:
    у тебя фотография эта делится например на 9 секторов
    в каждом из них есть состояние например 1 или 0 (на состояние секторов ты не влияешь, а только оцениваешь)
    допустим данные с этих секторов считывает один нейрон - после того как он считал состояние всех секторов он должен делать вывод - круг это или квадрат
    этот вывод он делает на основе так называемой "решающей функции".
    допустим решающая функция такая - если сумма всех значений всех секторов больше 5 - значит это квадрат если меньше то это круг (решающие функции могут быть сложнее, но важна сама суть поиска решений)
    и суть такая ->
    на сами входящие значения ты не можешь влиять, поэтому чтоб влиять на результат, ты можешь перемножать на определенный коэффициент входящие значения, и варьируя коэффициент умножаемый на входящее значение ты подгоняешь результат "решающей функции" под требуемый результат. Подгонка эта происходит через процесс называемый обратное распространение ошибки.
    на входе 8 единиц (круг), в начале коэффициенты например равны единицы - сумма всех входящих значений умноженных на коэффициент - равна 8, ты проверяешь, соответствует она твой схеме (при которой круг это значения меньше 5) - нет 8 больше 5, значит ты понижаешь немного значения коэффициентов (обычно изменяют значения не сразу на необходимую величину а на небольшое значение, называемой лернинг рейтом) например на 0.1 (есть много других схем изменения коэффициентов), но вот из-за того что ты показываешь примеры с кругом и квадратом, то повышая на 0.1 значения активировавших нейрон входящих сигналов то понижая, у тебя выходит нужная схема, при которой при входе 8 секторов с единицами, 1 центральный ноль, у тебя сумма с коэффициентами выдает в ответе 4.8 например, что соответствует кругу, а значит коэффициент для всех входящих значений равен 0.6
    П. С.
    сама смысловая связь между каким-то классом, и значением больше 5 или меньше 5 - делает баесовская функция в нейроне, здесь же мы эти значения задали самостоятельно.
    Ответ написан
    Комментировать
  • Как постепенно перекочевать из Web в Machine Learning максимально безболезненно?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    чувак, исходи из текущих задач -> сам МЛ очень широченная область, возьми какую-нибудь задачу, начти ее разбирать для начала используя язык который тебе привычнее.
    Потом уже глядишь другой язык переключишься, несколько языков использовать нет проблемы, путаться ну да будешь немного, ну постепенно выберишь и язык который тебе будет удобнее для работы с с анализом данных, и это не только питон и С++
    Ответ написан
    Комментировать
  • Какой алгоритм регрессии выбрать для шумных (разбросанных) данных?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    какого хрена на графике все параметры смешаны?
    вполне очевидно что каждый параметр вносит влияние в модель с определённым весом, вам нужно подобрать веса для этих параметров.
    начните с линейной зависимости, потом можно перейти на полиномы 2го или 3го порядка если уж вам так не терпиться.
    вы же можете везде оценивать суммарную ошибку (стоимость), какая модель с меньшей ошибкой, такая типа и лучше.
    Ответ написан
    Комментировать
  • Как обработать null значения переменных в регрессии (машинное обучение)?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    вы как исследователь данных сами должны решить что делать с пропусками,
    обычно есть несколько типовых вариантов:
    1. выкинуть эти данные (не подходит если очень мало данных, и каждые на вес золота)
    2. заполнить какими-нибудь значениями типовыми, например нулями (если речь о количестве например) , или средними значениями если например это год (писать например 2005)
    3. восстановить эти данные (для этого уже нужны определённые подходы и алгоритмы. например, используя соседей, к-mean, коллаборативной фильтрацией.)
    у вас вобще тут совсем простая задача -> предположительно цена это результат комбинации набора параметров.
    отсюда вы можете оценить влияние каждого параметра на цену. особенно имея схожие значения.
    начинайте сначала с простых вещей -> там где CONDITION NEW -> очевидно что YEAR = ~ 2015
    потом можно составить систему уравнений -> типа
    YEAR*x+Storey*y+Area*z+Condition*n+Type*m+District*k=PRICE
    можно легко составить систему из 5 уровнений, и найти коэффициэнты любым удобным для вас способом например Гауссом.
    (PS если данных мало то district можно пренебречь)
    Ответ написан
    2 комментария
  • Как найти работу джуниором в Big Data?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    хех людей даже с очень большим опытом работы за границей + большим пластом научных работ не берут. Реальность такова, что у нас практически нет никакой биг даты, и такие специалисты не нужны, те вакансии что висят, это так маркетинг, можете не обращать на них внимание, так же как и сам термин.
    работайте со стартапами, разрабатывайте свои продукты и будет вам занятость.
    P.S.
    НО в целом сфера набирает популярность, спрос растет (устойчивый тренд), особенно в крупных федеральных компаниях.
    Ответ написан
    Комментировать
  • Популярный сервис без/с плохой системы рекомендаций?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    плохая/хорошая - это же всё относительно, возьмите любой сервис сделайте лучше и предыдущая станет плохой).
    Зачем вам заграничные сервисы?
    если вы реально хотите построить рекомендационную систему, тогда вам нужно отталкиваться хотябы от тех данных что вам предоставляют, открывает ли сервис данные по предпочтению пользователей? чтоб потом какие-то рекомендации строить?
    вобщем не замарачивайтесь возмите ВКшечку, и делайте рекомендации постов/новостей, например.
    Ответ написан
    2 комментария
  • Как перед классификацией текста отделить документы которые нужно классифицировать от остальных?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    ну если хотите уберите не существенный текст -> соберите со всех документов общие наиболее употребимые слова, после чего предварительно удаляйте их из всех текстов, оставляя тем самым только наиболее специфичный текст.
    Ответ написан
    Комментировать