*Machine Learning ikasteko soilik, noski. Bere emazte maitearen begirada apur bat asegabearen azpian.
Ziurrenik ez dago Tinder bezain bizkarrezurreko erreflexuen mailarako aplikazio sinplerik. Erabili ahal izateko, hatz bakarra pasatzeko eta neurona batzuk behar dituzu gehien gustatzen zaizkizun neskak edo gizonak aukeratzeko. Bikoteen aukeraketan indar gordinaren ezarpen ezin hobea.
Erabaki nuen txartel grafiko berri batean ikaskuntza automatikoa ezagutzeko modu ona izango zela. Nire emazteari azaltzea besterik ez da geratzen ez dudala emakume gizen berririk behar, eta sare neuronalak entrenatzen ari naiz.
Zein da zita-sareen arazoa?
Halako baliabide bat zegoen - Ashley Madison. Zehatza, βBizitza laburra da. Izan harremana". Ikusle nagusia ezkondutako gizonak dira alboan harreman baten bila. Dirua irabaztea ere dibertigarria da: "Gastatu puntuak gustatzen eta idazteko" estandarrez gain, 19 dolar eskatu zituzten erabiltzaile baten kontua arrastorik gabe ezabatzeko.
2015ean, gunea modu naturalean filtratu zen eta 60 GB datu pertsonalak jabari publikora filtratu ziren. Suntsitutako familia askoz gain, filtrazio honek informazio interesgarri asko eman zien analistei. Beti susmatzen nuen askoz gizon gehiago zeudela datazio guneetan, baina kasu honetan nahiko interesgarria izan zen. Annalee Newitz kazetaria
Gizonezkoen kontuekiko nagusitasuna ohikoa da baliabide honetan ez ezik, baita beste datazio gune gehienetan ere. Ziur nago askok dudarik gabe bidegabeko egoera honekin topo egin dutela, ezagun bat arretaz planifikatu behar duzunean, baina neskak erregistratu besterik ez du egin behar. Utz dezagun zaleen multzo honen kalitatea alde batera, baina ukaezina da eskaintza eta eskariaren oreka argi eta garbi nesken alde mugitzen dela.
Tinder Ezaugarri
Genero-harremanetan indar gordina ideala
Plataforma honen ezaugarri nagusia ezagun bakoitzeko kostu baxua da. Nahikoa da bi irristaketa kasualitatea eta dagoeneko interesgarri izan daitekeen pertsona batekin komunikatzen ari zara. Arazoa da genero desoreka berak dakarrela neska gehienek egunean dozenaka partida izango dituztela. Horrek esan nahi du ziurrenik ez dutela denborarik izango zuri kasu egiteko beste hautagaien artean.
Argi dago plataformak aukera gutxi duela pertsona baten barne-mundu sakona segundo eta erdiko begirada batetik baloratzeko, bainujantzian edo modako koloreztatutako auto bat gidatzen duen argazki bati. Hori dela eta, zure argazkietan jainkozko itxura besterik ez baduzu, ez duzu aukerak handitzea beste aukerarik hartu.
Datuak biltzen
Lehenik eta behin, datu asko behar dituzu zehaztasun arrunterako. Ikaskuntza automatikoa ezagutu duen edonork badaki zein zaila izan daitekeen behar bezala bildu eta etiketatutako datu-multzo bat sortzea. Teorian, antzeko edozein baliabide izango da egokia datu-iturri gisa, izan Instagram edo beste sare sozial batzuk. Baina hobe da sareak etorkizunean lan egingo duen lagin horietan trebatzea.
Har dezagun biltegia oinarri gisa
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)
Datu-multzoa ahalik eta azkarren markatzeko aukera emango dizu bi botoirekin. Funtsezko akatsa werkzeug liburutegiak atzerako bateragarritasuna hautsi duela eta mailaz behera egitera behartu beharko duela datza. Bestela errore hau botatzen du.
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'
Beraz, requirements.txt-en Werkzeug==0.16.1 idatzi behar duzu. Orduan aireratuko da.
Bigarren arazoa token hori lortzea da. Biltegiko metodo estandarrak ez zidan funtzionatu, baina garatzaileen kontsolatik eskuratzea lortu nuen. Horretarako, joan hona
Datu multzoen eskakizunak
Hainbat baldintza gako daude ikaskuntza automatikoko datu-multzoetarako:
- Egokitasuna
- Uniformetasuna
- aniztasuna
Kasu honetan nahikoa izateko gutxienez 10000 argazki behar dira eredu egoki bat eraikitzeko. Bai, hori asko da. Horregatik, hain zuzen ere, zerbitzuak bezalakoak dira
Barietatearekin ez dago inolako arazorik; argazki guztiak hainbat angelu eta argiztapenetatik aurkezten dira. Betaurreko, soineko, bainujantzia eta eski jantzietan. Arazo bat sor daiteke datu-multzoaren uniformetasunarekin. Egokiena, gure lagina etiketatzen dugunean, gutxi gorabehera zati berdinez osatuta egotea. Datu-multzo "okertu" batekin amaitzen baduzu, beste iturri batzuetako argazkiekin diluitu beharko duzu. Erakargarriagoak gehitu beharko dituzu, edo alderantziz, markaketaren emaitzaren arabera zehaztuko dituzu. %60 inguruan zerbait polita lortu dut. Edo ez naiz oso hautakorra, edo zortea daukat eta neska polit asko daude inguruan.
Horien artean bot asko daudela dioen hipotesia ere ez dut baztertzen. Beste bot bat bezalakoa izango den bot bat entrenatzen dugu. Honetan ironia pixka bat dago.
Datuen tratamendua
Etiketatutako argazki mordoa ditugu, baina oso nahasiak dira. Egunez, gauez, atzetik eta beste. Penatuta, ulertzen dut alderantzizko angelu batetik argazkietatik irakastea ez dela bereziki eraginkorra izango, lagina oso irregularra izango baita. Hori dela eta, aukerarik onena aurpegiak erabiltzea izango litzateke "edertasunaren" erreferentziazko seinale gisa. Hala ere, guretzat, beste primateentzat bezala, funtsezko parametroa da hori.
Beraz, erabil ditzagun
Eskuliburuan zehatzago deskribatzen da hori
Hurrengo fasean, aurpegiak bakarrik laginean egon ondoren, zentzuzkoa da kolorea kentzea. Izan ere, nekez aukeratu beharko duzu Pandoraren bizilagun urdin ederraren edo azal berdearen edertasunaren artean.
Hue pertsonengan, azalaren koloreak ez du ekarpen handirik egiten erakargarritasunaren balorazioetan.
Horregatik, merezi du sare neuronalaren lana sinplifikatzea eta gris-eskala soilik uztea.
Eraikina maketa
Berehala esan nahi dut bideo-txartel on bat eta CUDA gabe, ziurrenik ez duzula trebatu eredurik denbora egokian lortuko. Hori dela eta, berehala zuzendu kalkuluak hodei espezializatuetan edo python-CUDA erabiliz.
Biltegiaren egilearen hiru geruzako oinarrizko adibide bat hartu nuen eta, harrigarria bada ere, %72 inguruko zehaztasuna erakutsi zuen, eta hori nahiko emaitza ona da.
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'])
Lagin on bat badago, baliteke eredu erabilgarria lortzea nahikoa izatea.
Abiarazi dezagun bot-a
Eskerrik asko biltegiaren egileari ideia azkar probatzeko prest egindako aukeragatik. Izan ere, oinarrizko bertsioan nahiko ondo funtzionatzen du eta, printzipioz, gurean abiarazi daiteke
Findings
Oso polita naizela uste dut. Eta barne mundu aberatsa dut. Ordubete barru 13 partida bezalako zerbait lortu nuen. Gainera, hainbat aldiz neskek idatzi zuten lehenik.
Ondorioz, elkarrizketa oso politak lortu genituen, non esan nuen ikaskuntza automatikoarekin eta datuen etiketatzearekin jolasteko bakarrik sartu nintzela. Neska bat oso interesatuta zegoen, bera garatzailea baita. Sentsazio handia dago azkenean HabrΓ©-n mezu hau irakurriko duela. Benetan espero dut Oksanak nire anonimotasuna mantentzea. π
*hanka astindu eta kaixo esaten du
Gaiaren alde etikoari buruz pixka bat
Egia esateko, ez zait gustatzen gizon eta nesken arteko harremanak robotizatzearen ideia osoa. Zerbait oso zuzena da zure jaka bakarrik dagoen ezezagun hotz baten sorbaldara botatzeak. Edo hurbildu neska polit bati udako kafetegi batean eta elkarrekin kafea edan. Atera monitoreen atzetik dagoeneko.
Uda inguruan dago. Ezagutzeko ordua da.
Iturria: www.habr.com