[Мусиц плаиинг] МОЗАК СЦАССЕЛЛАТИ: Добродошли на ЦС50 АИ серије. Моје име је Сцасс, а данас ћемо да разговарају о дају препоруке система. Сада Препоручитељ системи звуци као нека врста чудно име. Звучи као да би требало бити препорука системи, и некако сам се слажем са тобом. Али то су системи који помажу изаберите из слицне ствари кад год изаберете нешто на мрежи. Нетфлик на пример ће предложити други филмове које би желели да гледају. Или Пандора ће предложити другачији Песме које бисте можда желели да слушате. Амазон ће предложити Које врсте Остали производи можда ћете желети да купи. Фацебоок ће чак сугеришу неке од осталих пријатеља да би желите да додате. Сваки од ових система за свој рад користе иста основна врста алгоритма, и то је оно што смо ће данас говорити. Сада су ови алгоритми су изненађујуће велики бизнис. Нетфлик пре неколико година у 2009 понудио $ 1 милион награда ако могу побољшати њихов Препорука систем за само 10%. То 10%, међутим, представља Значајан износ пословања. Процене су тешко доћи, али многи људи Сматрамо да су ови препорука системи за онлине куповину Систем као Амазон довести до негде између 10% и 25% повећања прихода. Тако да можете замислити врста обима да си говоримо о када размишљамо о чак и ове мале алгоритми. Дакле, хајде да се неке примере. Како то да они системи стварно ради? Постоје два основна врсте алгоритама који су у игри када говоримо о генератинг препоруке. Први који се називају Садржај заснива филтрирање. И садржај заснован филтрирање ослања на сличности између ставки сами, односно између два филма или две песме или две купљене ствари. Ми ћемо користити филмове као пример, али ово могао применити, заиста, на било коју врсту објекта који тражимо. Дакле, ако ја мислим о неким филмови из прошле године, Видела сам Инсиде Оут витх моја деца, они су га волели. Али ми такође имао избора. Могли смо отишли ​​да видимо послушници, можемо видети Аге оф Ултрон, или смо могао да види Мрав Човек у позориштима. За било кога од ових филмове, убијеђени смо да генерисање листе функција или квалитети око тих различитих филмова. Тако, на пример, могу да сматрам која од тих филмова су анимирани. Па, како Инсиде Оут и марионета су анимирани. Ни Старост Ултрон ни Мрав Човек се цртаних филмова. И да замислим зграду до структуре, сто да листама Свака од ових особина. Да ли анимирани или не? Тада сам могао додати више карактеристике овог стола додавањем нове редове у ове структуре. Могао бих да питам да ли не они Марвел филмове. Па, Инсиде Оут и марионета нису Марвел филмова, Старост Ултрон и Ант Ман свакако јесу. И могао питати било које врсте од различитих квалитета да сам хтео, било које врсте функција то би могло бити важно за мене. Да ли они имају супер зликовац? Па, нема Супер Виллаин у Инсиде , Али постоје оне у Минионс и, очигледно, два филмовима о суперхеројима. Такође могао питати ствари као, добро, они положе тест Бецхдел? Да ли постоје два по имену женски ликови који проведем неко значајну количину време разговарамо који не укључује људе у гипсу? Па, у овом случају, Инсиде Оут пролази тест, Минионс не, Аге оф Ултрон пролази тест, Ант Човек не. Било који од ових карактеристика Могао бих да размишљам о као важне за неке људе. Такође могао питати ствари као што су Постоје ли људи у овим филмовима који Алумни су из рецимо, паркови и Рекреација, један од мојих омиљених емисија. Па, Инсиде Оут има Ами Поехлер, то је Алумни. То се рачуна. Јон Хамм је био у Минионс. Паул Рудд је у Ант Ман, али нико у доба Ултрон је био у парковима и Рек као. Тако да могу да изграде ову листу карактеристике, и они заиста могу бити ништа о филмовима. Они могу бити шта омјер су пуцали у, може да буде колико их места продата на свом првом викенду. Било особина које желим да генерисати могу ставити у овој табели. Сада, у овом случају, ја сам изградио све врсте Буллион вредности, да или не, проћи или не, али може бити било шта. Они могу бити произвољне вредности. За филтрирање садржаја заснована, шта ћемо да радимо се ћемо да размотримо две колоне у овој табели па да видимо како слични су. На пример, ако је отишао да види Инсиде Оут, Можда питам, шта су остали филмова да би био вољан да види. То је, оно вољан да троше свој новац да види. И ово може упоредити од само узимање у две колоне, једна од Инсиде Оут и један из било које од других филмова, и само видим колико њихове карактеристике утакмице. Дакле, ако упоредим Инсиде Оут са Минионс, добро, ту је Три ствари овде да утакмица. Обоје анимирани, ниједан од њих су Марвел филмови, и обојица има паркови и Рек алумни. Тако да могу да рачунам се како многи утакмице било је, и у том случају не би било три. Ако затим упоредите Инсиде Оут са рецимо Аге оф Ултрон, Ја Можете погледати доле листу и кажу, добро, ту је само једна ствар која одговара тамо. Обојица су проћи тест Бецхтел, тако који ће бити резултат једног. А између Инсиде Оут Ант Човече, опет може упоредити линију по линију колико ствари утакмица између њих двојице. Па, један је анимирани, један није. Једна је Марвел филм, не то. Један има супер зликовац, друга не. Један пролази Бецхтел Тест, један не успе, али обојица имају паркова и Рек алумни, па опет, добија резултат једног. Дакле, ако сам тражили за филмове који су били слично Инсиде Оут, Могао бих да траже филмове који имају најбољи резултат унутар овог садржаја филтрирање шема. Дакле, у овом случају, ће размотрити Минионс да будемо ближи и вероватно бити нешто да бих троше новац да види од доба Ултрон или Ант Ман. Ово садржај заснован филтрирање системи се ослањају само на својства филмови, и тако сам може изградити ово само знајући Нешто о производима да имам. Ја могу користити било које врсте карактеристике које бих хтио, и ја могу градити више сложене функције које укључи сложеније тест од квалитета као што сам ићи заједно. У ствари, могу чак да видите ову табелу не као једна статичка објекат, већ као димензије у оквиру ширег државног простора. И могу почнеш да причаш о раздаљине између различитих филмова. То су све ствари да знамо како они урадите помоћу врсте структура података да смо већ видели у ЦС50. Тако да сам могао да замислим зграду структура података за филм. Постоји струцт да имам изграђена се зове филм, и има пет логичке уносе у њему. Да ли је анимирани, то је Марвел филм, да ли има супер зликовац, то проћи Бецхдел тест, и постоје Паркови и Рец Алумни у њој? И свака од њих је структура података које сам могу да заузимају за тај филм. Затим израчунати да ли два филмови су слични или не, каква је њихова оцјена је, да могу написати скуп псеудокоду да генерише ту исту функцију. То је, с обзиром на неком филму М1, ја могу наћи најсличнији филм на њу пратећи Псеудокод. Сматрам који је најбољи постављајући систем који сам пронашао, најбоље поређење које сам нашао. За сваки други филм Ја ћу да прођем кроз, Ја ћу поставити резултат меч једнак 0. И ја идем кроз то филм, М1 филм Почео сам са ћу провјерити свака функција да они морају да виде ако постоји меч. Ако постоји меч, ја ћу повећајте резултат утакмице. А ако на крају резултат мечу који Ја сам је боље него тренутно најбољи гол, онда ћу запамтите да најбољи резултат, и ово је најбољи меч да имам. На крају, без обзира кино седи у најбољем мечу, То је најближи Ја сам био у могућности да дође. Дакле, на основу ових садржаја филтрирање системи, сви они имају ту основну структуру. Они се ослањају на ставке у питању и ништа о било којој од преференција корисника. Други механизам који користимо у нареди да се изгради препорука система се зове заједнички филтрирање. Заједнички филтрирање ослања а не квалитети самог предмета, али како људи, друго Корисници који је, како су одговорила на тим истим објектима. Тако да настави са својим филма пример, Можда поведе и гомилу мојих пријатеља Истраживање и да их о томе да ли или не волео посебне филмове. Сада различита места ће генерисати ови подаци на различите начине. Можете директно анкете твој корисници, или само могао види шта они бирају ако ви сте, на пример Нетфлик. Које филмове су они гледају? Можда питање неке од мојих пријатељи овде и сазнајте да Џејсон волео сваки филм видио, није изненађење. Енди само волео миљеника и тетка Ман. Сара волео Инсиде Оут и Авенгерс, супротно од Ендија. Сам, добро, Сем ликед све филмовима о суперхеројима али ниједан од анимираних филмова. Тада сам могао да упит за неке нове појединац, неки други корисник као ја и питам, добро, ако сам волио један од ових филмова, можете направити предвиђања о која друга кино ја не бих волео. То јест, ако Инсиде волио Је, што другим филмовима Ја сам вероватно такође желе да виде на основу онога што слични људи радили? То је, ја идем кроз Ја ћу филтрирати кроз овај списак и наћи само појединци који је такође волео Инсиде Оут, који је упарен моје преференције. Па, то значи да је Енди и Сем, они нису волели Инсиде Оут, тако да нећу да их размотри. Идем да се ослободи свог Подаци за ово поређење. Тада сам се Погледајте шта Јасон и Сара мисли и Талли до које од филмова који су видели да нисам, да ли су их волели или не. Само могу да рачунам горе, рецимо гласова. Тако Минионс, на пример може има један гласају за њега, јер Џејсон се свидело. И Џејсон и Сара волео Авенгерс, тако да ће имати два гласа. И само Џејсон волео Ант Ман, тако да би добили један глас. Дакле, ако сам имао до тада препоручујем за себе које од ових филмова Можда ћу највероватније гледати, ја бих морају да бирају Аге оф Ултрон: Авенгерс. Дакле, за било који од ових системи, сада ја користим подаци који није генерисан о Сам филм, али о склоностима од других корисника. Ово има неке потешкоће наравно. Шта ако немате никакве друге кориснике? Па, то се зове покретање проблема. Морате да имате неке количина података пре него што сте у стању да започне израду Ове препоруке. Друга страна тога је некада почнете прикупљање података, ако можете да прикупите више и све више и више података, ћете добити бољи и боље препоруке. Сада можемо превести ово у коду као добро. Можемо да дефинишемо другачије врсту структуре, у овом случају ми ћемо га назвати корисник. И има карактеристике о која кино овај корисник волео. Да ли они воле Инсиде Оут, Минионс, Авенгерс, и Мрав Ман. Онда могу да произведу неки Псеудокод да прати исту процедуру која сам раније користи. То је, с обзиром на посебан корисник х, хајде да препоручи филм да је к свиди. Можемо ићи кроз и за све филмове, можемо инитиализе резултат за тај филм да буде 0. И онда можемо наћи сви других корисника који имају исте склоности као к. А онда за сваки Филм који им се допала, ћемо повећавати резултат тог филма. Који год филм у крај има највећу оцену, то је онај који сам треба да препоручи. Ништа од овога није стварно нејасно. Ништа од овога је изазов. Ово су све основне алгоритме да бисте могли имплементирати данас. Сада у реалном дају препоруке системима, наиђете на неке проблеме. Шта ако нема никога ко одговара тачно ваше преференце? Шта ако постоје корисници који су тачно ваши преференције, али онда одступа драстично од онога што ти се свиђа? Ја волим класичну Годзилла филмове, али моја супруга не. Волим да их гледам, моја Нетфлик налог садржи их. Она не. Шта се дешава када почнемо мешање податке овако? То су све изазови које можете превазићи, они само узети мало сложенији алгоритми. Сада у стварном свету, који су заправо у функцији, ми користимо садржај на филтрирање или ми користимо заједнички филтрирање? А одговор је да користимо оба. Скоро сви од највећих корисника у овај случај, Амазон, Фацебоок, Нетфлик Пандора, сви они користе комбинацију ови различити системи. фирму И када комбинујемо изборе од свака, ми их зовемо хибридни системи. Они су на неки начин зависе од особине самог предмета, и на неки начин су након зависе преференције других корисника. Ови хибридни системи, они су велики бизнис, и они су оно што је тренутна данас. Дакле, хвала пуно ми се придрузили. Надам се да сте добили мало Мало разумевања онога што чини Ови системи раде. Следећи пут кад сте на мрежи, запамтите да не само да утиче на изборе, али потенцијално сви други је као добро. Хвала још једном.