*Muidugi puhtalt masinõppe õppimise pärast. Armastatud naise pisut rahulolematu pilgu all.
Seljaaju reflekside tasemele pole ilmselt nii lihtsat rakendust kui Tinder. Selle kasutamiseks on vaja ainult ühte sõrme pühkimiseks ja mõnda neuronit, et valida endale kõige meeldivamad tüdrukud või mehed. Ideaalne toore jõu rakendamine paarivalikus.
Otsustasin, et see oleks hea viis uuel graafikakaardil masinõppele pisut tunda. Jääb üle vaid oma naisele selgitada, et ma ei vaja uut paksemat naist ja ma lihtsalt treenin närvivõrke.
Mis on kohtinguvõrkude probleem?
Seal oli selline ressurss - Ashley Madison. Konkreetne, loosungiga “Elu on lühike. Lubage suhet." Peamine publik on abielus mehed, kes otsivad kõrvalsuhet. Monetiseerimine on ka lõbus – lisaks tavapärasele "kuluta punkte meeldimiseks ja kirjutamiseks" küsisid nad 19 dollarit, et kasutaja konto jäljetult kustutada.
2015. aastal lekkis sait loomulikult ja 60 GB isikuandmeid lekkis avalikku omandisse. Lisaks paljudele hävinud peredele andis see leke analüütikutele palju huvitavat teavet. Kahtlustasin alati, et kohtinguportaalidel on palju rohkem mehi, aga antud juhul osutus see päris huvitavaks. Ajakirjanik Annalee Newitz
Selline ülekaal meeste kontode suhtes on tüüpiline mitte ainult selle ressursi, vaid ka enamiku teiste tutvumissaitide jaoks. Olen kindel, et paljud on kokku puutunud selle kahtlemata ebaõiglase olukorraga, kus tuleb tutvust hoolikalt planeerida, aga tüdrukul on vaja vaid registreeruda. Jätame selle fännide hulga kvaliteedi kõrvale, kuid tõsiasi, et nõudluse ja pakkumise tasakaal on selgelt tüdrukute kasuks nihkunud, on vaieldamatu.
Tinderi funktsioon
Ideaalne toores jõud soosuhetes
Selle platvormi peamine omadus on madal hind tuttava kohta. Piisab kahe pühkimise kokkulangemisest ja juba suhtledki potentsiaalselt huvitava inimesega. Probleem on selles, et sama sooline tasakaalustamatus toob kaasa asjaolu, et enamikul tüdrukutest on päevas kümneid matše. See tähendab, et suure tõenäosusega ei jää neil teiste kandidaatide seas aega sulle tähelepanu pöörata.
On üsna selge, et platvormil on vähe võimalusi hinnata inimese sügavat sisemaailma pooleteisesekundilise pilguga fotole ujumistrikoo või moeka toonitud autoga sõites. Seega, kui te ei näe oma fotodel lihtsalt jumalik välja, pole teil muud valikut kui suurendada oma võimalusi lapsendamisega
Andmete kogumine
Esiteks on normaalse täpsuse jaoks vaja palju andmeid. Igaüks, kes on kokku puutunud masinõppega, teab, kui keeruline võib olla õigesti kogutud ja märgistatud andmestiku koostamine. Teoreetiliselt sobib andmeallikaks iga sarnane ressurss, olgu selleks siis Instagram või muud sotsiaalvõrgustikud. Kuid kõige parem on treenida nende näidiste põhjal, millel võrk tulevikus töötab.
Võtame aluseks hoidla
from skimage.io import imread, imsave, imshow, show
import matplotlib.pyplot as plt
import pynder
from helpers import get_access_token, get_login_credentials
from io_helper import save_image
email, password, FBID = get_login_credentials()
FBTOKEN = get_access_token(email, password)
session = pynder.Session(facebook_token=FBTOKEN)
while True:
users = session.nearby_users()
for user in users:
photos = user.get_photos()
print("Fetched user photos..")
for photo in photos:
print(photo)
image = imread(photo)
imshow(image)
show()
input_string = "Write 1 to like. Write 2 to dislike."
ans = str(input(input_string)).lower()
if ans == "1":
save_image(image, photo, True)
else:
save_image(image, photo, False)
See võimaldab teil kahe nupuga võimalikult kiiresti andmestiku märgistada. Peamine lõks seisneb selles, et werkzeugi raamatukogu on rikkunud tagasiühilduvust ja see tuleb sunniviisiliselt seda alandada. Vastasel juhul annab see vea.
Traceback (most recent call last):
File "img_scrape.py", line 4, in <module>
from helpers import get_access_token, get_login_credentials
File "/home/someone/tmp/TinderAutomation/helpers.py", line 1, in <module>
import robobrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/__init__.py", line 3, in <module>
from .browser import RoboBrowser
File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/browser.py", line 8, in <module>
from werkzeug import cached_property
ImportError: cannot import name 'cached_property'
Seetõttu tuleb failis needs.txt kirjutada Werkzeug==0.16.1. Siis läheb õhku.
Teine probleem on selle märgi hankimine. Hoidlast pärit standardmeetod minu jaoks ei töötanud, kuid mul õnnestus see arendajakonsoolist hankida. Selleks minge aadressile
Andmekogumi nõuded
Masinõppe andmekogumite jaoks on mitu põhinõuet.
- Adekvaatsus
- Ühtsus
- Sort
Sel juhul on piisavaks mudeliks vaja vähemalt 10000 XNUMX fotot. Jah, seda on palju. See on tegelikult põhjus, miks teenused meeldivad
Erilisi probleeme mitmekesisusega pole, kõik fotod on esitatud erinevate nurkade ja valgustusega. Prillides, kleitides, ujumistrikoodes ja suusakostüümides. Probleem võib tekkida andmestiku ühtsusega. Ideaalis peaks proovi märgistamisel see koosnema ligikaudu võrdsetest osadest. Kui teil on "viltu" andmestik, peate seda lahjendama muudest allikatest pärit fotodega. Peate lisama atraktiivsemaid või vastupidi, määrate need märgistuse tulemuse põhjal. Mul on midagi umbes 60% ilusat. Kas ma ei ole liiga valiv või mul on lihtsalt vedanud ja ümberringi on palju ilusaid tüdrukuid.
Samuti ei tee ma alla hüpoteesi, et nende hulgas on palju roboteid. Koolitame robotit, mis meeldib teistele robotitele. Selles on omajagu irooniat.
Andmetöötlus
Meil on hunnik sildistatud fotosid, kuid need on väga segased. Päeval, öösel, tagant ja teised. Kahetsusega mõistan, et vastupidise nurga all tehtud fotode õpetamine ei ole eriti tõhus, kuna valim on väga ebaühtlane. Seetõttu oleks parim valik nägude kasutamine "armsuse" viitemärgina. Siiski on see meie, nagu ka teiste primaatide jaoks, võtmeparameeter.
Seetõttu kasutame
Seda kirjeldatakse üksikasjalikumalt juhendis
Järgmises etapis, kui proovis on ainult näod, on mõttekas värv eemaldada. Tegelikult on teil vaevalt vaja valida Pandora kauni sinise elaniku või rohelise nahaga kaunitari vahel.
Hue’i inimeste puhul ei anna nahavärv atraktiivsuse hinnangutele olulist panust.
Seetõttu tasub närvivõrgu tööd lihtsustada ja jätta ainult halltoonid.
Mudeli ehitamine
Tahan kohe öelda, et ilma hea videokaardi ja CUDAta ei saa te tõenäoliselt lihtsalt õigeks ajaks koolitatud mudelit. Seetõttu võtke kohe eesmärgiks arvutused spetsiaalsetes pilvedes või python-CUDA abil.
Võtsin repositooriumi autorilt põhilise kolmekihilise näite ja üllatuslikult näitas see 72% täpsust, mis on päris hea tulemus.
model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(img_size, img_size, 3)))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
adam = optimizers.SGD(lr=1e-4, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer= adam,
metrics=['accuracy'])
Kui on olemas hea valim, võib sellest piisata toimiva mudeli hankimiseks.
Käivitame roboti
Aitäh hoidla autorile idee kiireks testimiseks valminud variandi eest. Tegelikult töötab see põhiversioonis üsna hästi ja seda saab põhimõtteliselt ka meie peal käivitada
Järeldused
Ma olen vist väga armas. Ja mul on rikas sisemaailm. Sain tunni jooksul umbes 13 tikku. Pealegi kirjutasid tüdrukud mitu korda esimesena.
Lõpptulemusena jõudsime väga toredate dialoogideni, kus ütlesin, et tulin ainult masinõppe ja andmete märgistamisega mängima. Üks tüdrukutest oli väga huvitatud, kuna ta ise on arendaja. On tugev tunne, et lõpuks loeb ta seda postitust Habré lehel. Loodan väga, et Oksana säilitab mu anonüümsuse. 🙂
*viipab käpaga ja ütleb tere
Natuke teema eetilisest küljest
Ausalt öeldes ei meeldi mulle kogu meeste ja tüdrukute suhete robotiseerimise idee. Midagi on väga õige selles, kui visata üksi seisvale külmale võõrale oma jope üle õlgade. Või astuge suvekohvikus ilusale tüdrukule ja jooge koos kohvi. Tule juba monitoride tagant välja.
Suvi on ümberringi. On aeg tutvuda.
Allikas: www.habr.com