Um, soessentially, whatourclassifierwillwanttodowhat a k meansclassifierwilldioisitsaysOkay, I havethislargedatasetandTuesday I'm goingtojustgrab a bunchofrandompiecesfromthedeficitandthosewillbemyinitialclusters.
Sotheinitialmeansairprettyrandom.
They'reallroughlythesameissue?
Nodependsonthedistribution.
Yougotupthereprettyreasonable.
SowejustkindofgrabbedSamanimages, Throwhiminto a clusterandwesayAllright, nowtellmewhichimage?
Solet's sayoneclusterisfromourCallie, oneextremethenif I takewhateverthemeanerthecenterofthatclusteris, itshouldbeprettyrepresentativeofwhatweonaverage, lookedlikeinthatstream.
Now I haven't Wehaven't testedthese, right, Sowewereprettysurethatit'llworkreasonablywell, butweleaveourselves a littleuntestedtokindofverifythatthingsthatkindoffunny.
AnditgivesyouguyssomeroomThioexperiments, I guess.
Andwegettoexperimentandshowyouguyscoolthings.
Soyouwillseesomekindofentertainingstuffwithour K meansclustering.
Butourpredictionisroughlythat.
Youshouldseewhatwelookedlikeonaverageon a givenstreamandgiven a newimage, it'lltelluswhichclusteritshouldhavebelongsto.
Sowell, theniteratedoutrhythmoverthoseimagesandsay, Hey, whichclusteryouclosesttoAndsothatcanbe a wayof, like, tighteningupwhatyou're a k meansclassifierwillactuallydo.
SGSTbeforewassayingeventhesecondguy, youknow, I wasactually I justWehad a bugwithourFacebookdeployment, So I wasjustfocusedongettingusstreamtoFacebook, whichwenoware, I guess, aswewereinitiallypublishedpublishingthis O B s sortofbuggedoutandcausedthefateextreme.
No, no, I wassorry.
I waslikezoomedinongettingthatfocus.
Buthe s airhere.
Sheaskedanotherquestionearlier.
Whichwas, umwherewasit?
I'm proficient, Python, butknownothingabouthim.
Isthisdreamforme?
Whatdoyousay?
Yeah, I thinkthisis a veryreasonablestream.
Evenifyou'renotsupergreatinpylonorifyou're, like, veryadequate, I wouldcountmyselfas, like, decentinpython.
Thiswouldstillbeprettyreasonableforyou.
Soourgoalistokindof a daybeginning.
We'regonnadothiskindofhighlevelapproach.
Like, whatarewegoingtogothrough?
Whatkindoftheconcepts?
Butwe'regonnarepeatthoseconceptsprettymuchthroughoutthestreamsothatyoureallyget a senseofwhatwe'reactuallytalkingabout.
S So, forinstance, ifyou'rereallylike, uh, youwanttodothisyourself, thenyougoatalong.
Weshouldbegoingat a reasonablespeedisalwayspositive.
Video.
Goback.
ReiterateonDDE.
Thatshouldbeeasyforyou.
Ifthat's howyoulearn.
Ifyoulearnthroughlisteningtowhatwesay, thenmaybe a differentiterationwillhelpyou.
Ifthisonedoesn't work.
Ifthismakesperfectsensetoyou, thenthat's great.
Therearemanydifferentwayswe'regonnatryandattackthesameproblemon I sawsomebodysaid, Pleasealsotalkaboutlimitationsof K meansclustering.
Asin, Iftherearetwoconcentriccircleskindsofdata, thenyou're k meansclusteringmighthavesomeproblemswith, likeidentifyingwhichoneiswhich s O, forexample?
Let's say I havesomedatasetandthensomeofthedatasetthatis a subsetoftheotheroftheoriginaldatasetisit?
EsoLet's say I wantedtoclassifybetween, like, allkindsofdogversuslikepoodles, forexample, right?
Itmightbe a littlebittrickyformeandactuallythatmightnotbethebestexample, butit's kindoftheidea, whichisthat I havethesubsetofthedatathat I wanttokindofclassifyasseparatefromtherestofthedata.
Andthatcouldbereallydifficultfor K meansbecause K meansbydefinitionisreallyjustlookingat, like, whatmeanimage?
Can I getoutofsomedataset?
Andhowcan I findthingsthatareclosesttothatmeanbysomemeasureofdistanceonDSOforsomethingthathaskindof, onaverage, thatthemeanimageoftheentiredatasetisvery, veryclose.
Thiothemeanimageofthesubsetdatasetthen K meanscan't distinguishthetwo.
Butmaybeyoucouldlookatotherfeaturediscriminationalgorithms, soit's a deepfeeling.
There's a lotofthings, a lotofcomplexity.
It's veryinteresting, but I'm veryexcitedtolearn.
I think a littlebitmoreabout I'm actuallygonnatransitionthioyourlaptop.
Youworktomakesureonwhileyou'redoingthat a TTEtheveryendofthestream.
Wewillhopefullyhave a littlebitoftimeThiokindofsneakpeak.
Andthat's whatwecall a generativemodelandthenpotentiallyindegenerativeadversarialnetwork.
Yesandeventuallywewillhopefullyget, I guessnot.
Eventually, after, maybethatwewillhopinto a generativeadversarialnetworks.
Sothiswilldojust a singlepartstream.
Therehavebeenmany, manyparts.
Yeah, Yeah, I think I thinkwillhelppeopletoget a I thinkit's groundworkunderstandingof a lotofthepieces.
Yeah, Andso I thinkthatit's a verygoodpointstorecognizethattherearelimitationstothis, thatthenextstreamwillkindofcoverwhytherearen't necessarilyasmany.
Thisis a beautifulscreenseverydayforthebrandnewright?
Thisis C matrix.
I pipedit.
SoonOS X, I pipeditthroughwallcatwall.
Catraindefiesthings.
See, Matrixmakesthings.
Itmakeskindoflike a matrixstylescreensaver.
I'm a hugefanofusingit.
I don't knowwhocreatedit, but I guesswe'rekindofdoingfreeadvertisingforhim.
They'rereallycool.
It's a coolproject.
I'm a hugefanofusingit.
I thinkitlookstechieandanybodywantstolooklikethey'retruefantasy.
I alsodoloverevere, but I'm tryingtoavoiddrinkingtoomanyserviceas a kindofinterestingtangenttoyour K meansClassifier s sowehavethesefourdifferentclassificationsofdata.
Sorry, Father.
Mighthavebeenfive.
They'reonlyfor I'm basicallythere's there's all I don't knowthatthereisallitisunfortunatethat a separateclasslikeanumbrellaumbrella.
I unfortunatelydidnothavetheforesighttoselectforappealingimages.
Butthereareimagesofus, andsoyoudohavemanydifferentimagespulledthroughout a streamandisthesame.
I knowthisistheexactsamedimensions.
Yes.
Yeah.
So I normalizedacrossdimensionstomakeourlives a littleeasier, But I didn't normalizeacrosshowwehelpmuchoftheframeweoccupy.
Sure.
So I didveryminimal, prettyprocessinginthat I literallyonlyjustmadesuretheywerethesamesize, thesamesize, thesame, likepixiequality, sowehavethesameresolutiononallofthem.
Butotherthanthat, nothingelsewasdonetocrazily.
Now, these 1st 2 arefairlyeasytodistinguish.
Werewearingverydifferentcoloredshirts.
Um, andwe'reinotherpositions.
However, theselasttwo, you'llnoticethatwe'rebothwearingblack.
Uh, wow.
Andthebackgroundisnotparticularlyeasytodiscriminateagainst S o.
Wekindofpickedtwothingsthatareprettyeasy.
They'llbestandoutoutliers.
Almosttheremeansshouldbeprettydifferent.
Theseones, thatmeansdon't lookthatdifferentnowwemovearound a lot.
Andhowmeanstranslatedstarslikemachinesareconcernedis a littledifferent.
Butyou'llnoticethatthe C T F streamandourCallieStreamwewerebothwearingblack.
And I alsodothistwitchstreamingand a bunchofotherstuffprogramanotherrelatedthingsondhe.
Andthen I actuallywasonCS 50 stafffortwoyearsorso.
Andthat's how I endedupworkingwiththeseguys.
Andthentherestofmytimeisspentbeing a student.
I'm just a fulltimetoremindmewhatyour I don't remember 100% ifyou'redoingsiESAsyourconcentration, right?
Yeah.
Mymajoractuallyhavejointor a doublemajorinbioengineeringandcomputerwasn't sureitwasverydifficulttorememberwhichone s So I'm doingbothand, uh, yeah, mostofmytimespentstudying.
I thinkif I didn't havetospendallofmytimedoingjustpeace, that's constantlyproblems.
That's forthosewhoaren't familiar.
Then I wouldprobablyproducemuchmorehighqualitypreparationonthesestreams.
Butthat's okay.
I thinkit's stillprettyprettyentertaining.
Thisisbefore, andyou'vetaken a milecoursehere.
Yeah, and I'm alsocurrentlyinouramulcourse, actually.
Okay, so I'veactuallytastetaken.
Mostly, uh, like, systemscourses.
So I focus a lotof, like, systems.
I reallylikethat.
A visualizationwhen I haven't gotten a chance.
Take a courseinit.
Actually.
Wow, I'vereallyfocusedonsystems, so I'm fairlyfamiliarwithsystems.
Ifyouwant a reallybadversionofmy C programming, gowatch R C.
Perkins.
Threepointofthatstreetwasnotmy C programming, butwedidendupuhuh, kindofgoingthroughsome C programming.
Uh, yeah, I reallydon't knowwhere I think I justkindofgotinterestedinmlasactuallyinCS 50.
I waslike, Oh, machinelearningseemsreallycool.
My t f waslike, Yeah, youshouldgo.
Goforit, youknow?
And I triedsomeveryhighlevellibrariesandenoughtounderstandmuchabouttheoryandkindoffromthere I hoppedinto a bunchofarticlesand I startedbuildinglittleexamplesmyself.
Um, yeah, and I think I built, like, a smallroomcamerathatuponsomeonefrommyfamily, enteringmyroom, itkindoflikeidentifieswhotheyarenotifiesme, Youknow, justforfun.
A lotoftimesyoujustbuildprojectsandasUgothingskindofpopoutofthewoodwork.
I actuallyreallylikegoingand I'm notsuperfamiliarwithityet, but I do.
I dointendonbecominglikethatonbecomingmuchmorefamiliarwithit s o going.
LanguageinventedbyGooglesometimesreferredtousjustgonottobeconfusedwiththeboardgameandgoLangis a veryinterestinglanguageinthatitstillallowsyoutohaveaccesstolowlevelthings.
C++ styleseestyle.
I canstilltouchmemoryandaccessprimitives, butithas a muchnicerWell, a lotofpeoplebelievethiswillsetoff a firestormsomewhere.
Butmanypeoplebelievethatithas a muchnicerinterface.
There's a garbagecollectorthatpreventsthatobjectfromjustfloatingaroundforeverinactivememoryormainmemory.
Goinghas a nicegarbagecollector.
Goalsohas a reallynicefeaturethat I haven't explored a wholelotinit's likeversionofthreadsandthreadingtherenotasheavyweightaslike a C plus, plustherightpeople.
Or I thinkmaybeit's functionaland I actuallyinindustrywereatleasttheindustriesthat I'veworkedin.
I'vegenerallypreferredfunctionalparadigmsbecauseitmakesitreallyeasytotest, whereasOdditoriumparadigms, it's notthatthey'redifficulttotest, but I generallyfindthatpeopleare a littlelessstringentintheirtestingpractices, andthattendstoleadtomorebrutalpractices.
Andeventuallynoonecondemnedyourcoat.
I mean, wetalkedaboutit.
I reallylikeclosure.
I wanttoget, like, reallygoodatclosure.
Like I wouldtoo, youknow, growingpopularity.
I mean, I thinkfunctionalprogrammingisonalwayshasanythingsinceitsinception.
Thinklanguageshavemore, youknow, recentlyespeciallystartedtoadoptfunctionalfeatures, evenJava, whichiskindofcrazytothinkGofigure C Sharpisnotsogreat a greatwiththatwith, like, linkBerriestoomuch, butBut I'm moreinvolvedinthegame, Ofcourse.
Here, I mean, thegamedevelopmentrecentlybeenconsideringtheideaofmaking a gamecompletelyin a functionallikeenclosures.
Yeah, whichcouldbefascinatingwhenyou'redealingwith, you'redealingwitheithereithertheideaoftakingyourentireframeandperformingmutationsonitassoonasyourstateobjectortakingjustthewhatyouhadtakenlike a reactAppert.
Just a generalapplication, likeallyourentities, importantinformationenteringthatisyourstateobjectperformingoperationsonthat, Alsohavingsortofsequenceoldrenderinglogic.
So I thinkitwouldbeanimproperdisclosureisaboutthebestpayinglanguagetoknow.
AccordingtothenewSM, Insidesknewaboutthattoo.
Cooldoesn't happentobethemainreasonthat I wanttolearnclosure, butit's a nicelittlelittleplus, youknow, nextbonusforitandgettohopin a nice, highpayingindustry.
Butwhatyou'resayingistrue.
I mean, likedoingthestatewithobjectorientedprogrammingwithreallylargeapplicationsandgamesorcrime.
It's goingtobe a horizontalscalingissueratherthanindividualcores, whichisreallyitis a veryinterestingshiftthatwe'restartingtosee, andwe'reallwe'reallinit.
Functionalprogrammingisveryeasytoverifythings, andthat's it's prettymuch a exactWell, I wasgonnasaysideeffectofthefactthattherearenosideeffects, right?
It's justsuperused.
Andthere's beenarticleswrittenaboutthistoo.
Now, liketheoreticwitnesses, thereasonfor a softwareblowinwhatthisHaveyoueverworkedinindustry?
Andyou'veseen a pieceofcodethatyou'relike, Whydoesthiswork, boyitdoeswheretheunittestswirethere.
Solikethat, I don't knowhowtruethatreallyis, butitiskindof a nicefeatureofthelanguagethat, likeasyouwritethecodedocuments, whatitdoesifyoukindoffollowsomestandardseeingfunctionhaswritten, iswrittensomeclarityofLee, andthat's thewordthatitwasgoingtoreactandreactisactuallyveryfunctionalspecialwiththreeducks.
Itkindofadoptsthatsortoffunctionalparadigm.
Butbeingabletowriteoutexplicitlyhow, liketheoperationthat I thinkit's basicallytheverbsversusnowhisargumentrightwithprogram, whichisas a studentofCSandyou'reswitchingbetweenalltheselanguages.
It's notmuch, um, andwe'llgofromthere, so I thinkwe d'oh!
Yeah, that's theone.
And I'm gonnausevisualstudiocodeforthoseofyouthathavewatchedstreamsbefore, I'vekindofampedupmyvisualstudiocode a littlebitliketheRockyHorrorPictureshow.
Sortofpasseverythingthereeverytime I makethislittlebigger.
I wasactuallydoingthis a littlebitlastnightwithmyglasses.
Well, actually, I couldn't wearmyglasses.
I had, like, stuffingmyface, and I hadto, like, makethisanenormousscreen.
I couldn't readit.
I waslike, Oh, thiswillbethesame, uh, samesizeofeveryone.
Sothat's whatthatsecondprintstatementdoesiswehavethisjust a singlejustboomnumptyarrayof I wasat 753,244 justentities.
Andthenwhenwereshapethat, wegetbacktotheoriginalshapeonThen I wentanddisplayedthatusing a maplotliveandyoucanseethatthatisourfirstimage.
There's someaxeshere.
Andyoucanyouremovethoseifyou'd like, Butwedon't.
Wedon't particularlycarenowif I wantedtokindofremappedthis a littlebitsothateverythingwas a littlebiteasiermaybeforcomputerstodealwith, I coulddosomethinglikethis.
Uh, whipsarecolormappingdoesn't workherebecauseourimagepixelsarenottranslatedinto a oneoddscale, butwecandothatshortly.
Butif I hadanequivalentRGBimagercolorimage, it's 1/3 thesizebecauseyoucanthinkofanimageisreallybeing a compositeofontheirdifferentwaysoforganizingthis.
Thisisjust a veryclassicallytaughtone, where I haveactuallythreeversionsoftheimagekindofoverlaid, andthefirstversionistheRedEvers, andthe 2nd 1 istheamountofgreen, andthe 3rd 1 istheamountofblue.
Andthenwhen I combinethoseon a computerscreen, I canthenseewhattheactualcolorsoriginallyworked.
Actualcolorsbeinganapproximation.
ThereareotherwaysofdoingitusinglikeHugh, and, uh, I thinkthatone's forChannel.
Thenyou'llseethattheparadigmthatwe'reusingiskindoflikeifthisisintendedtobe a script, let's useit, uh, a script.
Sowhatwe'regonnadoisifnameismainthanwhat I wanttodois I wanttosaymydataissomemethodwhere I calllike, loaddataongonnaprobablyhavetogivethissomedirectory.
Soif I gointomyterminalonmylistoutwhichdirectories I have, let's haveitloaddatafromthestream, alldirectory.
Soitseemsrelativepaththing, andthatloadsinmydata.
I wanttopreprocessmydaughter.
Sowemightbeveryclearaboutthisandsayprettyprocessofdata, andfromthere I nowhaveallofmypreprocessdata.
Sowell, I mightwanttosayisOkay, wehave a processdata.
Let's build a K meansclassifier.
Sowe'llcallthatKayum, we'llcallthat k means.
Andthat's goingtobeequipment.
Tosome K meansclassifier, whichisn't Stan.
Sheatedwithsomenumberofclasses, sowe'llsay K equals I don't know.
Well, thatwouldbe a binaryclassifiertostart, butwe'llchangethatshortlyalready.
We'regoingtousekindofthestandardlike s K learnmethodsandwe'llsay, haveitfitontheprocesseddataesoOnceithasbeenfittothatprocessdata, weshouldhavesomesetofimages.
Sowe'regonnadothisonedeviates a littlebitfromstandardFBI, butwe'regoingtotake a meansdisplaymeanssothiswilldisplaythemeanimagestous.
Wemightwannalikemanipulatethatdatasomehow s O Inthecaseofimages, a lotoftimesthatmeansextendingourdatasetbecauseitiskindofdifficulttoobtainimagesthataremeaningful.
Butaswementioned a littlebitbeforeandwe'regonnamentionprobably a couplemoretimes, um, imageof, like, Coltonand I here, andwe'reprobablygonnadothisinthestream.
Butitwasjust a littlebitmoretime a newimageofColtonand I, uh, sittinghereasopposedtoanimageofusinreverse.
We'restillinthesamestream, right?
Sotherearewaysformetoextendtheamountofdatathat I gotoutofsomething, eventhough I never I neverlikeacquirednewdataonDSO.
That's kindofanimageaugmentationprocess.
Audiofiles.
It's a littlebit.
It's a littlebitmoredifficultforustokindofimaginewhatis a meaningful, likeaudiophileaugmentation.
Rhysisnot, butimageisprettyeasyforustounderstandthat, likeif I swapusaround, if I makethisblackandwhiteversuscolor, they'reallstillthesame.