Это связано с тем, что вы сами берете обучающие образцы из случайного распределения .
Тем самым вы в некоторой степени рандомизировали основную истину. Конечно, вы получите значения, которые по своей природе распределены вокруг 2x+5
, но вы не гарантируете, что 2x+5
также будет наилучшим образом соответствовать этому распределению данных.
Таким образом, может случиться так, что вы случайно получите значения, которые значительно отличаются от исходной функции, и, поскольку вы используете среднеквадратичную ошибку в квадрате , эти значения будут взвешены довольно значительно.
В ожидании (т. Е. Для количества выборок, идущих к бесконечности), вы, вероятно, станете ближе и ближе к ожидаемым параметрам.
Чтобы убедиться в этом, можно построить графики тренировочных выборок по набору параметров, а также (идеальной) базовой функции.
Также обратите внимание, что у линейной регрессии есть прямое решение - что очень редко встречается в машинном обучении - это означает, что вы можете напрямую рассчитать оптимальное решение, например, с помощью функции sklearn
$ perl -0777 -ne'print qq($1) if /__all__ = \[(.*?)\]/s' __init__.py | grep Error
'BrowserStateError',
'ContentTooShortError',
'FormNotFoundError',
'GopherError',
'HTTPDefaultErrorHandler',
'HTTPError',
'HTTPErrorProcessor',
'LinkNotFoundError',
'LoadError',
'ParseError',
'RobotExclusionError',
'URLError',
Или:
>>> import mechanize
>>> filter(lambda s: "Error" in s, dir(mechanize))
['BrowserStateError', 'ContentTooShortError', 'FormNotFoundError', 'GopherError'
, 'HTTPDefaultErrorHandler', 'HTTPError', 'HTTPErrorProcessor', 'LinkNotFoundErr
or', 'LoadError', 'ParseError', 'RobotExclusionError', 'URLError']
Я нашел это в их документах:
Одна заключительная вещь отметить состоит в том, что существует некоторое вместилище, пустое кроме: операторы в модуле, которые являются там для обработки неожиданного плохого входа, не разрушая программу. Если это происходит, это - ошибка в, механизируют, поэтому отправьте мне по почте текст предупреждения.
Таким образом, я предполагаю, что они не повышают исключений. Можно также искать исходный код подклассы Исключения и видеть, как они используются.