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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Нет смысла привязывать теорию/алгоритмы/формулы к выдуманной проблеме.
    Делается - наоборот: конкретная проблема решается с помощью наиболее оптимального алгоритма и, если там есть такие непонятные вещи, как замечательные пределы, то нужно изучать нужные разделы (с пониманием всего происходящего при решении данной конкретной задачи).
    Ответ написан
    Комментировать
  • Как провести анализ графика и поиск закономерностей с помощью нейронной сети?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Как можно это осуществить?
    Планирую реализовывать это на пайтоне с помощью библиотеки keras. Рационально ли это? Может стоит посмотреть в сторону матлаба?
    Нужно смотреть не на инструмент реализации, а в сторону проектирования НС.
    Вижу, что есть показатели X,Y для 5-и разных показателей(кол-во графиков) - это входные значения для тренировки НС.
    Диаметр отверстия (или ещё там что-то у Вас....) - выходные значения.

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

    ....ТОЛЬКО ПОСЛЕ ВСЕГО ЭТОГО - КОДИРУЙТЕ.....
    Ответ написан
  • Какие алгоритмы нелинейной классификации существуют?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • В чем смысл нейронных сетей / машинного обучения?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    ИНС - это динамические веса для формирования логических заключений/выводов по входным параметрам. Т.е., на каждое новое входное сообщение веса ИНС постоянно пересчитываются, оптимизируя старый и создавая новый, более лучший фильтр.
    Таким образом, всё зависит от схемы ИНС и входных данных: в данном случае - сообщений.
    А статика - это и есть статика...

    А теперь, визуально:
    bbc6bcbbd413416da713d54044f01428.jpg
    Ответ написан
    2 комментария
  • Как постепенно перекочевать из Web в Machine Learning максимально безболезненно?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Языки программирования - это инструменты передачи логики от человека к процессору ПК.

    Вам нужно - ИЗНАЧАЛЬНО познать построение логики (и схем, путём логических и математических формул и дальнейшим моделированием процессов и связей) ML (и только потом - браться за реализацию и думать о языках программирования).

    Т.е., безболезненно - не выйдет! ML - это абсолютно новое направление для изучения.
    Ответ написан
    Комментировать
  • Как найти повторения в последовательности?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Берём нужный нам временной диапазон.
    2. На нём находим экстремумы max и min для пиковых значений показателей (по вертикальной оси).
    3. Делим пополам ((max-min)/2) и получаем горизонтальное осевое значение конкретно для этого показателя/графика.
    4. Затем берём отрезок пересечения этой оси: из положительной зоны в отрицательную (и наоборот) и внутри этой зоны ищем max и min значения по вертикальной оси, в зависимости от направления пересечения.
    5. Найденные значения укажут разделение через временной показатель.

    Каждый 2-й - и будет искомой серой линией.
    Ответ написан
    Комментировать
  • Machine Learning в компилируемом ПО?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Как они обходят эту проблему?
    А кто сказал, что гугл вообще использует нейросети? Откуда такая информация?
    Ответ написан
  • Минимальные знания по математике для начала работы с машинным обучением?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Нужны знания о понимании логики работы и принципах построения НС различных типов под конкретные задачи. Принцип работы нейрона и связей.
    Остальное - уже вторично.
    Ответ написан
  • Как проверить нейросеть\отфильтровать обучающие данные?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Прежде, чем браться за такую работу, да ещё и с непонятными инструментами, нужно обладать знаниями по проектированию НС. Каждая задача специфична и может решаться разными способами при проектировании НС.
    Создание НС - это разработка модели посредством "чистой" математики и формул в 95% времени. И лишь 5% - кодирование алгоритма.
    Без фундаментальных знаний по НС - итог предсказуем.
    Надо вчера? -> фриланс.
    Ответ написан
    5 комментариев
  • Какую модель выбрать для оценки зарплаты разработчика по технологиям?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Надо решить систему линейных уравнений и найти коэффициенты сложности технологий (возраст - здесь ни при чём):
    k11*x11+...+k1N*x1N=b1
    .....
    kN1*xN1+...+kNN*xNN=bN,
    где kNN - коэффициенты сложности технологий xNN
    bN - зарплата разработчиков
    Ответ написан
  • Где ошибка при обучении нейросети для различия изображений?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    ab-log.ru/smart-house/video_camera_security/face-d...

    1. Сначала нужно научиться определять зону (crop-zone), где возможна язва и приводить все изображения к единому унифицированному виду (нужно для снижения возможных ошибок НС на след. пункте).
    2. На основе значений весов НС, посчитанных на основе отображаемых пикселей для каждой фотографии, нужно КЛАССИФИЦИРОВАТЬ множества на 2 класса (как я понял, что Вам так необходимо): "с язвой" и "без язвы".

    Представленный Вами код - это частный случай для подготовленных изображений (т.е., начиная с п.2). Также, необходимо увеличить кол-во скрытых слоёв для достижения более детальной и точной кластеризации.

    PS: Да, и ещё... Если Вы хотите, чтобы Вам написали здесь готовый рабочий код - Вы ошиблись: это на фриланс.
    Ответ написан
    2 комментария
  • Что лучше для старта рекомендательной системы, холодный старт или датасет сдвинутый в сторону высшей оценки?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Вначале - нужно провести однократно полный цикл Full-Mesh бинарного сравнения и, таким образом, настроить стартовые веса для каждой позиции.
    По-скольку, уже что-то у Вас есть: оценки 4 и 5: используйте половинное деление (по нижней границе относительно всех показателей: у Вас - это 4-ка) для создания бинарных отзывов: 4=>плохо/нет (-1) и 5=>хорошо/да (1).
    Затем - итерационно корректировать по мере изменения значений у конкретных показателей.
    Ответ написан
    3 комментария
  • Что свидетельствует о том, что машина обучается, а не собирает новые данные и не сравнивает их с уже загруженными?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Обучение - установка "весов" в узлах нейросети по заранее заданным входным и выходным параметрам.

    Пример, обучения (ребёнка):
    Итерация1: показываем кубик (вход) -> говорим "это кубик" (выход)
    Действие НС: сравнивать пока не с чем - просто создаём узел: "кубик". (вес нейрона: 1.0)
    Итерация2: показываем шарик (вход) -> говорим "это шарик" (выход)
    Действие НС: сравнивается с кубиком: нейронами формируются отклонения визуального контура предмета на основе большой разницы визуальной и звуковой информации и, на основе полного несовпадения ни с какими предметами (похожесть узлов 1-го уровня), появляется новый "узел" в НС: "шарик". (вес нейрона: 1/[общее кол-во связей в пределах текущего узла]=1/2=0.5)
    Итерация3: показываем параллелепипед (брусок) (вход) -> говорим "это кирпичик, как кубик, только вытянутый" (выход)
    Действие НС: сравнивается с кубиком и шариком: нейронами сравниваются совокупности "весов" узлов кубика и шарика, определяется, что максимальное совпадение - это кубик, формируется разница признаков и снова появляется новая ветка от узла "кубик".

    Делаем сравнение: на сколько кирпичик отличается от остальных предметов?

    Допустим, результат сравнения на совпадение контурных линий и звуковой информации:
    1. кирпичик vs шарик: <50%
    2. кирпичик vs кубик: >=50%, (НО! СТРОГО МЕНЬШЕ 100%)
    Т.е., мы видим, что кирпичик - вовсе не шарик, а больше похож на "недокубик") и в связи с этим, строим новую ветку от узла "кубик".

    Было:
    1-й уровень (1=100%): 0.5(шарик), 0.5(кубик).
    Стало:
    1-й уровень (1=100%): шарик: 0.5, кубик: 0.5
    2-й уровень (0.5=100%): кирпичик: 0.5
    (3-й: 0.25=100% и т.д.)
    Сумма весов от любого из "узлов" 1-го уровня до любого "листа" в "дереве" - всегда равна единице!

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

    Сами связи - привязываем к времени с постепенным вычитание весов узлов дерева до нуля и получаем эффект забывания (или "высвобождения" узлов = памяти), если информация периодически не обновляется. При обновлении информации - обновляем всю ветку до листа максимальным весом: "повторенье - мать ученья".
    Ответ написан
    Комментировать
  • Как найти наиболее встречающиеся сочетания слов в нескольких текстах?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Здесь информация по рекурсивному поиску и по поисковой древовидной структуре для хранения текста.
    Ответ написан
    Комментировать
  • Как найти период, доминирующий в серии timestamp'ов (с шумом)?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Задача решается достаточно просто:
    SOURCE: Array ( [0] => 13.1 [1] => 3 [2] => 4 [3] => 8 [4] => 17.9 [5] => 19 [6] => 23.1 [7] => 28 [8] => 33 )
    ------------
    SORTED: Array ( [0] => 3 [1] => 4 [2] => 8 [3] => 13.1 [4] => 17.9 [5] => 19 [6] => 23.1 [7] => 28 [8] => 33 )
    
    DISTANCE: Array ( [0] => 1 [1] => 4 [2] => 5.1 [3] => 4.8 [4] => 1.1 [5] => 4.1 [6] => 4.9 [7] => 5 )
    AVERAGE DISTANCE:3.75
    
    CLUSTERS:
    
    Array
    (
        [-] => Array
            (
                [data] => Array
                    (
                        [0] => 1
                        [1] => 1.1
                    )
    
                [max] => 1.1
                [min] => 1
            )
    
        [+] => Array
            (
                [data] => Array
                    (
                        [0] => 4
                        [1] => 5.1
                        [2] => 4.8
                        [3] => 4.1
                        [4] => 4.9
                        [5] => 5
                    )
    
                [max] => 5.1
                [min] => 4
            )
    
    )
    
    AVERAGE PERIOD POSITIVE [+]: 4.65
    AVERAGE PERIOD NEGATIVE [-]: 1.05
    RANGE [+]: [4.55; 5.1]
    
    3: 0, 1, 5, 10.1, 14.9, 16, 20.1, 25, 30, => 1
    4: 1, 0, 4, 9.1, 13.9, 15, 19.1, 24, 29, => 0
    8: 5, 4, 0, 5.1, 9.9, 11, 15.1, 20, 25, => 2
    13.1: 10.1, 9.1, 5.1, 0, 4.8, 5.9, 10, 14.9, 19.9, => 2
    17.9: 14.9, 13.9, 9.9, 4.8, 0, 1.1, 5.2, 10.1, 15.1, => 1
    19: 16, 15, 11, 5.9, 1.1, 0, 4.1, 9, 14, => 0
    23.1: 20.1, 19.1, 15.1, 10, 5.2, 4.1, 0, 4.9, 9.9, => 1
    28: 25, 24, 20, 14.9, 10.1, 9, 4.9, 0, 5, => 2
    33: 30, 29, 25, 19.9, 15.1, 14, 9.9, 5, 0, => 1
    ------------
    CHAINS:
    
    Array
    (
        [0] => 1
        [1] => 0
        [2] => 2
        [3] => 2
        [4] => 1
        [5] => 0
        [6] => 1
        [7] => 2
        [8] => 1
    )
    
    ------------
    RESULT:
    
    Array
    (
        [0] => 3
        [1] => 8
        [2] => 13.1
        [3] => 17.9
        [4] => 23.1
        [5] => 28
        [6] => 33
    )
    
    DISTANCE RESULT: Array ( [0] => 5 [1] => 5.1 [2] => 4.8 [3] => 5.2 [4] => 4.9 [5] => 5 )
    
    PERIOD (average): 5
    Ответ написан
    5 комментариев
  • Создание ИИ на js?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Пользователь: -Тебе нравиться Футбол?
    ИИ: - Да
    Пользователь: -А почему он тебе нравиться?
    ИИ: -Потому что это интересный вид спорта!
    Пользователь: -А почему это интересный вид спорта?
    ИИ: Fatal_exception_error

    Чтобы писать ИИ, нужно не синтезировать или распознавать голос, а научиться разбирать и понимать человеческую речь, сопоставлять зависимости с контекстом и уже известной информацией (из базы данных), понимать цель собеседника при общении (передача новой информации, запрос информации, оповещение о каком-либо событии) и т.д.
    Ответ написан
    Комментировать
  • Как организовать мониторинг и поддержку веб приложений на основе нейронных сетей?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Меняйте входные параметры (кол-во соединений и т.д.) и фиксируйте выходные: время и кол-во ошибок - оба параметра должны стремиться к нулю.
    Здесь даже НС не нужно: просто создайте тесты и выходные значения по входным запишите и выберите оптимальные.
    Ответ написан
  • Какие вы знаете методы обнаружения подозрительной активности пользователя?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Изначально - есть набор цепочек контролируемых параметров и среднестатистические показатели появления таких цепочек.

    Как только появляется:
    1. слишком уникальная цепочка (т.е. имеет различие более чем, в половине параметров)
    2. среднестатистический показатель появления одной и той же цепочки отклоняется в любую сторону более, чем на 50% относительно своих предыдущих временных интервалов
    3. при анализе сессий - порядок следования пакетов в сессии имеет отклонение схожести более чем на 50%, от всех остальных сессий пользователей.

    Тогда - фиксируется alert!
    Ответ написан
    4 комментария
  • Ансамбль сверточных нейронных сетей для распознавания образов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Одна сеть - выдаёт один класс коэффициентов. Несколько - несколько.
    При использовании нескольких с сумматором - конкретную ошибку в какой-либо отдельной сети установить очень сложно.
    Гораздо лучше использовать подход:
    "многоярусный адаптивный водопад" (с)2016, xmoonlight,
    когда используя выходные данные одной сети (или нескольких параллельных), выбирается нужная ветка другой согласно какому-то условию (как правило, это абсолютный интервал выходных значений весов в текущем или предыдущем цикле в процентном соотношении относительно друг друга). В этом случае - отловить ошибку на любом этапе очень просто.
    Ответ написан
    Комментировать
  • Готовые решения для классификации текста?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Два варианта (выбираете любой):
    1. Название в поисковик и парсинг всех категорий, в которых эта деталь найдена на других сайтах.
    2. Берёте базу ПО TecDoc.

    Затем, создаёте нейросеть на основе карт Кохонена и прогоняете полученные данные для создания кластеров: mechanoid.kiev.ua/neural-net-kohonen-clusterizatio...
    После кластеризации всех данных - Вы получите искомое.
    Ответ написан