* Chifukwa cha kuphunzira Machine Learning, inde. Poyang'ana monyansidwa pang'ono ndi mkazi wanga wokondedwa.
Mwina palibe pulogalamu yosavuta, mpaka pamlingo wa ubongo, monga Tinder. Zimangofunika chala chimodzi chokha kuti mufufuze ndi ma neuroni ochepa kuti musankhe atsikana kapena amuna omwe mumakonda kwambiri. Ndiko kukhazikitsidwa kwangwiro kwa brute-force matchmaking.
Ndinaganiza kuti iyi ingakhale njira yabwino yopezera kumverera kwa kuphunzira kwa makina pa khadi latsopano lazithunzi. Tsopano ndikungofunika kufotokozera mkazi wanga kuti sindikufuna mkazi watsopano, wonenepa; Ndikungophunzitsa ma neural network.

Vuto ndi zibwenzi ndi chiyani?
Panali chida ichi chotchedwa Ashley Madison. Zinali zachindunji, ndi mawu akuti "Moyo ndi waufupi. Khalani ndi chibwenzi." Anthu amene ankamvetsera kwambiri anali amuna okwatira omwe ankafuna chibwenzi. Kupanga ndalama kunalinso koseketsa - kuphatikiza pa "ndalama zowonongera zomwe mungakonde ndikuyankha," adapempha $ 19 kuti afufute akaunti ya wogwiritsa ntchito popanda kufufuza.
Mu 2015, tsambalo lidasokonekera, ndipo 60 GB yazidziwitso zamunthu zidatsitsidwa poyera. Kupatula kuwononga mabanja osawerengeka, kutayikiraku kunapereka zambiri zosangalatsa kwa akatswiri. Nthawi zonse ndimakayikira kuti pali amuna ambiri pamasamba ochezera, koma nkhaniyi inali yosangalatsa kwambiri. Mtolankhani Annalee Newitz, Ndinazindikira kuti mwa ogwiritsa ntchito 5 miliyoni, 12,000 okha ndi omwe amafanana ndi maakaunti enieni achikazi ndipo amagwiritsidwa ntchito pafupipafupi. Enawo anali ma bots okha omwe amalumikizana ndi alendo achimuna.
Kukondera kumaakaunti achimuna sikungotengera izi zokha komanso masamba ena ambiri ochezera. Ndikutsimikiza kuti ambiri akumanapo ndi izi mosakayikira, pomwe muyenera kuganizira mozama kulumikizana, pomwe mtsikana amangofunika kulembetsa. Tiyeni tisiyane ndi khalidwe la anthu osilira awa, koma zoona zake n’zosatsutsika: kulinganiza kwa kaphatikizidwe ndi kufunikira kumasokonekera pokomera akazi.
Mawonekedwe a Tinder

Mphamvu yabwino yankhanza mu ubale pakati pa amuna ndi akazi
Mbali yaikulu ya nsanjayi ndi mtengo wotsika pakukumana. Ma swipe awiri okha ofanana ndipo mukucheza kale ndi munthu yemwe angasangalatse. Vuto ndiloti kusamvana komweko kumatanthauza kuti amayi ambiri azikhala ndi machesi ambiri patsiku. Izi zikutanthauza kuti sadzakhala ndi nthawi yoti azindikire pakati pa omwe akufuna.
Ndizomveka kuti nsanja imapereka mwayi wochepa wowunika zamkati mwamunthu wamkati potengera chithunzi cha mphindi 90 pa chithunzi chawo atavala suti yosambira kapena kumbuyo kwa gudumu lagalimoto yowoneka bwino. Chifukwa chake, ngati simukuwoneka mwaumulungu muzithunzi zanu, mulibe chochitira koma kuwonjezera mwayi wanu potengera Kwa mitundu ina. Mwachidule, tidzagwiritsa ntchito mwankhanza ndikukweza voliyumu kuti tiwonjezere mwayi wathu wobala bwino. Popeza mumafunika kupuma nthawi ndi nthawi kuti mudye komanso kugona, ndipo zosefera zanu zimakhala zochepa, mungakonde makina opangira okhawo kuti musankhe amayi kapena amuna omwe ali oyenerera zomwe mumakonda. Mitu yofiyira kapena ma brunette amtali - zili ndi inu.
Kusonkhanitsa deta
Choyamba, muyenera zambiri deta kukwaniritsa zolondola wololera. Aliyense amene wagwirapo ntchito pophunzira pamakina amadziwa momwe zimakhalira zovuta kusonkhanitsa deta yosonkhanitsidwa bwino komanso yolembedwa. Mwachidziwitso, chida chilichonse chofananira, kukhala Instagram kapena malo ena ochezera, chingakhale choyenera ngati gwero la data. Koma ndikwabwino kuphunzitsa pa zitsanzo zomwe maukonde adzagwiritsa ntchito.
Tiyeni titenge chosungira ngati maziko Zithunzi za Tinder nthawi zonse zimakhala zapagulu, koma mawonekedwe a "zokonda" amakhala ochepa. Chifukwa chake, muyenera kuchotsa zonse zamoyo mkati mwa radius ndikuzilemba mosamala. Kuti muyambe, muyenera kugwiritsa ntchito script yosavuta:
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)
Zimakuthandizani kuti mulembe mwachangu dataset ndi mabatani awiri okha. Vuto lalikulu ndiloti laibulale ya werkzeug yasweka mmbuyo, kotero muyenera kuyitsitsa mwamphamvu. Kupanda kutero, mupeza cholakwika ichi.
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' Choncho, mu requirements.txt muyenera kulemba Werkzeug==0.16.1. Kenako idzanyamuka.
Vuto lachiwiri ndikupeza chizindikiro. Njira yokhazikika yochokera kunkhokwe sinandigwire ntchito, koma ndidatha kuipeza kuchokera ku developer console. Kuti muchite izi, pitani ku ndipo timachotsa yankho ku pempho la POST mkati Mkati, yang'anani 'access_token'. Izo sizinagwire ntchito nthawi yoyamba, koma kenako ndinazipeza ndikuzilemba molimba mu script.
Zofunikira pa dataset
Pali zofunika zingapo zofunika pamakina ophunzirira makina:
- Kukwanira
- Kufanana
- Zosiyanasiyana
Kukwanira pankhaniyi kumafuna zithunzi zosachepera 10000 kuti apange chitsanzo chokwanira. Inde, ndizo zambiri. Ndicho chifukwa chake misonkhano imakonda , komwe, pamalipiro, mutha kutulutsa zolembera za data yanu. Komano, kodi mukufunadi bot wanu amakonda zokongola mwezi-nkhope akazi Asian kapena mofanana atsikana okongola ochokera Indian? Pambuyo pake, chitsanzocho chiyenera kusonyeza kukoma kwanu.
Kusiyanasiyana si nkhani yaikulu; zithunzi zonse zimaperekedwa kuchokera kumakona osiyanasiyana ndi kuyatsa. Avala magalasi, madiresi, zovala zosambira komanso suti zotsetsereka. Vuto limodzi lomwe lingabwere ndi kufanana kwa dataset. Moyenera, tikalemba zitsanzo zathu, ziyenera kukhala ndi magawo ofanana. Ngati deta yanu ikasokonekera, muyenera kuwonjezera ndi zithunzi zochokera kumalo ena. Muyenera kuwonjezera zithunzi zowoneka bwino, kapena, mosiyana, dziwani kuti ndi ziti zomwe zili zowoneka bwino potengera zotsatira zolembera. Ndinamaliza ndi chinthu chozungulira 60%. Mwina sindine wokonda kusankha, kapena ndangochita mwayi ndipo pali atsikana okongola ambiri.
Sindikutsutsanso kuthekera kuti ambiri aiwo ndi bots. Tikuphunzitsa bot kuti tikonde ma bots ena. Pali chodabwitsa pa izo.
Kukonza deta
Tili ndi zithunzi zambiri zolembedwa, koma ndizosiyanasiyana. Usana, usiku, kuyang'ana kumbuyo, ndi zina zotero. Tsoka ilo, ndikuzindikira kuti kuphunzitsidwa ndi zithunzi zoyang'ana m'mbuyo sikungakhale kopambana, chifukwa chitsanzocho chidzakhala chosiyana kwambiri. Choncho, njira yabwino ndiyo kugwiritsa ntchito nkhope ngati chizindikiro cha "kukongola." Kupatula apo, kwa ife, monga anyani ena, ichi ndi chofunikira kwambiri.
Ndiye tiyeni titengerepo mwayi Iyi ndi algorithm yabwino kwambiri yomwe imakupatsani mwayi wopeza nkhope muzithunzi zokhala ndi chiwopsezo chochepa chabodza.

Izi zikufotokozedwa mwatsatanetsatane mu bukhuli.
Mu sitepe yotsatira, kamodzi chitsanzocho chimakhala chochepa pa nkhope, ndizomveka kuchotsa mtundu. M'malo mwake, simungasankhe pakati pa anthu okongola a buluu a Pandora kapena kukongola kwakhungu lobiriwira.

Mwa anthu, mawonekedwe a Hue mumtundu wa khungu samathandizira kwambiri pakukopa.
Chifukwa chake, ndikofunikira kufewetsa ntchito ya neural network ndikusiya imvi yokha.
Kumanga chitsanzo
Ndikufuna kunena nthawi yomweyo kuti popanda khadi lojambula bwino ndi CUDA, simungapeze chitsanzo chophunzitsidwa panthawi yoyenera. Chifukwa chake, yesetsani kuwerengera mitambo yapadera kapena kugwiritsa ntchito Python-CUDA.
Ndinatenga chitsanzo cha magawo atatu kuchokera kwa wolemba malo ndipo, chodabwitsa, chinawonetsa kulondola kwa pafupifupi 72%, zomwe ndi zotsatira zabwino.
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'])
Ngati pali chitsanzo chabwino, chingakhale chokwanira kupeza chitsanzo chogwira ntchito.
Kukhazikitsa bot

Zikomo kwa wolemba zosungirako za mtundu wopangidwa okonzeka kuyesa lingalirolo mwachangu. Imagwira ntchito bwino m'mawonekedwe ake ndipo imatha kuyendetsedwa pamakina athu. Maphunziro sikutheka; pakadali pano sitimapereka makina owerengera omwe amathandizidwa ndi CUDA, koma kuyendetsa china chake 24/7 palibe vuto. Bot ndi yopepuka kwambiri, kotero ndiyotsika mtengo kwambiri kusankha njira yolipira-you-pita.
Zotsatira

Ndine wokongola kwambiri. Ndipo ndili ndi dziko lolemera lamkati. Ndapeza machesi pafupifupi 13 mu ola limodzi. Komanso, kangapo atsikanawo analemba poyamba.
Zokambirana zomwe zidatsatiridwa zinali zokongola kwambiri, ndikufotokozera kuti ndidabwera kudzasewera ndi kuphunzira pamakina komanso kulemba ma data. M'modzi mwa atsikanawa anali ndi chidwi kwambiri, chifukwa nayenso anali wopanga. Ndikumva mwamphamvu kuti amaliza kuwerenga izi pa Habr. Ndikukhulupirira kuti Oksana andisunga osadziwika. 🙂
*anagwedeza dzanja lake ndikunena moni
Pang'ono ndi mbali ya chikhalidwe cha nkhaniyi
Moona mtima, sindimakonda lingaliro lomwe la maubwenzi a robotic pakati pa abambo ndi amai. Pali chinachake cholondola poponya jekete lanu pamapewa a mlendo ozizira atayima yekha. Kapena kuyandikira msungwana wokongola ku cafe yachilimwe ndikudyera limodzi khofi. Chokani kuseri kwa zowonera zanu kale.
Chilimwe chili pafupi. Nthawi yodziwana bwino.
Source: www.habr.com
