Decision Tree, Random Forest, LightGBM, CatBoost - это все в той или иной мере основано на деревьях решений. Просто последние два метода (решения) это делают наиболее эффективно.
Я правильно понимаю, что в признаки сами фотографии работ не попали, а было только описание? Это же сильно влияет на конечный результат (понимаю, dataset не ваш и вам трудно что-то сделать с этим).
Немного не понял, что вы в конце сделали с пропущенными значениями? "я не стала заниматься восстановлением категориальных данных" - а что сделали?
То, что за основу взяли деревья отлично. Но хотелось бы сравнение в нейросетями (точность, время обучения, время вычисления результата). Чисто для того, что бы показать, что нейросети тут проиграют (или нет).
ты скорость обучения при помощи ГА и обратного распространения ошибки сравнивал? Попробуй поищи. У ГА должно быть медленнее на несколько порядков. Можно пробовать объединять оба подхода (все равно проиграем по времени, но можем выиграть в точности).
а что в этом криминального? Да, старый ftp это не очень хорошо, но и не сильно плохо, если соблюдается элементарная осторожность (важные файлы шифруются+цифровые подписи, надежные пароли, разрешение на доступ только до нужного, аудит подключений и т.п.). Что касается "хакните его", так возможно автор предложения предлагал испытать на прочность сервис. Вполне возможно просто недопонимание.
Мне показалось, что замеры вы делали в одной точке и на одной глубине. И параметры среды не менялись. Подозреваю СКО в реальных условиях может быть выше и вам стоит перезамерить СКО в разных условиях.
Подозреваю что ошибка позиционирования (СКО) может отличатся в зависимости от глубины, рельефа дна (переотражения звука), температуры воды (разная скорость звука), позиции относительно буёв, посторонние шумы (шум прибоя, винт лодки). Было бы интересно прочитать про вашу математику.
Сменные кассеты ("канистры"). Перед употреблением залить 10 литров воды из крана. Накинуть клеммы (как на свинцовый аккумулятор). После употребления сдать на переработку не открывая. Герметичные и без воды должны храниться очень долго.
возможно стоит поэкспериментировать и одновременно немного сдвигать границу и менять g. Вместо сдвигания границы на 0,25 сдвигать её на 0,12 и одновременно менять g для компенсации того, что границу мы мало сдвинули.
Одна из немногих статей, в которой уделяется внимание робастности. В реальности (особенно в промышленных системах, которые работают десятилетиями) это очень важный фактор. Программа (система) должна должна как минимум сказать "Эй, у тебя какие-то странные данные, я не могу их адекватно оценить, извини". Вместо этого (как я подозреваю) многие системы будут бодро нести правдоподобную ерунду. В идеале, конечно, хочется видеть системы с самонастройкой или с простым дообучением.
Тут нужно сделать жирный комментарий. Генетическим алгоритмам я посвятил лет 15, в основном разными исследованиями баловался. В результате пришел к таким выводам: в любой более-менее сложной задаче нужно закладывать 1 миллион вычислений целевой функции. Дальше смотрим время 1 вычисления и примерно поймем минимальное время нужное для подгонки. Задача должна быть не слишком овражной. Про плюсы и минусы не буду писать. Конкретно в твоем случае (нахождение оптимальных весов нейросети) я бы тебе посоветовал алгоритм имитации отжига (раз ты игнорируешь метод обратного распространения ошибки!). Имитация отжига тоже очень простой алгоритм и он в твоем случае может дать лучше результат.
Это понятная практика, но вдумайтесь: вы начинаете рассылку писем и получатели её отправляют в спам (особенно если не получается отписаться). И очень быстро вся компания целиком попадает в спам-список.
Если человек пишет письмо с одноразового ящика, то он ясно дает понять, что писать ему не нужно ни в коем случае.
днём, чисто математически должно получаться так, что лучей из космоса отражается вверх больше просто потому, что мощность солнца на порядки больше мощности Земли (коэффициент отражения должен быть примерно одинаковый). Представьте: из космоса 1 кВт/м3 поступает и отражается 40%, остальное в виде инфракрасных волн достигает Земли. С Земли излучение 0.48 кВт/м3 и от облаков отразится уже много меньше. Другое дело - время суток. Намного выгоднее иметь облака днем и не иметь их ночью, тогда Земля начнет понемногу охлаждаться.
А в конце пример вообще бессмысленный. И на одном и на втором графике 4 из 6 автомобилей отмечены как Парето-оптимальные. При этом интуитивно мы понимаем, что из 6 автомобилей мы максимум парочку будем считать оптимальными. Зачем в этом примере использована нормализация данных? Без нормализации получим точно такой же результат (конкретно в такой постановке вопроса prices[i] >= prices[j]).Было бы полезнее использовать взвешенную функцию агрегации, но тогда не получились бы такие красивые и непонятные графики :-) Просто нашли бы минимум значения функции агрегации.
Одному мне не нравится идея совмещать крутилку и кнопку? Лично мне не удобно (и не интуитивно) крутить и нажимать (не важно - одновременно или попеременно). Не говоря уж о том, что не все понимают, что вот эта большая ручка не только _крутится_, но и нажимается. Сейчас прикинул: крутим большим и средним пальцем, нажимаем указательным. При большом размере крутилки (и с учетом того, что нажимать можно не по центру) может будет и нормально.
И тут уместно вставить упоминание про Mozilla JPEG, который сжимает картинки в обычный jpeg, но меньшего размера. Как я понял как раз из-за того, что малозначимые участки фотографии сжимаются сильнее. Правда нигде не нашел упоминание, что Mozilla использует нейросети (судя по всему используют относительно простые эвристики).
"When op determinism is enabled, TensorFlow ops will be deterministic. This means that if an op is run multiple times with the same inputs on the same hardware, it will have the exact same outputs each time." Речь идет о повторяемости только(!) на одних и тех же данных (включая параметры модели, обучение). Дополнительно они говорят о том, что и железо должно быть таким же (т.к. речь идет о дробных числах это замечание важное). Это ввели для отладки. Правда не совсем понятно с какой целью, т.к. даже банальное изменение порядка операций почти наверняка изменит финальный результат.
Насколько я понял из дальнейшей документации вместе с enable_op_determinism обязательно использование set_random_seed. Эта пара вместе должна заставлять TensorFlow производить все операции в том же порядке с теми же данными (переменными для генерации псевдослучайных чисел, которые используются при обучении).
Decision Tree, Random Forest, LightGBM, CatBoost - это все в той или иной мере основано на деревьях решений. Просто последние два метода (решения) это делают наиболее эффективно.
Я правильно понимаю, что в признаки сами фотографии работ не попали, а было только описание? Это же сильно влияет на конечный результат (понимаю, dataset не ваш и вам трудно что-то сделать с этим).
Немного не понял, что вы в конце сделали с пропущенными значениями? "я не стала заниматься восстановлением категориальных данных" - а что сделали?
То, что за основу взяли деревья отлично. Но хотелось бы сравнение в нейросетями (точность, время обучения, время вычисления результата). Чисто для того, что бы показать, что нейросети тут проиграют (или нет).
ты скорость обучения при помощи ГА и обратного распространения ошибки сравнивал? Попробуй поищи. У ГА должно быть медленнее на несколько порядков. Можно пробовать объединять оба подхода (все равно проиграем по времени, но можем выиграть в точности).
а что в этом криминального? Да, старый ftp это не очень хорошо, но и не сильно плохо, если соблюдается элементарная осторожность (важные файлы шифруются+цифровые подписи, надежные пароли, разрешение на доступ только до нужного, аудит подключений и т.п.). Что касается "хакните его", так возможно автор предложения предлагал испытать на прочность сервис. Вполне возможно просто недопонимание.
Мне показалось, что замеры вы делали в одной точке и на одной глубине. И параметры среды не менялись. Подозреваю СКО в реальных условиях может быть выше и вам стоит перезамерить СКО в разных условиях.
Подозреваю что ошибка позиционирования (СКО) может отличатся в зависимости от глубины, рельефа дна (переотражения звука), температуры воды (разная скорость звука), позиции относительно буёв, посторонние шумы (шум прибоя, винт лодки). Было бы интересно прочитать про вашу математику.
Сменные кассеты ("канистры"). Перед употреблением залить 10 литров воды из крана. Накинуть клеммы (как на свинцовый аккумулятор). После употребления сдать на переработку не открывая. Герметичные и без воды должны храниться очень долго.
возможно стоит поэкспериментировать и одновременно немного сдвигать границу и менять g. Вместо сдвигания границы на 0,25 сдвигать её на 0,12 и одновременно менять g для компенсации того, что границу мы мало сдвинули.
Очень спорное решение. Лучше заложить в алгоритм автопотбор g (тем более ты говоришь о больших размерностях).
Непонятно как меняется g
Одна из немногих статей, в которой уделяется внимание робастности. В реальности (особенно в промышленных системах, которые работают десятилетиями) это очень важный фактор. Программа (система) должна должна как минимум сказать "Эй, у тебя какие-то странные данные, я не могу их адекватно оценить, извини". Вместо этого (как я подозреваю) многие системы будут бодро нести правдоподобную ерунду. В идеале, конечно, хочется видеть системы с самонастройкой или с простым дообучением.
Тут нужно сделать жирный комментарий. Генетическим алгоритмам я посвятил лет 15, в основном разными исследованиями баловался. В результате пришел к таким выводам: в любой более-менее сложной задаче нужно закладывать 1 миллион вычислений целевой функции. Дальше смотрим время 1 вычисления и примерно поймем минимальное время нужное для подгонки. Задача должна быть не слишком овражной. Про плюсы и минусы не буду писать. Конкретно в твоем случае (нахождение оптимальных весов нейросети) я бы тебе посоветовал алгоритм имитации отжига (раз ты игнорируешь метод обратного распространения ошибки!). Имитация отжига тоже очень простой алгоритм и он в твоем случае может дать лучше результат.
Это понятная практика, но вдумайтесь: вы начинаете рассылку писем и получатели её отправляют в спам (особенно если не получается отписаться). И очень быстро вся компания целиком попадает в спам-список.
Если человек пишет письмо с одноразового ящика, то он ясно дает понять, что писать ему не нужно ни в коем случае.
днём, чисто математически должно получаться так, что лучей из космоса отражается вверх больше просто потому, что мощность солнца на порядки больше мощности Земли (коэффициент отражения должен быть примерно одинаковый). Представьте: из космоса 1 кВт/м3 поступает и отражается 40%, остальное в виде инфракрасных волн достигает Земли. С Земли излучение 0.48 кВт/м3 и от облаков отразится уже много меньше. Другое дело - время суток. Намного выгоднее иметь облака днем и не иметь их ночью, тогда Земля начнет понемногу охлаждаться.
А в конце пример вообще бессмысленный. И на одном и на втором графике 4 из 6 автомобилей отмечены как Парето-оптимальные. При этом интуитивно мы понимаем, что из 6 автомобилей мы максимум парочку будем считать оптимальными. Зачем в этом примере использована нормализация данных? Без нормализации получим точно такой же результат (конкретно в такой постановке вопроса
prices[i] >= prices[j]).Было бы полезнее использовать взвешенную функцию агрегации, но тогда не получились бы такие красивые и непонятные графики :-) Просто нашли бы минимум значения функции агрегации.В Multiplicative Aggregation в конце вместо умножения взять максимум. И тогда можно будет эффективно искать минимум (этого максимума).
Одному мне не нравится идея совмещать крутилку и кнопку? Лично мне не удобно (и не интуитивно) крутить и нажимать (не важно - одновременно или попеременно). Не говоря уж о том, что не все понимают, что вот эта большая ручка не только _крутится_, но и нажимается. Сейчас прикинул: крутим большим и средним пальцем, нажимаем указательным. При большом размере крутилки (и с учетом того, что нажимать можно не по центру) может будет и нормально.
И тут уместно вставить упоминание про Mozilla JPEG, который сжимает картинки в обычный jpeg, но меньшего размера. Как я понял как раз из-за того, что малозначимые участки фотографии сжимаются сильнее. Правда нигде не нашел упоминание, что Mozilla использует нейросети (судя по всему используют относительно простые эвристики).
Пару скромных людей (а может ботов) молча поставили комментарию минус. Рассказали бы, с чем не согласны в моем комментарии?..
Зачем вводите людей в заблуждение?
"When op determinism is enabled, TensorFlow ops will be deterministic. This means that if an op is run multiple times with the same inputs on the same hardware, it will have the exact same outputs each time." Речь идет о повторяемости только(!) на одних и тех же данных (включая параметры модели, обучение). Дополнительно они говорят о том, что и железо должно быть таким же (т.к. речь идет о дробных числах это замечание важное). Это ввели для отладки. Правда не совсем понятно с какой целью, т.к. даже банальное изменение порядка операций почти наверняка изменит финальный результат.
Насколько я понял из дальнейшей документации вместе с
enable_op_determinismобязательно использованиеset_random_seed.Эта пара вместе должна заставлять TensorFlow производить все операции в том же порядке с теми же данными (переменными для генерации псевдослучайных чисел, которые используются при обучении).