Talaan ng nilalaman[Tago][Ipakita]
Mabilis na nagbabago ang mundo dahil sa artificial intelligence, at machine learning, na may epekto sa bawat aspeto ng ating pang-araw-araw na buhay.
Mula sa mga voice assistant na gumagamit ng NLP at machine learning upang mag-book ng mga appointment, maghanap ng mga event sa aming kalendaryo, at magpatugtog ng musika hanggang sa mga device na napakatumpak na maaari nilang mahulaan ang aming mga pangangailangan bago pa man namin isaalang-alang ang mga ito.
Ang mga computer ay maaaring maglaro ng chess, mag-opera, at maging mas matalinong, mas katulad ng tao na mga makina sa tulong ng mga algorithm sa pag-aaral ng makina.
Nasa panahon tayo ng patuloy na pag-unlad ng teknolohiya, at sa pamamagitan ng pagtingin sa kung paano umunlad ang mga computer sa paglipas ng panahon, makakagawa tayo ng mga hula tungkol sa kung ano ang mangyayari sa hinaharap.
Ang demokratisasyon ng mga kasangkapan at pamamaraan sa pag-compute ay isa sa mga pangunahing aspeto ng rebolusyong ito na namumukod-tangi. Data siyentipiko lumikha ng makapangyarihang data-crunching computer sa nakalipas na limang taon sa pamamagitan ng walang kahirap-hirap na pagpapatupad ng mga makabagong pamamaraan. Ang mga kinalabasan ay kahanga-hanga.
Sa post na ito, titingnan nating mabuti machine learning algorithm at lahat ng kanilang mga pagkakaiba-iba.
Kaya, ano ang mga algorithm ng Machine Learning?
Ang diskarte na ginagamit ng AI system upang maisagawa ang gawain nito—sa pangkalahatan, ang paghula sa mga halaga ng output mula sa ibinigay na data ng input—ay kilala bilang isang machine learning algorithm.
Ang machine learning algorithm ay isang proseso na gumagamit ng data at ginagamit para gumawa ng mga modelo ng machine learning na handa para sa produksyon. Kung ang pag-aaral ng makina ay ang tren na nagsasagawa ng trabaho, kung gayon ang mga algorithm sa pag-aaral ng machine ay ang mga lokomotibo na nagpapakilos sa gawain.
Ang pinakamahusay na diskarte sa pag-aaral ng machine na gagamitin ay matutukoy ng problema sa negosyo na sinusubukan mong tugunan, ang uri ng dataset na iyong ginagamit, at ang mga mapagkukunang magagamit mo.
Ang mga algorithm sa pag-aaral ng machine ay yaong ginagawang modelo ang set ng data. Depende sa uri ng problema na sinusubukan mong sagutin, ang magagamit na kapangyarihan sa pagpoproseso, at ang uri ng data na mayroon ka, pinangangasiwaan, hindi sinusubaybayan, o reinforcement na mga algorithm sa pag-aaral ay maaaring gumanap nang maayos.
Kaya, napag-usapan natin ang tungkol sa pinangangasiwaan, hindi pinangangasiwaan, at reinforcement na pag-aaral, ngunit ano ang mga ito? Tuklasin natin sila.
Pinangangasiwaan, Hindi pinangangasiwaan, at Pagpapatibay ng Pag-aaral
Pinangangasiwaang Pag-aaral
Sa pinangangasiwaang pag-aaral, ang modelo ng AI ay binuo batay sa input na ibinigay at ang label na kumakatawan sa hinulaang resulta. Batay sa mga input at output, bubuo ang modelo ng isang mapping equation, at gamit ang mapping equation na iyon, hinuhulaan nito ang label ng mga input sa hinaharap.
Sabihin nating kailangan nating lumikha ng isang modelo na maaaring makilala sa pagitan ng isang aso at isang pusa. Maraming mga larawan ng mga pusa at aso ang ibinibigay sa modelo na may mga label na nagsasaad kung sila ay mga pusa o aso upang sanayin ang modelo.
Ang modelo ay naglalayong magtatag ng isang equation na may kaugnayan sa mga label sa input na mga larawan sa mga larawang iyon. Kahit na hindi pa nakikita ng modelo ang larawan, pagkatapos ng pagsasanay, matutukoy nito kung ito ay pusa o aso.
Hindi suportadong Pag-aaral
Ang hindi pinangangasiwaang pag-aaral ay nagsasangkot ng pagsasanay ng isang modelo ng AI sa mga input lamang nang hindi nilalagyan ng label ang mga ito. Hinahati ng modelo ang data ng input sa mga pangkat na may magkakaugnay na katangian.
Ang hinaharap na label ng input ay hinuhulaan depende sa kung gaano kalapit na tumutugma ang mga katangian nito sa isa sa mga klasipikasyon. Isaalang-alang ang sitwasyon kung saan dapat nating hatiin ang isang grupo ng pula at asul na mga bola sa dalawang kategorya.
Ipagpalagay natin na ang iba pang mga katangian ng mga bola ay magkapareho, maliban sa kulay. Sa batayan kung paano nito mahahati ang mga bola sa dalawang klase, hinahanap ng modelo ang mga katangian na naiiba sa pagitan ng mga bola.
Dalawang kumpol ng mga bola—isang asul at isang pula—ay nagagawa kapag ang mga bola ay nahahati sa dalawang grupo batay sa kanilang kulay.
Pagpapatibay ng Pagkatuto
Sa reinforcement learning, hinahangad ng modelong AI na i-maximize ang kabuuang kita sa pamamagitan ng pagkilos na magagawa nito sa isang partikular na sitwasyon. Ang feedback sa mga naunang resulta nito ay tumutulong sa modelo na matuto.
Isipin ang senaryo kapag inutusan ang isang robot na pumili ng ruta sa pagitan ng mga puntong A at B. Pipili muna ng robot ang alinman sa mga kurso dahil wala itong naunang karanasan.
Ang robot ay tumatanggap ng input sa rutang dadaanan nito at nakakakuha ng kaalaman mula dito. Maaaring gamitin ng robot ang input para ayusin ang isyu sa susunod na makaharap ito ng katulad na pangyayari.
Halimbawa, kung pipiliin ng robot ang opsyon B at makakatanggap ng reward, gaya ng positibong feedback, naiintindihan nito sa pagkakataong ito na dapat itong pumili ng paraan B upang mapataas ang reward nito.
Ngayon, sa wakas, ang hinihintay ninyong lahat, ay ang mga algorithm.
Pangunahing Machine Learning Algorithm
1. Linear Regression
Ang pinakasimpleng diskarte sa machine learning na lumilihis sa pinangangasiwaang pag-aaral ay linear regression. Gamit ang kaalaman mula sa mga independiyenteng variable, ito ay kadalasang ginagamit upang malutas ang mga isyu sa regression at lumikha ng mga hula sa patuloy na umaasang mga variable.
Ang paghahanap ng linya ng pinakamahusay na akma, na maaaring makatulong sa paghula ng resulta para sa tuluy-tuloy na umaasang mga variable, ay ang layunin ng linear regression. Ang mga presyo ng bahay, edad, at sahod ay ilang halimbawa ng tuluy-tuloy na halaga.
Ang isang modelo na kilala bilang simpleng linear regression ay gumagamit ng isang tuwid na linya upang kalkulahin ang kaugnayan sa pagitan ng isang independent variable at isang dependent variable. Mayroong higit sa dalawang independyenteng mga variable sa maramihang linear regression.
Ang isang linear regression na modelo ay may apat na pinagbabatayan na pagpapalagay:
- Linearity: May linear na koneksyon sa pagitan ng X at ang mean ng Y.
- Homoscedasticity: Para sa bawat halaga ng X, ang natitirang pagkakaiba ay pareho.
- Kalayaan: Ang mga obserbasyon ay independyente sa isa't isa sa mga tuntunin ng pagsasarili.
- Normalidad: Kapag ang X ay naayos, ang Y ay karaniwang ipinamamahagi.
Kahanga-hangang gumaganap ang linear regression para sa data na maaaring paghiwalayin sa mga linya. Makokontrol nito ang overfitting sa pamamagitan ng paggamit ng regularization, cross-validation, at mga diskarte sa pagbabawas ng dimensionality. Gayunpaman, may mga pagkakataon kung saan kinakailangan ang malawak na feature engineering, na maaaring magresulta paminsan-minsan sa overfitting at ingay.
2. Logistic Regression
Ang logistic regression ay isa pang machine learning technique na umaalis sa pinangangasiwaang pag-aaral. Ang pangunahing paggamit nito ay pag-uuri, habang maaari rin itong magamit para sa mga problema sa pagbabalik.
Ang logistic regression ay ginagamit upang hulaan ang kategoryang umaasa na variable gamit ang impormasyon mula sa mga independiyenteng salik. Ang layunin ay pag-uri-uriin ang mga output, na maaari lamang mahulog sa pagitan ng 0 at 1.
Ang kabuuang timbang ng mga input ay pinoproseso ng sigmoid function, isang activation function na nagko-convert ng mga value sa pagitan ng 0 at 1.
Ang batayan ng logistic regression ay ang maximum likelihood estimation, isang paraan para sa pagkalkula ng mga parameter ng isang ipinapalagay na probability distribution na ibinigay ng partikular na naobserbahang data.
3. Puno ng Desisyon
Ang isa pang paraan ng pag-aaral ng machine na naghihiwalay sa pinangangasiwaang pag-aaral ay ang decision tree. Para sa parehong mga isyu sa pag-uuri at pagbabalik, ang diskarte sa puno ng desisyon ay maaaring gamitin.
Ang tool na ito sa paggawa ng desisyon, na kahawig ng isang puno, ay gumagamit ng mga visual na representasyon upang ipakita ang mga inaasahang resulta, gastos, at epekto ng mga aksyon. Sa pamamagitan ng paghahati ng data sa magkakahiwalay na bahagi, ang ideya ay kahalintulad sa isip ng tao.
Ang data ay hinati sa mga natatanging bahagi hangga't maaari naming i-granulate ito. Ang pangunahing layunin ng Decision Tree ay bumuo ng isang modelo ng pagsasanay na maaaring magamit upang hulaan ang klase ng target na variable. Ang mga nawawalang halaga ay maaaring awtomatikong pangasiwaan gamit ang Decision Tree.
Walang kinakailangan para sa one-shot na pag-encode, dummy variable, o iba pang hakbang sa paunang paggamot ng data. Ito ay matibay sa kahulugan na mahirap magdagdag ng bagong data dito. Kung nakakuha ka ng karagdagang may label na data, dapat mong sanayin muli ang puno sa buong dataset.
Bilang resulta, ang mga puno ng desisyon ay isang hindi magandang pagpipilian para sa anumang aplikasyon na nangangailangan ng dynamic na pagbabago ng modelo.
Batay sa uri ng target na variable, ang mga puno ng desisyon ay inuri sa dalawang uri:
- Categorical Variable: Isang Decision Tree kung saan ang goal variable ay Categorical.
- Continuous Variable: Isang Decision Tree kung saan ang goal variable ay Continuous.
4. Random Forest
Ang Random Forest Method ay ang susunod na machine learning technique at isang pinangangasiwaang machine learning algorithm na malawakang ginagamit sa mga isyu sa pag-uuri at regression. Isa rin itong tree-based na pamamaraan, katulad ng decision tree.
Ang isang kagubatan ng mga puno, o maraming mga puno ng desisyon, ay ginagamit ng random na paraan ng kagubatan upang gumawa ng mga paghatol. Kapag pinangangasiwaan ang mga gawain sa pag-uuri, ang random na paraan ng kagubatan ay gumagamit ng mga kategoryang variable habang pinangangasiwaan ang mga gawain ng regression na may mga dataset na naglalaman ng tuluy-tuloy na mga variable.
Isang grupo, o paghahalo ng maraming modelo, ang ginagawa ng random na paraan ng kagubatan, na nangangahulugang ang mga hula ay ginawa gamit ang isang pangkat ng mga modelo sa halip na isa lamang.
Ang kakayahang magamit para sa parehong mga problema sa pag-uuri at pagbabalik, na bumubuo sa karamihan ng mga modernong machine learning system, ay isang pangunahing benepisyo ng random na kagubatan.
Dalawang magkaibang estratehiya ang ginagamit ng Ensemble:
- Bagging: Sa paggawa nito, mas maraming data ang nagagawa para sa dataset ng pagsasanay. Upang mabawasan ang pagkakaiba-iba sa mga pagtataya, ginagawa ito.
- Ang pagpapalakas ay ang proseso ng pagsasama-sama ng mga mahihinang nag-aaral sa mga malalakas na nag-aaral sa pamamagitan ng pagbuo ng sunud-sunod na mga modelo, na nagreresulta sa panghuling modelo na may pinakamataas na katumpakan.
5. Naive Bayes
Ang isang binary (two-class) at multi-class na isyu sa klasipikasyon ay maaaring malutas gamit ang Naive Bayes technique. Kapag ang pamamaraan ay ipinaliwanag gamit ang binary o kategorya ng mga halaga ng input, ito ay pinakasimpleng maunawaan. Ang isang pagpapalagay na ginawa ng isang Naive Bayes classifier ay ang pagkakaroon ng isang feature sa isang klase ay walang kinalaman sa pagkakaroon ng anumang iba pang feature.
Ang formula sa itaas ay nagpapahiwatig ng:
- P(H): Ang posibilidad na tama ang hypothesis H. Ang naunang posibilidad ay tinutukoy bilang ito.
- P(E): Ang posibilidad ng ebidensya
- P(E|H): Ang posibilidad na ang hypothesis ay sinusuportahan ng ebidensya.
- P(H|E): Ang posibilidad na ang hypothesis ay totoo, dahil sa ebidensya.
Isaalang-alang ng Naive Bayes classifier ang bawat isa sa mga katangiang ito nang paisa-isa kapag tinutukoy ang posibilidad ng isang partikular na resulta, kahit na ang mga katangiang ito ay konektado sa isa't isa. Ang isang Naive Bayesian na modelo ay simpleng gawin at epektibo para sa malalaking dataset.
Ito ay kilala na gumaganap nang mas mahusay kaysa sa kahit na ang pinaka kumplikadong mga diskarte sa pagkakategorya habang ito ay basic. Ito ay isang koleksyon ng mga algorithm na lahat ay nakabatay sa Bayes' Theorem, sa halip na isang paraan.
6. K-Pinakalapit na Kapitbahay
Ang K-nerest neighbors (kNN) technique ay isang subset ng pinangangasiwaang machine learning na magagamit para tugunan ang mga isyu sa classification at regression. Ipinapalagay ng KNN algorithm na ang mga maihahambing na bagay ay matatagpuan sa malapit.
Naaalala ko ito bilang isang pagtitipon ng mga indibidwal na magkakatulad. Sinasamantala ng kNN ang ideya ng pagkakahawig sa pagitan ng iba pang mga data point na gumagamit ng proximity, closeness, o distance. Upang malagyan ng label ang hindi nakikitang data batay sa pinakamalapit na may label na naoobserbahang mga punto ng data, isang pamamaraang matematika ang ginagamit upang matukoy ang paghihiwalay sa pagitan ng mga punto sa isang graph.
Dapat mong matukoy ang distansya sa pagitan ng mga punto ng data upang matukoy ang pinakamalapit na maihahambing na mga lugar. Maaaring gamitin para dito ang mga sukat ng distansya gaya ng Euclidean distance, Hamming distance, Manhattan distance, at Minkowski distance. Ang K ay kilala bilang pinakamalapit na numero ng kapitbahay, at madalas itong isang kakaibang numero.
Maaaring ilapat ang KNN sa mga problema sa pag-uuri at pagbabalik. Ang hula na ginawa kapag ginamit ang KNN sa mga isyu sa regression ay batay sa mean o median ng K-pinaka-katulad na mga pangyayari.
Ang resulta ng isang algorithm ng pag-uuri batay sa KNN ay maaaring matukoy bilang ang klase na may pinakamataas na dalas sa mga K na pinakakatulad na mga pangyayari. Ang bawat pagkakataon ay mahalagang bumoto para sa kanilang klase, at ang hula ay kabilang sa klase na nakakatanggap ng pinakamaraming boto.
7. K-ibig sabihin
Ito ay isang pamamaraan para sa hindi pinangangasiwaang pag-aaral na tumutugon sa mga isyu sa clustering. Ang mga data set ay nahahati sa isang tiyak na bilang ng mga cluster—tawagin natin itong K—sa paraang ang mga data point ng bawat cluster ay homogenous at naiiba sa mga nasa ibang cluster.
K-means clustering methodology:
- Para sa bawat cluster, pinipili ng K-means algorithm ang mga k centroid, o mga puntos.
- Gamit ang pinakamalapit na mga centroid o K cluster, ang bawat data point ay bumubuo ng isang cluster.
- Ngayon, ang mga bagong centroid ay ginawa depende sa mga miyembro ng cluster na naroroon na.
- Ang pinakamalapit na distansya para sa bawat data point ay kinakalkula gamit ang mga na-update na centroid na ito. Hanggang sa ang mga sentroid ay hindi nagbabago, ang prosesong ito ay paulit-ulit.
Ito ay mas mabilis, mas maaasahan, at mas madaling maunawaan. Kung may mga isyu, ginagawang simple ng adaptability ng k-means ang mga pagsasaayos. Kapag ang mga dataset ay naiiba o mahusay na nakahiwalay sa isa't isa, ang mga resulta ay pinakamahusay. Hindi nito maaaring pamahalaan ang mali-mali na data o outlier.
8. Suportahan ang Vector Machines
Kapag ginagamit ang pamamaraan ng SVM upang pag-uri-uriin ang data, ipinapakita ang raw data bilang mga tuldok sa isang n-dimensional na espasyo (kung saan ang n ay ang bilang ng mga feature na mayroon ka). Ang data ay maaaring madaling uriin dahil ang bawat halaga ng tampok ay pagkatapos ay konektado sa isang partikular na coordinate.
Upang paghiwalayin ang data at ilagay ang mga ito sa isang graph, gumamit ng mga linyang kilala bilang mga classifier. Ang diskarteng ito ay nag-plot ng bawat data point bilang isang punto sa isang n-dimensional na espasyo, kung saan ang n ay ang bilang ng mga feature na mayroon ka at ang bawat value ng feature ay isang partikular na coordinate value.
Maghahanap na kami ngayon ng isang linya na naghahati sa data sa dalawang set ng data na naiiba ang pagkakategorya. Ang mga distansya mula sa pinakamalapit na mga punto sa bawat isa sa dalawang grupo ay ang pinakamalayo sa linyang ito.
Dahil ang dalawang pinakamalapit na punto ay ang pinakamalayo sa linya sa halimbawa sa itaas, ang linyang naghahati sa data sa dalawang pangkat na naiiba ang pagkakategorya ay ang gitnang linya. Ang aming classifier ay ang linyang ito.
9. Pagbawas ng Dimensionality
Gamit ang diskarte ng pagbabawas ng dimensionality, ang data ng pagsasanay ay maaaring magkaroon ng mas kaunting mga variable ng input. Sa simpleng termino, ito ay tumutukoy sa proseso ng pagliit ng laki ng iyong feature set. Isipin natin na may 100 column ang iyong dataset; babawasan ng pagbabawas ng dimensyon ang halagang iyon sa 20 column.
Awtomatikong nagiging mas sopistikado ang modelo at may mas malaking panganib na mag-overfitting habang tumataas ang bilang ng mga feature. Ang pinakamalaking isyu sa pagtatrabaho sa data sa mas malalaking dimensyon ay ang tinatawag na "sumpa ng dimensionality," na nangyayari kapag ang iyong data ay naglalaman ng labis na bilang ng mga katangian.
Maaaring gamitin ang mga sumusunod na elemento upang magawa ang pagbawas ng dimensionality:
- Upang mahanap at pumili ng mga nauugnay na katangian, ginagamit ang pagpili ng tampok.
- Gamit ang mga umiiral nang feature, ang feature engineering ay manu-manong gumagawa ng mga bagong feature.
Konklusyon
Parehong posible ang unsupervised o supervised machine learning. Pumili ng pinangangasiwaang pag-aaral kung ang iyong data ay hindi gaanong sagana at mahusay na na-tag para sa pagsasanay.
Ang malalaking set ng data ay madalas na gumaganap at gumagawa ng mas mahusay na mga resulta gamit ang hindi pinangangasiwaang pag-aaral. Malalim na pag-aaral pinakamainam ang mga pamamaraan kung mayroon kang malaking koleksyon ng data na madaling makuha.
Pag-aaral ng pagpapalakas at deep reinforcement learning ang ilang paksang pinag-aralan mo. Malinaw na sa iyo ang mga katangian, gamit, at hadlang ng mga neural network. Panghuli ngunit hindi bababa sa, isinasaalang-alang mo ang mga opsyon para sa iba't ibang programming language, IDE, at platform pagdating sa paggawa ng sarili mong mga modelo ng pag-aaral ng makina.
Ang susunod na bagay na kailangan mong gawin ay simulan ang pag-aaral at paggamit ng bawat isa machine learning lapitan. Kahit na malawak ang paksa, anumang paksa ay mauunawaan sa loob ng ilang oras kung tututukan mo ang lalim nito. Ang bawat paksa ay nag-iisa mula sa iba.
Dapat mong isipin ang tungkol sa isang isyu sa isang pagkakataon, pag-aralan ito, isabuhay ito, at gumamit ng isang wika na iyong pinili upang ipatupad ang (mga) algorithm sa loob nito.
Mag-iwan ng Sagot