Задать вопрос
  • Как оценить вероятность того, что среднее выборочное одного бета распределения больше среднего выборочного другого бета распределения?

    @dmshar
    Если интересует именно сравнение средних, и вы понимаете, зачем это вам нужно (Отступление - взгляните на картинки с pdf таких данных, это не нормальное и не равномерное распределение и даже не экспоненциальное распределение, которые более менее похожи между собой вне зависимости от значений параметров. Посмотрите, как pdf бета распределения меняется в зависимости даже не от самих параметров, а от их взаимоотношения) - так вот в этом случае ответ можно найти, построив доверительные интервалы средних а потом проверить их на пересечение. Ну вот, задал запрос Гууглу, получил в первых же строчках ответ:
    https://www.ipu.ru/sites/default/files/publication...
    По сути, вычисляете параметры ваших распределений, через параметры находите матожидания выборок, соответственно - их дов.интервалы и вот их сравниваете между собой. Нужны-ли такие сложности или можно ограничиться сравнения оценок параметров выборок из бета-распределения - это уже решать исследователю (т.е. вам).
    Ответ написан
    Комментировать
  • Как реализовать обучение нейросети в реальном времени?

    @dmshar
    Вам подойдет любая книга, где рассматривается работа нейросетей. Это касается "обучения НС с нуля". По сути, на этапе обучения НС получает ОГРОМНОЕ количество примеров, циклически обрабатывая которые, по много раз возвращаясь к началу обучения, через очень много циклов она начинает более-менее правильно решать задачу. Когда вы хотите это сделать он-лайн, причем ей на вход примеры будут насыпать "в час по чайной ложке" (а так и будет, если сравнивать скорость работы компьютеров и скорость подачи примеров людьми, даже если таких людей вы заставите работать не отходя от компьютера и наберете хоть пару сотен), то ваша НС через пару лет будет лепетать на уровне двухлетнего ребенка, потом еще пару лет на уровне трехлетнего. На более менее приемлемый уровень ("писать и обрабатывать объёмные тексты") она выйдет очень и очень нескоро. Если у вас цель понять, как учиться ребенок - то вот так это и происходит. А вот если у вас цель сотворить что-то реальное - то этот путь тупиковый и очень затратный.
    Вот, хваленый СhatGPT когда только появился выдавал такой - в прямом смысле "детский лепет". Так это его предварительно обучали на миллиардном корпусе входных данных, на супермощных компьютерах и не один год(!). А вы хотите "с нуля" с ним посоревноваться?
    Но если вас интересует просто попытка разобраться в том, как НС генерируют осмысленный текст ("хотя бы какую-нибудь наводку, книгу, статью" - т.е. у вас вообще нет понимания, как НС работают по разбору и генерации текстов) - то вот можно начать, например, отсюда:
    https://habr.com/ru/companies/ods/articles/716918/ - это вообще-то полуразвлекательное чтиво, но некоторое представление дает.
    https://habr.com/ru/articles/739014/ - тут уже посерйозней.
    Но вообще-то уже начали выходить даже книги по ChatGPT (правда - в основном на английском), а по методам работы с текстовой информации - их вообще уже куча, на разный уровень читателя и с учетом различных его интересов. Ключевое слово для поиска "NLP - Natural Language Processing".
    Удачи!
    Ответ написан
    Комментировать
  • Подходит ли Python для первого языка ребёнку?

    @dmshar
    Да, вы сами себе придумали проблему.
    Во-первых, а какая альтернатива сегодня? Не с С++ же начинать в 11 лет. С другой стороны, есть, конечно Scratch - но как по мне, это просто тупиковая ветвь.
    Во-вторых, есть известная книга Д. Бриггс "Python для детей. Самоучитель по программированию" где такие методологические вопросы уже решены.
    В-третьих, я так и не понял, а чем отсутствие строгой типизации мешает освоению программирования в 11 (!!!) лет? Вы действительно полагаете, что в таком возрасте ребенок будет способен писать приложения, в которых это играет ключевую роль?
    Так в Python и указателей нет. И что? Зато там есть много фишек, которые и упрощают сам процесс понимания, что ребенок делает, и позволяют на готовый результат посмотреть гораздо быстрее, чем при программировании на любом другом языке. А для детей - это самое то, что нужно.
    Но вы, безусловно, молодец, что приобщаете ребенка с измальства. Главное - делать это так, что-бы ему постоянно самому было интересно.
    Ответ написан
    Комментировать
  • Как лучше организовать структуры программы по поиску значения в таблице на Python?

    @dmshar
    Если действительно ОЧЕНЬ большие - то храните в базе данных. В принципе если задача состоит в поиске допуска по диаметру то этого хватит с головой. Задача не сложная, но очень кропотливая.

    Если данные или часть закачаны в ОП, и требуют дальнейшей сложной обработки, то в Рython есть вполне работоспособная структура DataFrame из Pandas, куда такие данные такого типа нормально раскладываются. Экспорт-импорт из DataFrame в SQL реализован там-же.
    Даже непонятно, о чем тут можно еще рассуждать.
    А вот про то, как вы будете из pdf данные вытягивать перед тем, как их погружать в БД - про про это я бы подумал особо, потому как засад на этом пути достаточно много.
    Ответ написан
    Комментировать
  • Метрическое пространство для k-nearest neighbors?

    @dmshar
    Теоретически может использоваться любая функция, которая удовлетворяет аксиомам метричности (тождества, положительности, симметричности, треугольника). Которые, в свою очередь, выражают интуитивные представления о понятии "расстояния". Т.е. можно взять любую функцию, проверить, удовлетворяет-ли она указанным аксиомам, и если да - то применять. В данном случае понятия "лучше"-"хуже" нет - этот вопрос выноситься за скобки, и как правило является предметом исследования на этапе предварительного анализа задачи.

    Наиболее распространенным меры, применяемые в кластерном, классификационном анализе, в задачах распознавания образов и пр. - уже упомянутая вами эвклидова мера (или метрика L2). Ее модификация - квадрат евклидова расстояния. Манхэттенская мера (или метрика L1), мера Махаланобиса, мера Чебышева, мера Хэмминга, косинусная мера (полезная в многомерном пространстве, но в случае, если много параметров могут иметь нулевые значения), ее модификация - "мягкая" косинусная мера, мера Кульбака — Лейблера (если все значения всех признаков положительны и векторы объектов нормированы на единицу ) и пр.

    А бывают еще неметрические меры близости. (т.е. случаи кода используется функция, которая нарушает одну из упомянутых выше аксиом). В общем, не советую задавать вопрос в теоретической плоскости типа "какой мат. аппарат понадобится для решения такой задачи", потому как там, в этом аппарате, можно и закопаться :-). Достаточно ознакомиться с такой вот интересной книгой: Деза Е.И., Деза М.-М. Энциклопедический словарь расстояний. Ну и при большом желании все перечисленные выше метрики, их описание и области применения легко гуглятся.

    Что до практического использования этого аппарата - такая функция должна подбираться для каждой прикладной задачи отдельно. Это подтверждается успешным использованием в разных прикладных областях различных специфических мер близости - например, мера Левенштейна и мера Джаро — Винклера (используемые при обработке текстов), мера Хаусдорфа (при работе с подмножествами), мера Вассерштейна (применяется в различного рода транспортных задачах и - неожиданно - в обработке изображений, от распознавания рукописных текстов до диагностики по рентгеновским снимкам), и пр. А иногда выбор и обоснование тех или иных мер в конкретной задаче есть предмет научных статей и даже диссертаций.
    Ответ написан
    1 комментарий
  • Синтез/озвучка голосом Высоцкого?

    @dmshar
    Ищите тут https://neurohive.io/ru/
    или тут
    https://yiu.co.uk/deepindex/
    Ответ написан
    Комментировать
  • Как скачать нейронную сеть с гитхаба?

    @dmshar
    не могу понять как запустить "Jupiter notebook".
    Хм.
    Как запустить Jupyter Notebook
    Jupyter Notebook – как установить и как пользоваться
    Как запустить Jupyter Notebook в браузере без бэкенда
    Беда даже не в том, что если раньше не занимались, то будет сложно. Беда в том, что нет навыков самостоятельного поиска ответа в Google даже на таких тривиальных вопросах. А что будет дальше?
    Ответ написан
    Комментировать
  • Как правильно ловить исключения?

    @dmshar
    Ну, если "Все сверено с доками на официальном сайте" тогда, конечно, это вмешательство сверхъестественных сил все портит. Но что-то мне кажется, что не все сверено. Например, а сколько у вас пробелов стоит перед except. И что, в документации они там точно стоят? А можно ссылочку на такую документацию? Ну, и за одно, где тело блока try показано с двойной табуляцией?
    Ответ написан
    3 комментария
  • Как создаются встроенные функции в python?

    @dmshar
    А вы учебник по Python не пробовали открывать? Во всех них очень подробно описывается " Что будет после двоеточия". А в некоторых даже описывается, "какая логика" будет у функции поиска минимума. Попробуйте почитать. И не надо будет задавать вопросы уровня пятиклассника. Если вы не пятиклассник, конечно.
    Ответ написан
    Комментировать
  • Как нарисовать гистограмму?

    @dmshar
    "Код из оф. Источника не помог" -- наверное потому, что не там ищите. Вернее потому, что то, что вы называете гистограммой - таковой на самом деле не является.
    Ниже пример построения и затребованного вами графика, и настоящей гистограммы. Как говориться - почувствуйте разницу.

    import matplotlib.pyplot as plt
    import seaborn as sns
    import numpy as np
    x= np.random.randint(0,2000,500)
    plt.hist(x)
    sns.rugplot(data=x,height =0.5)


    Гистограмма:
    650893708504f076171947.png

    Те же данные в форме, которую вы вроде бы хотите получить:
    65089396cd951302402060.png
    Ответ написан
    Комментировать
  • Где научиться профессионально искать и анализировать информацию?

    @dmshar
    Современное поколение почему-то твердо уверено, что любой ответ можно найти в интернет. В Гуугл или вот, последняя "панацея" - ChatGPT. Ну, на худой конец, вместо того, что-бы самому подумать, напрячься, поискать информацию, потом подумать, какая из них ложная или нет, потом опять подумать и обработать полученную информацию так, как нужно именно вам (а по дороге еще и хорошо потренировать свой мозг) - предпочитают пойти на форум, задать вопрос, лечь на диван посмотреть какой-нибудь фильмик (вариант - поиграть за компом в игруху) и дождаться, когда ответ преподнесут готовый, разжёванный, проверенный и подготовленный.
    Вот только в реальности все не так.
    1. Для того, что-бы задать вопрос - надо УЖЕ быть подготовленным, т.е. предварительно быть, что называется "в теме". Как минимум затем, что-бы правильные термины в запросе использовать, как максимум - задавать вопрос так, что бы он не был совсем дурацким.
    2. Для того, что-бы из полученной горы информационного шлака извлечь полезную информацию - надо УЖЕ быть подготовленным, т.е. предварительно иметь в теме достаточно знаний и опыта, что-бы понимать, где шлак а где золото.
    3. Для того, что-бы полученную информацию приспособить к своим конкретным потребностям - надо УЖЕ быть подготовленным, т.е. понимать свою тему настолько глубоко, что-бы можно было это препарирование сделать.
    Неучи подумали - появился ChatGPT - ура, сейчас на любой вопрос получим ответ и будет нам счастье, и учиться не надо! А вот фиг вам. На вопрос - "кто победил на прошлом чемпионате мира", или "как починить кран в умывальнике" - да ответ получите, и скорее всего правильный. А вот там, где надо думать, где вопросы не на фактаж, а на "подумать" - уже явно заметен парадокс: что-бы понять и извлечь пользу из диалога с ChatGPT надо быть умнее самого ChatGPT! Иначе будет не счастье, а горе. Т.е. надо сначала стать специалистом, а потом уже общаться с ИИ. Беда заключается еще и в том, что не понимая этого, надеясь на ИИ или даже на ЕИ (в виде коллективного разума на форуме) конкретный человек отучивается думать самостоятельно. Потому что жить на подсказках - это как жить на наркотиках. Мозг, привыкший к наркоте (подсказкам) перестает вообще развиваться и человек просто деградирует. И вот этом, а не в мифическом восстании ИИ против человечества - основная угроза, которую ИИ и несет человечеству.
    Так что ответ на ваши вопросы один - "учиться, учиться и еще раз учиться" - как говорил дедушка Ленин. Самостоятельно и серьезно. Т.е. сначала становимся специалистом хоть в чем-то, а потом думаем, как-же вооружиться инструментом УСИЛЕНИЯ наших знаний в виде Google, ChatGPT (или чего еще на тот момент придумают). А если нет базы - то усиляй не усиляй - все равно на выходе получишь пшик.
    Ответ написан
    Комментировать
  • Почему скрипт выдает разные результаты?

    @dmshar
    А причем тут код? Это вы намудрили какую-то операцию, от которой требуете чего-то невозможного. Возьмите простейший пример
    series_3 = '1101'
    series_2 = '110'
    Согласно вашей чудо операции имеем результат '1'

    Теперь делаем "симметричную" по вашему мнению операцию:
    series_3 = '1101'
    series_2 = '1'
    Получаем '101'

    Что не так?
    Ответ написан
  • Где научиться работать с генеративными нейросетями?

    @dmshar
    А что мешает набрать в гуугл "генеративные нейросети" и начать разбираться самостоятельно? Вы же даже свой стартовый уровень не указали, кому советовать-то? Научные статьи - это (как бы помягче сказать) - для тех кто уже в теме. Вы уверены, что это то, что вам нужно? Но они вопросы "а какие статьи почитать" не задают. (Посмотрел ваш профиль - это скорее всего не про вас). А если вам просто разобраться и понять, как работают генеративные нейросети - то открываем гуугл, читаем первые три-пять ссылок, изучаем их, начинаем понимать и набирать ссылки следующего порядка, в которых уточняется то, что вы уже прочитали. Идем по этим ссылкам, пока не почувствуем, что понимаем о чем речь. Уже и книжки на русском стали издавать по теме. Например - https://habr.com/ru/companies/piter/articles/504956/
    Что мешает самому это найти?

    Платные курсы - категорически не рекомендую. Ну разве что вы старшекласник, который вообще не привык самостоятельно учиться и ожидает, что ему как в школе, нужный материал разжуют и в рот засунут. Или по любому поводу привык бежать в интернет вопросы задавать, потому как самостоятельно думать так и не научился. Во взрослой профессиональной жизни все уже не так - там что самостоятельно нашел и укусил - то твое. На курсах вам как правило перескажут то, что легко находиться в Гуугл, причем сделает это кто-то, уровень профессионализма кого вам не известен. (это как минимум), а дикция и умение ясно изъясняться могут оставлять желать лучшего. Ну и еще - книгу можно прочитать и разобраться, допустим з 200 часов упорной работы. На курсах вам то-же самое изложат за 20. (очень заманчиво звучит - "от профана до профи за 20 часов"), Ну пусть еще 30 часов вы будете над заданиями работать самостоятельно. Как вы думаете - какую часть темы и нужного материала вы сможете при этом усвоить?
    Ответ написан
    Комментировать
  • Какая конфигурация нейронной сети лучше для временной последовательности?

    @dmshar
    По определению, нейросети для прогнозирования временных рядов - это RNN и их развитие LSTM. Ну и всякие дальнейшие производные от них.
    Но вообще-то, прежде чем кидаться в нейросети для прогнозирования временных рядов обычно пробуют оружие поспокойнее - модели Брауна, Хольте-Винтерса, регрессионные методы выделения трендов, ARIMA, SARIMA и пр. А иногда и обычное скользящее сглаживание вполне нормально работает.
    Ответ написан
  • Как решить задачу классификации в дисбалансном датасете через поиск аномалии?

    @dmshar
    Вообще-то задача распространенная, можно сказать абсолютно традиционная. Ничего сверхестественного:
    https://machinelearningmastery.com/imbalanced-clas...
    https://towardsdatascience.com/imbalanced-data-in-...
    https://machinelearningmastery.com/tour-of-evaluat...
    https://newtechaudit.ru/algoritm-balansirovki-klas...
    https://www.analyticsvidhya.com/blog/2023/01/pract...
    https://alexanderdyakonov.wordpress.com/2021/05/27...
    https://towardsdatascience.com/how-to-deal-with-im...
    forum.disser.ru/index.php?act=attach&type=post&id=2340
    https://dataaspirant.com/handle-imbalanced-data-ma...
    Тут есть все - и теория, и алгоритмы и реализации (как правило - на Python). Далее - по ссылкам. И совет - хотите изучать Мachine Learning - начните с освоения методов поиска информации. Хотя-бы в Гуугле. Все лежит на поверхности!
    Ответ написан
    4 комментария
  • Как освоить математику для ML?

    @dmshar
    Т.е. я вас правильно понял, вопрос поставлен так: "посоветовать какую-нибудь книгу для изучения математики прям с начала, чтобы начать с низов и освоить до достойного уровня". При условии, что вы считаете себя "фронтенд-разработчиком". Чудесно. А что вам мешает набрать в Гуугле "математика для программистов" и получить ссылки на кучу достаточно хороших книг? Или даже еще лучше - ссылку на этот же форум, где этот-же вопрос задавался уже множество раз. Ну например:
    https://qna.habr.com/q/161573
    (в скобках замечу, что те, кто имеет действительный опыт области МL врят-ли читали "базовые книги" по математике после школы, а соответственно их советы будут скорее теоретические, чем практические. А к советам тех, кто такие книги читал - я бы не прислушался совсем по другой причине).

    Впрочем, я бы начал с вопроса, а какая-же математика в действительно нужна для работы в ML, и уже после этого начинал читать любой учебник по элементарной математике:
    https://www.analyticsvidhya.com/blog/2019/10/mathe...
    https://proglib.io/p/obuchenie-data-science-kakie-...
    https://habr.com/ru/articles/708752/ (тут даже с разбивкой по времени обучения и по темам, на которые стоит обратить внимание и ссылками на соответствующую "нормальную" литературу).
    https://towardsdatascience.com/the-roadmap-of-math...
    А потом бы взял ЛЮБУЮ книгу и читал, обращая внимание на советы, которые извлек из ссылок выше.

    Если вы на полном серьезе верите, что можно найти одну какую-нибудь книгу, которая вот прям "прям с начала, чтобы начать с низов и освоить до достойного уровня" - то это примерно как спросить "а какую одну книгу можно прочитать, что бы изучить программирование ( ладно, пусть дажене все программирование, а только простейший фронт-енд ) от самых низов до достойного уровня"? Остается только удивиться, неужели вы действительно в это сами верите? Тем более, что "Желание есть, время есть, силы есть." - значит есть шанс вкатиться и в МL, но разумеется, не с одной книги. Кстати, многое зависит также от вашей профессии, т.е. какое образование вы получали после школы, о своих успехах в которой вы так подробно написали. Потому как прежде чем отправиться в путь, надо понять, что специалисты по машинному обучению без высшего образования ни сегодня, ни в обозримом будущем вряд-ли кому будут нужны, и что базовое образование в этой отрасли играет намного большую роль, чем в том-же программировании. Но это так дружеский совет, что-бы уберечь вас от ошибок и потери времени.
    Ответ написан
    Комментировать
  • Где лучше взять ресурсы для обработки в Photoshop?

    @dmshar
    Берете смартфон. Фотографируете что попало. Обрабатываете используя свои навыки. Представляете пару "до"-"после".
    Мне кажется, что это очевидный путь.
    Что значит при этом "спалиться" - увы, не понимаю.
    Ответ написан
    8 комментариев
  • Нейросети, пакеты, библиотеки, откуда такая сложность?

    @dmshar
    Ну, во-первых, раз вы уже побывали на GitHub - то и загляните в код TensorFlow, посмотрите чего там есть. Думаю, это логичнее чем спрашивать об этом на форуме. Да и объяснение, полученное таким образом будет более точным, чем фантазии неизвестно кого на форуме.
    Во-вторых, float работает быстрее Decimal. Потому как float - это аппаратная реализация, а Decimal - программная надстройка. При расчетах, которые и на float длятся неделями и месяцами, 'представьте, сколько бы оно работало на Decimal.
    В-третьих. "перестраиваемый двусвязный список изменяемых коэффициентов" - рекомендую освоить начальный курс по "структурам данных и алгоритмам", для того, что-бы понять когда можно применять любые списочные структуры, а когда необходимо использовать линейные структуры типа массивов. Нейросеть - это в подавляющем большинстве случаев фиксированная структура с необходимостью прямого доступа к каждому элементу. Отсюда и выбор наиболее подходящих структур представления данных. Ну, а когда дело дойдет до всяких backpropagation и прочих gradient descent - вот тогда вопросы такого рода окончательно и отпадут.
    В-четвертых. Персептрон - это малюсенькая часть того, что составляет любой пакет для работы со взрослыми нейросетями. И нейросети не сводятся к "связям" и картинкам нейронов, взятых из учебников биологии. Все прелести там начинаются, когда надо делать что-то, что хоть на чуть-чуть сложнее одинокого персептрона.
    Поэтому пока рекомендую все-таки разобраться в теории нейросетей. Потом посмотреть на реализации. Подсказка - сейчас вышло довольно много учебников по этой теме, где скорее всего будут готовые ответы на 99% вопросов, которые у вас будут возникать по ходу. Их можно легко найти в сети, в том числе и на этом форуме такие списки уже появлялись несколько десятков раз, поэтому тут приводить их не буду, А судя по вопросам - не мешает вспомнить и основные, базовые концепции программирования. Вот тогда картинка в голове сложиться полная. И если после этого что-то действительно останется неясным, недопонятым - вот тогда приходите с такими конкретными вопросами на форум, попробуем разобраться вместе.
    А отвечать на вопрос - "что тут сложного" не получиться. Сложного там действительно ничего, если предварительно разобраться во всем этом хозяйстве, выделив на это часов 500-1000 времени.
    Ответ написан