* Mesthi wae kanggo sinau Machine Learning. Ing sangisore pandelenge bojone sing ditresnani rada ora marem.
Ana mbokmenawa ora aplikasi minangka prasaja kanggo tingkat refleks balung mburi minangka Tinder. Kanggo nggunakake, sampeyan mung butuh siji driji kanggo ngusap lan sawetara neuron kanggo milih bocah-bocah wadon utawa wong sing paling disenengi. Implementasi becik saka brute force ing pilihan pasangan.
Aku mutusaké sing iki bakal dadi cara sing apik kanggo njaluk sethitik aran kanggo machine learning ing kertu grafis anyar. Kabeh sing isih ana yaiku nerangake marang bojoku yen aku ora butuh wanita sing luwih lemu, lan aku mung nglatih jaringan saraf.
Apa masalah karo jaringan kencan?
Ana sumber kuwi - Ashley Madison. Khusus, kanthi slogan "Urip iku cendhak. pacaran." Penonton utama yaiku wong sing wis nikah sing golek hubungan ing sisih. Monetisasi uga nyenengake - saliyane standar "ngentekake poin kanggo seneng lan nulis," dheweke njaluk $19 kanggo mbusak akun pangguna tanpa tilak.
Ing 2015, situs kasebut kanthi alami bocor lan 60 GB data pribadhi bocor menyang domain umum. Saliyane akeh kulawarga sing rusak, bocor iki nyedhiyakake akeh informasi sing menarik kanggo para analis. Aku tansah curiga yen ana luwih akeh wong lanang ing situs kencan, nanging ing kasus iki ternyata cukup menarik. Wartawan Annalee Newitz
Preponderance kuwi menyang akun lanang khas ora mung kanggo sumber iki, nanging uga kanggo paling Camping gendakan liyane. Aku yakin manawa akeh sing nemoni kahanan sing ora adil iki, nalika sampeyan kudu ngrancang kenalan kanthi ati-ati, nanging cah wadon mung kudu ndhaptar. Ayo ninggalake kualitas penggemar akeh iki, nanging kasunyatane ora bisa dipungkiri yen keseimbangan pasokan lan panjaluk kanthi jelas dialihake kanggo bocah-bocah wadon.
Fitur Tinder
Pasukan brute becik ing hubungan jender
Fitur utama platform iki yaiku biaya sing murah saben kenalan. Ketepakan saka rong gesekan wis cukup lan sampeyan wis sesambungan karo wong sing duweni potensi menarik. Masalahe yaiku ketidakseimbangan jender sing padha nyebabake kasunyatan manawa umume bocah-bocah wadon bakal duwe puluhan pertandhingan saben dina. Iki tegese padha paling kamungkinan ora duwe wektu kanggo mbayar manungsa waé kanggo sampeyan antarane calon liyane.
Cetha banget yen platform kasebut ora menehi kesempatan kanggo ngevaluasi jagad batine wong saka siji setengah detik ing foto ing swimsuit utawa nyopir mobil warna sing modis. Dadi, yen sampeyan ora katon mung gaib ing foto sampeyan, sampeyan ora duwe pilihan kajaba nambah kesempatan kanthi nggunakake
Ngumpulake data
Kaping pisanan, sampeyan butuh akeh data kanggo akurasi normal. Sapa wae sing nemoni machine learning ngerti sepira angel bisa ngasilake set data sing diklumpukake lan diwenehi label kanthi bener. Secara teoritis, sumber daya sing padha bakal cocog minangka sumber data, yaiku Instagram utawa jaringan sosial liyane. Nanging paling apik kanggo nglatih conto kasebut ing jaringan sing bakal digunakake ing mangsa ngarep.
Ayo dadi basis repositori
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)
Iki bakal ngidini sampeyan menehi tandha data kanthi cepet kanthi mung rong tombol. Pitfall tombol dumunung ing kasunyatan sing perpustakaan werkzeug wis bejat kompatibilitas sakdurunge lan kudu dipeksa kanggo downgrade. Yen ora, mbuwang kesalahan iki.
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'
Mulane, ing requirements.txt sampeyan kudu nulis Werkzeug == 0.16.1. Banjur bakal njupuk mati.
Masalah kapindho yaiku kanggo njaluk token iki. Cara standar saka gudang ora bisa digunakake kanggo aku, nanging aku bisa entuk saka konsol pangembang. Kanggo nindakake iki, pindhah menyang
Persyaratan kumpulan data
Ana sawetara syarat utama kanggo set data machine learning:
- Kecukupan
- Keseragaman
- Macem-macem
Kecukupan ing kasus iki mbutuhake paling ora 10000 foto kanggo mbangun model sing nyukupi. Ya, akeh banget. Iki sejatine sebabe layanan kaya
Ora ana masalah khusus karo macem-macem; kabeh foto ditampilake saka macem-macem sudut lan cahya. Ing kaca tingal, ageman, swimsuits lan setelan ski. Masalah bisa uga muncul karo keseragaman dataset. Saenipun, nalika kita label sampel kita, iku kudu kalebu kira-kira bagean witjaksono. Yen sampeyan duwe set data "skewed", sampeyan kudu ngencerake karo foto saka sumber liyane. Sampeyan kudu nambah sing luwih menarik, utawa kosok balene, sampeyan bakal nemtokake adhedhasar asil markup. Aku entuk soko watara 60% cantik. Salah siji aku ora banget pilih-pilih, utawa aku mung begja lan ana akeh cah ayu watara.
Aku uga ora nyuda hipotesis manawa ana akeh bot ing antarane. Kita nglatih bot sing bakal seneng karo bot liyane. Ana sawetara ironi ing iki.
Ngolah data
Kita duwe akeh foto sing diwenehi tag, nanging akeh banget. Awan, bengi, saka mburi lan liya-liyane. Kanthi penyesalan, aku ngerti yen mulang saka foto saka sudut sing mbalikke ora bakal efektif, amarga sampel bakal ora rata. Mulane, pilihan sing paling apik yaiku nggunakake pasuryan minangka tandha referensi "cuteness." Nanging, kanggo kita, kaya primata liyane, iki minangka parameter kunci.
Mulane, ayo nggunakake
Iki diterangake kanthi luwih rinci ing manual
Ing tataran sabanjure, sawise mung pasuryan ing sampel, iku ndadekake pangertèn kanggo mbusak werna. Nyatane, sampeyan bakal meh ora kudu milih antarane denizen biru ayu Pandora utawa kaendahan ijo-skinned.
Ing wong Hue, warna kulit ora menehi kontribusi sing signifikan marang peringkat daya tarik.
Mulane, iku worth nyederhanakake karya jaringan syaraf lan ninggalake mung grayscale.
Bangunan model
Aku pengin langsung ngomong yen tanpa kertu video lan CUDA sing apik, sampeyan bisa uga ora bakal entuk model sing dilatih ing wektu sing cukup. Mulane, langsung ngarahake petungan ing awan khusus utawa nggunakake python-CUDA.
Aku njupuk conto telung lapisan dhasar saka penulis repositori lan, kaget, nuduhake akurasi watara 72%, kang asil cukup apik.
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'])
Yen ana conto sing apik, mula bisa uga cukup kanggo entuk model sing bisa digunakake.
Ayo miwiti bot
Thanks kanggo penulis repositori kanggo pilihan sing siap kanggo nyoba ide kasebut kanthi cepet. Nyatane, kerjane cukup apik ing versi dhasar lan bisa, ing asas, bakal dibukak ing kita
Результаты
Aku kira aku cute banget. Lan aku duwe donya batin sing sugih. Aku entuk kaya 13 pertandhingan sajrone jam. Kajaba iku, kaping pirang-pirang bocah-bocah wadon nulis luwih dhisik.
Akibaté, kita rampung karo dialog apik banget, ngendi aku ngandika yen aku teka mung kanggo muter machine learning lan labeling data. Salah siji saka bocah-bocah wadon iki arang banget kasengsem, amarga dheweke dhewe minangka pangembang. Ana rasa kuwat yen dheweke bakal maca postingan iki ing Habré. Muga-muga Oksana bakal njaga anonimitasku. 🙂
*lambai paw lan ngomong halo
A little bab sisih etika saka Jeksa Agung bisa ngetokake
Jujur, aku ora seneng kabeh gagasan babagan robotisasi hubungan antarane lanang lan wadon. Ana sing bener babagan mbuwang jaket sampeyan ing pundhak wong liyo sing kadhemen sing ngadeg piyambak. Utawa nyedhaki bocah wadon ayu ing kafe musim panas lan ngombe kopi bebarengan. Metu saka mburi monitor wis.
Musim panas ana ing saubengé. Wektu kanggo kenalan.
Source: www.habr.com