• Поведение REST-запросы DELETE в идемпотентности?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Влияет.
    Больше слоев - напрямую увеличивает сложностью архитектуры, и увеличивает количество возможных вариаций взаимодействий. Что считается типа лучше для подгонки к решению.
    П. С.
    есть понимание что, каждый новый слой в нейросети должен СОКРАЩАТЬ энтропию с которой он работает, иначе просто бессмысленно увеличивать количество слоев, соответственно увеличивать количество слоев тоже нельзя бесконечно (также как и сокращать бесконечно энтропию)
    Ответ написан
  • CMS Для серьезных проектов как банк и т.д?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    Новые технологии и подходы во всех сферах появляются, можно любую брать и заниматься там передовыми технологиями. Если же брать прямо сферу супер новую, которой раньше и не было - то там как правило нет рынков, их еще нужно формировать, чтоб окупать эти новые технологии.
    Робототехника - очень перспективна как рынок и технологии которые там используются, но массового рынка все еще не сформировано. Возможно там что-то можно поймать.
    Очень много в биотехнологиях разрабатывается, тоже считается одним из самых перспективных направлений и с передовыми технологиями, но там пока еще все более туманно чем в робототехнике.
    Финансы - ну вот тоже вроде назревает там что-то новое и интересное, есть направление связанное с криптовалютами - на сколько это перспективно, вопрос. Я вот думаю что это пустое направление с нулевым выхлопом (пирамида).
    Ну и само собой машинное обучение, сейчас тема которая дает реальный выхлоп, и практически везде используется (заменяя привычную автоматизацию по анализу данных). Без машинного обучение ни в какую сферу передовую и не залезть.
    Ответ написан
  • Управление БПЛА (дронами, квадрокоптерами) - какие актуальные задачи существуют?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    хех, вы хотите чтоб мы за вас написали вам ТЗ?
    нет устоявшихся успешных решений в этой области, просто не существует, ваша (стартапа) задача НАЙТИ такое решение.
    Для этого поиска, можно использовать бесчисленное количетсво методов, подходов, технологий, языков и тд.
    Найдите грамотных разработчиков, позвольте им САМИМ РЕШИТЬ как правильнее это делать, а не диктуйте им решения раз сами в этом нихрена не понимаете, формируя представления в теме на основе каких-то обсуждений на форуме.
    Ответ написан
  • Куда пойти после IT?

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    совет любому сервису, для того чтоб все быстро работало необходимо:
    1. Эффективный алгоритм (для текущего примера суффиксные деревья https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D...
    2. Эффективная реализация - на языке программирования, позволяющий эффективно работать по процессору и по памяти) - можно взять любой компилируемый язык, например с++ или java (при работе со ссылками в оперативной памяти будет в тысячу раз быстрее работать чем реализации на пхп.
    3. Эффективная инфраструктура (железо) - масштабирование / распределение задач по серверам, при большой нагрузке.
    Ответ написан
  • Для может понадобиться gitlab на своём сервере?

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

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

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

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    В прикладном программировании ТРЕБУЮТСЯ понимания алгоритмов и структур данных, а также умение искать эффективных решений.
    Хороший разработчик гарантированно может решать олимпиадные задачи - пускай не самые сложные, но по крайней мере на реализацию, и задачи со среднем уровнем сложности.
    Выдающихся результатов именно в спортивном программировании, для хорошего разработчика НЕ требуется, но все равно решать часть олимпиадных задач он гарантированно может, хотя бы на среднем уровне.
    Ответ написан
  • Какие знания необходимы для изучения нейронных сетей?

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

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

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

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    А какой смысл вам переживать, получится или не получится? начните делать, хуже от этого никому не будет.
    По поводу подводных камней, само собой если вы принимаете за фитчу (сигнал), в нейросети например 1 слово, то увеличивая количество слов вы усиливаете этот сигнал - тексты где больше слов будут выдавать большие значения сигналов, где меньше слов - меньшие значения, поэтому вам нужно использовать нормализацию этих сигналов, грубо говоря например делить размер сигнала на количества слов в тексте, для каждого текста (ну и так будет "честнее" сравнивать, тексты разного обьема).
    По поводу падежей, родов - для этого используют стемминг, предварительную очистку текста от такой специфики (приведение текста в нейтральный вид). По поводу английский или русский - разницы никакой (только спемминг нужно под русский сделать), само обучение не имеет разницы.
    Для обучения по текстам, можно даже компьютеры из 90х использовать, все будет работать.
    Ответ написан
  • Изучение нейросетей или углубление в Python?

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

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

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

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