Как да направите наука за данни на развиващ се уебсайт

Защо UX дизайнът играе ключова роля в последователността на базата данни и как ансамблерното моделиране може да се използва за справяне с данни, идващи от различни времеви периоди.

В HousingAnywhere.com доверието е основната ни дейност. Както всички пазарни пазари, нашата добавена стойност е пряко свързана с качеството на доставчиците в нашата платформа. За да осигурим безпроблемно изживяване и надеждна среда, полагаме много усилия за откриване и изключване на измамници възможно най-бързо, особено преди те да могат да взаимодействат с някой от търсещите. Непрекъснато увеличаващият се брой публикувани списъци и наличността на данни, събрани през последните три години, ни накараха да проучваме автоматизацията все повече и повече и да видим как можем да използваме изкуствения интелект, като помагаме на нашия екип за клиентски решения с предотвратяване на измами и измами. ,

Окуражаващите резултати при първите офлайн тестове ни накараха да използваме модела си в ежедневните операции, предоставяйки полуавтоматизиран инструмент, захранван с живи данни. Това добави сложност към задачата: справянето с данните в реално време ни накара да преразгледаме тестовата инфраструктура, тъй като очакваме да предоставим надеждни резултати далеч отвъд обикновената изследователска перспектива. Първите експерименти с данни на живо показаха драстично намаляване на производителността, което ни доведе до оспорване на целия ни набор от предположения. В крайна сметка заключихме, че трябва да започнем свежо, препроектирайки тръбопровода от нулата и да направим нови предположения за това, което търсихме.

Справяне с времеви данни

В среда на класификация, подобна на конкуренция, работата на модела често се оценява с рандомизирано задържане: данните се разместват, като по-голямата част от тях е избрана на случаен принцип за обучение на модела и малък подмножество (10%) е запазено за тестване на неговата ефективност , Следователно данните, използвани за тестовете, се вземат на извадка през целия времеви интервал, а не в определен интервал от време.

Скоро обаче стана ясно, че този подход ще се окаже неадекватен в перспективата за привеждане на това изследване в производство. Целта на нашето изследване е практическа, а не академична: полученият продукт трябва да внесе измерими подобрения в UX. Само разчитането на измерване на производителността на хартиен носител би се оказало ограничаващо, ако не и неефективно, когато бъде доведено до производство.

Това ни накара да заключим, че най-вероятно би било безполезно да се оценява производителността и да се монтира модела, като се използват данни, идващи от рандомизирани времеви периоди, когато вместо това на живо разгръщане той ще се използва само с бъдещи данни, които могат да покажат различна динамика.

Това изместване на парадигмата може да се почувства като усложнение във вашия тръбопровод за данни, но в този случай беше решаваща корекция в нашия подход. Резултатът от него беше рязък спад в точността на модела в сравнение с рандомизиран 10% набор за тестване. Резултатите са показани тук по-долу.

Фиг. 1 - Отляво изпълненията, получени с рандомизирано 10-кратно кръстосано валидиране. Вдясно изпълненията, получени с задържане на най-новите данни.

Каква беше причината за спада в представянето? Отне ни известно време, за да го разберем и трябваше да проведем някои интервюта сред членовете на нашия екип на CS. Това, което ни стана ясно, е, че с течение на времето не само поведението на измамниците се е развило (и адаптирало), но и основата на платформата HousingAnywhere.

Данните са движеща се цел

Въз основа на това откритие трябваше да се върнем към бялата дъска и да преразгледаме своите предположения. Ако разгледаме първия аспект, макар да е вярно, че някои умни измамници са променили поведението си във времето, което затруднява автоматично да ги откриват, също така е вярно, че някои модели все още остават същите. Имахме нова загадка: как беше възможно същите характеристики, които през 2017 г. бяха толкова уместни за откриване на измамници, да не са били през 2018 г.?

След някои проучвания решихме да проучим дали нашата база данни страда от дрейф. Парадигмата на машинното обучение има своите основания в предположението, че предоставените данни са извлечени от едно и също статистическо разпределение: в крайна сметка процесът на обучение се свежда до намирането на начин за най-добро сближаване на параметрите, управляващи това разпределение. Кръстосаното валидиране и по-общо казано рандомизираното задържане често предоставя надеждни резултати, тъй като наборите за обучение и тестване са генерирани от едно и също разпределение. От друга страна, когато това предположение не е вярно, обучението на смислен модел и измерването на надеждни изпълнения става предизвикателство. В тези случаи, ако решите да тръгнете с класически рандомизиран сплит, се усеща малко като метене на праха под килима (поне за нас). Той извлича данни от по-голямата част от основните разпространения и осреднява всички възможни грешки, но в никакъв случай не е релевантен в жива среда, в която наученият модел трябва да докаже своята ефективност върху данните на живо.

Освен теоретично описание какво е дрейф, все още ни липсваше инструмент, който да провери по лесен и практичен начин. Прикачването на времева марка към всеки ред в набора от данни е било достатъчно, за да се създаде нов класификатор, който се опитва правилно да отгатне периода от време, в който е генериран записът, използвайки функциите на набора от данни. Ако поведението на променливите беше толкова зависимо от времето и се промени толкова много през последните години, че можеше да е възможно правилно да се предвиди, например, точният момент, когато даден списък е създаден, просто въз основа на неговите характеристики, тогава той ще стане много вероятно е имало малка добавена стойност за автоматизиране на откриването на измамници. Точността на такъв модел беше доста висока (81%), което означава, че някои от независимите променливи са добри оценители на целевата променлива (периодът от време). Използването на дървовиден модел за класификацията ни позволи да добием някои поглед върху най-подходящите характеристики и тяхното поведение. Това ни накара да открием някои интересни аспекти на нашата платформа.

Фиг. 2 - Еволюция във времето на двоичен атрибут

Фигура 2 представя графики като пример за еволюцията във времето на двоичен атрибут, който не предизвиква промяна в набора от данни: неговото поведение е сезонно за период от една година, но е повече или по-малко постоянно в средата и с доста предсказуема еволюция. Откриването на някои корелации с поведението на измамниците през последните години би могло да бъде пряко използвано за предстоящите.

Фиг.3 - Еволюция през годините на атрибута, тясно свързана с ограниченията, UX, наложени на рекламодателите по време на процеса на борда.

Някои други качества, от друга страна, промениха естественото си поведение по такъв начин, че те се оказаха без значение за нашия анализ. Средното време за създаване на нов списък беше особено засегнато от него. Средното време за създаване на списък изглежда оказва силно влияние върху откриването на измамници, но в контекст, в който се променя (увеличава или намалява) не поради поведението на потребителя, а от UX на платформата (т.е. потребителски поток и функции ), как можем да разчитаме на него, когато го доведем до производство? Поведение, което сега е подозрително по отношение на тези характеристики, може да бъде напълно добре след няколко месеца и това се отнася за цялата тренировъчна процедура.

С други думи, ние останахме със загадка: имахме за цел да автоматизираме откриването на възможни измамници, но функциите, които биха правилно идентифицирали измамник днес, може да не работят утре, защото основната платформа се е променила.

Всички наши хипотези са потвърдени директно с данни: намаляването на тренировъчния прозорец доведе до много по-висока ефективност от тази, получена с използване на поведенията през годината при прилагане на временно задържане с тестови данни, идващи от седмиците, непосредствено след тренировъчния набор. Най-интересните случаи обаче са онези, в които някои нови функции и ограничения, добавени към платформата, промениха поведението на потребителите по такъв начин, че създаде интересна динамика, полезна за откриване на измамници.

Фиг. 4

Фигура 4 показва средния резултат за завършеност на профила за всеки месец през последните две години. Както се вижда, от август 2017 г. тази средна стойност значително се увеличи благодарение на въвеждането на нови потоци по време на регистрацията на потребителите.

Фигура 5 ни помага да визуализираме страхотното разграничение между средната стойност за измамниците, а не измамниците от разглежданата характеристика: налагането на нови ограничения в UX повиши както цялостното качество на данните, събрани на нашата платформа, и помогна на класификатора да разграничи измамниците, а не измамници.

Фиг. 5

И накрая, друго ограничение, с което се сблъскахме, бяха постоянните подобрения в нашите вътрешни процеси за предотвратяване на измами. Например през 2018 г. разработихме Theia, услуга, базирана на ML, която уведомява нашия екип за поддръжка за всяка снимка, съдържаща информация за контакт, споделена от някои подозрителни рекламодатели в платформата. Ясно е, че тези функции имат значение само за подмножество от набора от данни, но вместо това са основни за всички нови входящи данни.

Истинското предизвикателство беше да извлечем пълния потенциал от нашия набор от данни, който е в състояние да използва както знанията, получени от стари исторически поведения, така и информацията, идваща от новосъздадените тригери. Фиксирана книга за това как да се справим с дрейфа не съществува: премахването на напълно някои от променливите, които причиняват преместването, може да изглежда като лесна опция, но би попречило на точността на бъдещите открития.

Обучение на поведение с течение на времето

Извършени са десетки експерименти, опитвайки различни подходи и подмножества от набора от данни. Най-добрите изпълнения са получени чрез събиране на ансамбъл от четири различни класификатори, обучени за една и съща цел, но с малко различни набори от данни, както по отношение на използваните характеристики, така и във времето, от което са извлечени пробите.

Ансамбълът е статистически модел, съставен от различни самостоятелни класификатори, който има по-добри показатели от основните модели, взети самостоятелно. Всеки от тях връща вероятност вписването на вход да бъде измама; целта е да се намери най-добрият възможен начин за претегляне на всяко едно решение и след това да стигнете до крайния резултат. Теглата, свързани с всеки модел, са назначени, за да се постигне възможно най-доброто представяне на най-новите данни и да се опише зависимостта, която всяка от миналата динамика има (средно) от текущото поведение на измамниците.

Разработената архитектура е мащабируема и модернизирана както в посока на коригиране на теглата, така че да се адаптира към ново поведение (увеличаване на важността на решението, взето от най-новия модел, например), така и на възможността за добавяне на нови модели в пула, обучени с нови функции и задействания.

Фиг.6 - Финални изпълнения, получени от модели, обучени с различни набори от данни. „Historical“ използва най-големия подмножество от последователни данни, налични от 2016 г. насам; „Всички“ използва всички налични функции от 2016 г., без да прави анализ на тяхното значение и еволюция; „Последно“ използва най-големия набор от данни, съставен от всички налични функции.

Разсъжденията на това ниво на абстракция се оказаха ключови за успеха на това изследване: всеки от обучените модели беше в състояние да открие измамници, каквито другите не бяха, и нито един от тях не прекалява с останалите три. Моделът, обучен с най-голямото налично подмножество от последователни функции, имаше най-добри резултати, когато се вземат поотделно, дори по-добри от постигнатите от модела, захранван с най-богатия наличен набор от данни - това е общото историческо поведение. Те се оказаха вторият най-добър, но не са достатъчни, за да се считат за надеждни. Ансамбълът, от друга страна, показва най-силното представяне от всички.

Резултатите ясно показват, че крайният модел е последователен и че е научил някаква динамика на нашата платформа, която не е лесно преносима на фиксирани правила или статични филтри. Преместването на праговете по кривата на прецизно извикване позволява да настроите класификатора или да работи като автоматичен детектор за най-тривиалните случаи, или като надежден инструмент за наблюдение, способен да изпраща известия за най-подозрително поведение. И в двата случая, проектираната архитектура винаги е в състояние да придаде значима оценка на вероятността на всеки новосъздаден списък, който всъщност е свързан с вероятността този списък да бъде измама. Дори ако за постигане на 100% откриване (целта на нашата компания) винаги ще е необходима окончателна ръчна проверка на ново вмъкнатите листинги, тези резултати от вероятността ще бъдат решаващ инструмент за нашите представители на подкрепата в борбата им с измамите и измамите.