Производственные системы машинного обучения: вопросы, которые следует задать
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Этот урок посвящен вопросам, которые вам следует задать о ваших данных и модели в производственных системах.
Полезна ли каждая функция?
Вы должны постоянно следить за своей моделью, чтобы удалить функции, которые мало или совсем не влияют на прогнозирующую способность модели. Если входные данные для этой функции резко изменятся, поведение вашей модели также может резко измениться нежелательным образом.
Также рассмотрите следующий связанный вопрос:
Оправдывает ли полезность этой функции затраты на ее включение?
Всегда есть соблазн добавить в модель больше функций. Например, предположим, что вы нашли новую функцию, добавление которой немного улучшает прогнозы вашей модели. Немного лучшие прогнозы, конечно, кажутся лучше, чем немного худшие; однако дополнительная функция увеличивает нагрузку на обслуживание.
Надежен ли ваш источник данных?
Несколько вопросов о надежности входных данных:
Всегда ли сигнал будет доступен или он исходит из ненадежного источника? Например:
Сигнал исходит от сервера, который выходит из строя при большой нагрузке?
Сигнал исходит от людей, которые каждый август уезжают в отпуск?
Изменяется ли когда-нибудь система, вычисляющая входные данные вашей модели? Если так:
Как часто?
Как вы узнаете, когда эта система изменится?
Рассмотрите возможность создания собственной копии данных, которые вы получаете от восходящего процесса. Затем переходите к следующей версии исходных данных только тогда, когда вы уверены, что это безопасно.
Является ли ваша модель частью цикла обратной связи?
Иногда модель может влиять на собственные данные обучения. Например, результаты некоторых моделей, в свою очередь, становятся (прямо или косвенно) входными признаками той же модели.
Иногда одна модель может влиять на другую модель. Например, рассмотрим две модели прогнозирования цен на акции:
Модель A — плохая прогнозирующая модель.
Модель Б.
Поскольку модель А содержит ошибки, она ошибочно решает купить акции акции X. Эти покупки приводят к росту цены акции X. Модель B использует цену акции X в качестве входного признака, поэтому модель B может прийти к некоторым ложным выводам о Таким образом, модель B может покупать или продавать акции акции X на основе ошибочного поведения модели A. Поведение модели B, в свою очередь, может повлиять на модель A, возможно, спровоцировав тюльпаноманию или падение акций компании X. запас.
Упражнение: Проверьте свое понимание.
Какие три из следующих моделей подвержены петле обратной связи?
Модель прогнозирования дорожного движения, которая прогнозирует заторы на съездах с шоссе рядом с пляжем, используя в качестве одной из характеристик размер толпы на пляже.
Некоторые любители пляжного отдыха, скорее всего, будут основывать свои планы на прогнозе трафика. Если на пляже много людей и прогнозируется интенсивное движение, многие люди могут составить альтернативный план. Это может снизить посещаемость пляжей, что приведет к снижению прогнозируемого трафика, что затем может увеличить посещаемость, и цикл повторится.
Модель рекомендации книг, которая предлагает романы, которые могут понравиться пользователям, на основе их популярности (т. е. количества покупок книг).
Рекомендации по книгам, скорее всего, будут стимулировать покупки, и эти дополнительные продажи будут возвращены в модель в качестве входных данных, что повысит вероятность того, что она будет рекомендовать эти же книги в будущем.
Модель ранжирования университетов, которая оценивает школы частично по их избирательности — проценту поступивших студентов.
Рейтинги модели могут вызвать дополнительный интерес к школам с самым высоким рейтингом, увеличивая количество получаемых ими заявок. Если эти школы продолжат принимать такое же количество учащихся, избирательность увеличится (процент принятых учащихся снизится). Это повысит рейтинг этих школ, что еще больше повысит интерес потенциальных студентов и так далее…
Модель результатов выборов, которая прогнозирует победителя гонки за пост мэра путем опроса 2% избирателей после закрытия избирательных участков.
Если модель не публикует свой прогноз до закрытия избирательных участков, ее прогнозы не смогут повлиять на поведение избирателей.
Модель стоимости жилья, которая прогнозирует цены на жилье, используя в качестве характеристик размер (площадь в квадратных метрах), количество спален и географическое положение.
Невозможно быстро изменить местоположение, размер или количество спален дома в ответ на прогнозы цен, что делает петлю обратной связи маловероятной. Однако потенциально существует корреляция между размером и количеством спален (в больших домах, скорее всего, будет больше комнат), которую, возможно, придется разделить.
Модель атрибутов лица, определяющая, улыбается ли человек на фотографии, которая регулярно обучается на основе базы данных стоковых фотографий, которая автоматически обновляется ежемесячно.
Здесь нет обратной связи, поскольку прогнозы модели не оказывают никакого влияния на базу данных фотографий. Однако здесь вызывает беспокойство версия входных данных, поскольку эти ежемесячные обновления потенциально могут иметь непредвиденные последствия для модели.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[[["\u003cp\u003eContinuously monitor models in production to evaluate feature importance and potentially remove unnecessary ones, ensuring prediction quality and resource efficiency.\u003c/p\u003e\n"],["\u003cp\u003eData reliability is crucial; consider data source stability, potential changes in upstream data processes, and create local data copies to control versioning and mitigate risks.\u003c/p\u003e\n"],["\u003cp\u003eBe aware of feedback loops where a model's predictions influence future input data, potentially leading to unexpected behavior or biased outcomes, especially in interconnected systems.\u003c/p\u003e\n"],["\u003cp\u003eRegularly assess your model by asking if features are truly helpful and if their value outweighs the costs of inclusion, aiming for a balance between prediction accuracy and maintainability.\u003c/p\u003e\n"],["\u003cp\u003eEvaluate if your model is susceptible to a feedback loop and take steps to isolate it if you find it is.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: Questions to ask\n\nThis lesson focuses on the questions you should ask about your data\nand model in production systems.\n\nIs each feature helpful?\n------------------------\n\nYou should continuously monitor your model to remove features that contribute\nlittle or nothing to the model's predictive ability. If the input data for\nthat feature abruptly changes, your model's behavior might also abruptly\nchange in undesirable ways.\n\nAlso consider the following related question:\n\n- Does the usefulness of the feature justify the cost of including it?\n\nIt is always tempting to add more features to the model. For example,\nsuppose you find a new feature whose addition makes your model's predictions\nslightly better. Slightly better predictions certainly seem better than\nslightly worse predictions; however, the extra feature adds to your\nmaintenance burden.\n\nIs your data source reliable?\n-----------------------------\n\nSome questions to ask about the reliability of your input data:\n\n- Is the signal always going to be available or is it coming from an unreliable source? For example:\n - Is the signal coming from a server that crashes under heavy load?\n - Is the signal coming from humans that go on vacation every August?\n- Does the system that computes your model's input data ever change? If so:\n - How often?\n - How will you know when that system changes?\n\nConsider creating your own copy of the data you receive from the\nupstream process. Then, only advance to the next version of the upstream\ndata when you are certain that it is safe to do so.\n\nIs your model part of a feedback loop?\n--------------------------------------\n\nSometimes a model can affect its own training data. For example, the\nresults from some models, in turn, become (directly or indirectly) input\nfeatures to that same model.\n\nSometimes a model can affect another model. For example, consider two\nmodels for predicting stock prices:\n\n- Model A, which is a bad predictive model.\n- Model B.\n\nSince Model A is buggy, it mistakenly decides to buy stock in Stock X.\nThose purchases drive up the price of Stock X. Model B uses the price\nof Stock X as an input feature, so Model B can come to some false\nconclusions about the value of Stock X. Model B could, therefore,\nbuy or sell shares of Stock X based on the buggy behavior of Model A.\nModel B's behavior, in turn, can affect Model A, possibly triggering a\n[tulip mania](https://wikipedia.org/wiki/Tulip_mania) or a slide in\nCompany X's stock.\n\n### Exercise: Check your understanding\n\nWhich **three** of the following models are susceptible to a feedback loop? \nA traffic-forecasting model that predicts congestion at highway exits near the beach, using beach crowd size as one of its features. \nSome beachgoers are likely to base their plans on the traffic forecast. If there is a large beach crowd and traffic is forecast to be heavy, many people may make alternative plans. This may depress beach turnout, resulting in a lighter traffic forecast, which then may increase attendance, and the cycle repeats. \nA book-recommendation model that suggests novels its users may like based on their popularity (i.e., the number of times the books have been purchased). \nBook recommendations are likely to drive purchases, and these additional sales will be fed back into the model as input, making it more likely to recommend these same books in the future. \nA university-ranking model that rates schools in part by their selectivity---the percentage of students who applied that were admitted. \nThe model's rankings may drive additional interest to top-rated schools, increasing the number of applications they receive. If these schools continue to admit the same number of students, selectivity will increase (the percentage of students admitted will go down). This will boost these schools' rankings, which will further increase prospective student interest, and so on... \nAn election-results model that forecasts the winner of a mayoral race by surveying 2% of voters after the polls have closed. \nIf the model does not publish its forecast until after the polls have closed, it is not possible for its predictions to affect voter behavior. \nA housing-value model that predicts house prices, using size (area in square meters), number of bedrooms, and geographic location as features. \nIt is not possible to quickly change a house's location, size, or number of bedrooms in response to price forecasts, making a feedback loop unlikely. However, there is potentially a correlation between size and number of bedrooms (larger homes are likely to have more rooms) that may need to be teased apart. \nA face-attributes model that detects whether a person is smiling in a photo, which is regularly trained on a database of stock photography that is automatically updated monthly. \nThere is no feedback loop here, as model predictions don't have any impact on the photo database. However, versioning of the input data is a concern here, as these monthly updates could potentially have unforeseen effects on the model. \n[Help Center](https://support.google.com/machinelearningeducation)"]]