Все SDK Smartsheet будут откатываться и повторяться по умолчанию. Другие ошибки будут выброшены как исключения. Существует способ увеличить время ожидания по умолчанию (чтобы разрешить больше попыток) при создании клиента. Тем не менее, специфичный для Python способ сделать это еще не документирован. Я добавлю это в очередь. Между тем, я думаю, что приведенный ниже пример Ruby будет наиболее близким к тому, как Python, вероятно, это делает, но вы можете прочитать различные способы сделать это.
Java: [111 ] https://github.com/smartsheet-platform/smartsheet-java-sdk/blob/master/ADVANCED.md#sample-retryhttpclient Node.js: https: // github.com/smartsheet-platform/smartsheet-javascript-sdk#retry-configuration Ruby: https://github.com/smartsheet-platform/smartsheet-ruby-sdk#retry -конфигурация
Правильность - забавная концепция в большинстве «мягких вычислений». Лучшее, что я могу вам сказать, это: «Нейронная сеть является правильной, если она постоянно удовлетворяет параметрам своей конструкции». Вы делаете это, обучая его на данных, а затем проверяя другие данные, и имея в середине цикл обратной связи, который позволяет узнать, правильно ли работает нейронная сеть.
Это, конечно, относится только к нейронным сетям. которые достаточно велики, где прямое доказательство правильности невозможно.
Я не верю, что есть единственный правильный ответ, но есть хорошо проверенные вероятностные или статистические методы, которые могут обеспечить заверение. Статистические методы обычно называют Resampling .
Один метод, который я могу порекомендовать, это складной нож .
Нет реального осязаемого ответа, только смутная интуиция. Поскольку вы не знаете алгоритм упорядочения, только то, что данные упорядочены в каждом списке, это отдаленно похоже на алгоритмы, используемые для "сравнения" файлов (например, в Beyond Compare) и сопоставления последовательностей строк вместе. Или также отдаленно похожий на алгоритмы регулярных выражений.
Также может быть несколько решений. (неважно, если нет строго упорядоченных повторяющихся элементов. Я слишком много думал о сравнении файлов)
С нейронными сетями обычно происходит то, что вы берете необученную нейронную сеть и тренируете ее с использованием заданного набора данных, чтобы она реагировала так, как вы ожидаете. Вот сделка; обычно вы тренируете его до определенного уровня уверенности в своих действиях. Как правило (и опять же, это только в общем; ваш опыт может варьироваться), вы не можете заставить нейронные сети всегда давать правильный ответ; скорее, вы получаете оценку правильного ответа с точностью до доверительного интервала. Вы знаете этот диапазон уверенности по тому, как вы обучили сеть.
Возникает вопрос, зачем вам использовать нейронные сети, если вы не можете быть уверены, что вывод, к которому они пришли, достоверно верен; Ответ состоит в том, что нейронные сети могут давать ответы с высокой степенью достоверности для определенных классов проблем (в частности, NP-Complete задач) за линейное время, тогда как проверяемые правильные решения NP-Complete задач могут быть получены только за полиномиальное время. С точки зрения непрофессионала, нейронные сети могут «решать» проблемы, которые не могут выполнить обычные вычисления; но вы можете быть уверены в правильности своего ответа только на определенный процент. Вы можете определить эту уверенность по тренировочному режиму и обычно можете быть уверены, что у вас будет как минимум 99,9% уверенности.
проблемы, недоступные при обычном вычислении; но вы можете быть уверены в правильности своего ответа только на определенный процент. Вы можете определить эту уверенность по тренировочному режиму и обычно можете быть уверены, что у вас будет как минимум 99,9% уверенности. проблемы, недоступные при обычном вычислении; но вы можете быть уверены в правильности своего ответа только на определенный процент. Вы можете определить эту уверенность по тренировочному режиму и обычно можете быть уверены, что у вас будет как минимум 99,9% уверенности.Я работал над проектами, в которых есть как тестовые, так и обучающие данные, поэтому вы знаете ожидаемые результаты для набора входных данных, которых NN не видела.
Одним из распространенных способов анализа результата любого классификатора является использование кривой ROC; введение в статистику классификаторов и кривых ROC можно найти в Интерпретация диагностических тестов
Что мне действительно нужно, так это что-нибудь вроде ICU, но в более дружественной форме
К сожалению, такого нет. Их API не ТАК ужасен, поэтому вы можете привыкнуть к нему, приложив некоторые усилия.
Может форматировать время, даты и т. Д. В зависимости от локали (например, дд / мм / гг в Великобритании и мм / дд / гг в НАС).
Он полностью поддерживается в классе std :: locale
, узнайте, как его использовать. Вы также можете указать языковой стандарт для std :: iostream
, чтобы он правильно форматировал числа и даты.
Простое преобразование строк между кодировками
std :: locale
предоставляет фасеты для покрытия 8-битных локальных
, поэтому я могу, например, использовать UTF-16
ICU внутренне использует utf-16, win32 wchar_t
и wstring также используют utf-16,
Мой учитель всегда говорил, что его эмпирическое правило состоит в том, чтобы обучить NN с 80% ваших данных и проверить их с помощью остальных 20%. И, конечно же, убедитесь, что набор данных настолько полный, насколько вам нужно.
Если вы хотите выяснить, является ли обратное распространение сети правильным, есть простой способ.
Поскольку вы вычисляете производную ландшафта ошибок, вы можете проверить, соответствует ли ваша реализация правильно численно. Вы вычислите производную ошибки по определенному весу, ∂E / ∂w. Вы можете показать, что
∂E / ∂w = (E (w + e) - E (w - e)) / (2 * e) + O (e ^ 2).
(Бишоп, Машинное обучение и распознавание образов, стр. 246)
По сути, вы оцениваете ошибку слева от веса, оцениваете ее справа от веса и проверяете, совпадает ли числовой градиент с вашим аналитическим градиентом.
( Вот реализация: http://github.com/bayerj/arac/raw/9f5b225d6293974f8adfc5f20dfc6439cc1bed35/src/cpp/utilities/utilities.cpp )