2017. február 26., vasárnap

Klasszifikációhoz felhasználható szoftver eszközök - bevezetés


Beginner’s guide to Web Scraping in Python (using BeautifulSoup)
Filtering Startup News with Machine Learning and Scrapy

Creating machine learning models to analyze startup news

Introducing Google Sheets add-on for MonkeyLearn

------------------------------------------------------------------------------

Kernel gépek vizsgálata 


http://adatbazis.starschema.net/2016-02-02-data_scientist_tovabbtanulas/
----------------------------
Viszont van egy nagy baja: nem egzakt (nem úgy mint a statisztika vagy a helyességbizonyítás. Nem csak az eredményekhez vezető út nem egzakt, sokszor még az sem tudható, hogy egy kapott eredmény mennyire jó, mennyire kéne örülni neki.
--------------------
Perszonális kedvencem, a már sokszor említett legegyszerűbb, legtisztább Ensemble Learning. Nem nagyon lehet elrontani, felhasználói szinten is csodásan működik, sikerélmény-hegyeket generál; én minden kezdőt erre buzdítanék először: [egzaktság * siker] szorzat relatíve könnyen megszerezhető optimuma miatt). Persze figyelni kell még ezen a szűk szakterületen is ki, mit, hogyan javít, gyorsít, miben van/nincs potenciál, mi specifikus, mi általános, mi hogyan fogadja be a plusz domainfüggő üzleti tudást, stb. Egy irdatlan nagy és gyorsulóan növekvő cikkáradatban, teszem hozzá azonnal.

Egy szokványos logisztikus regresszió, ami ezer éve létezik, hosszú évek óta arról szól, hogy hogyan alakítsd a bemenő állományodat olyan formára, hogyan paraméterezd magát a regressziót, hogy jó és megbízható választ kapj a kérdéseidre, egyedileg is és általános esetre is. Emberek azon agyalnak, hogy rájöjjenek mi nem működik jól benne, hogyan kéne megjavítani, jobb eredményt kipréselni belőle, ami vagy lokális optimumhoz vezet (rosszabb esetben), vagy globális optimumhoz. És ez a legegyszerűbb eset. Hogyan kéne gyorsítani, felskálázni.

A bonyolultabb SVM (Support Vector Machine) már tengernyi paramétert tartalmaz, amit ha csavargatsz, mint a kazettás magnódon a potmétereket, nagyrészt fogalmad sincs előre milyen hatást, hogyan váltasz ki, csak szembesülhetsz a végeredménnyel, amiből le kéne vonni valamilyen következtetést, hogy tovább tudj lépni.

A neurális hálók egy következő nagy ugrás az adatbányászat „boszorkánykonyhájában”, ugyanis alapvetően blackbox az egész téma. A legjobb matematikus elmék próbálják megérteni a működésüket, hogy miért mikor és hogyan adnak jó eredményt, és tudtommal sehol sincsenek még ez ügyben. Extrapolációval: a “P=NP”-t előbb fogják bizonyítani, mint ezeket a válaszokat megkapni. ;)

A Deep Learning (aminek segítségével a minap érték el, hogy profi gó játékost vert el a gép) még ezen is túltesz. Blackboxokat kell sorba kötni, ki tudja pontosan hányat, hogyan, mennyire átlapolva, és miért így. Illetve az erős túltanulást pontosan milyen módszerrel hogyan kéne kordában tartani. Ember nincs a földön aki érti a témát, vagy erős kérdéseket meg merne válaszolni a működést illetően. Erre a SZTAKI-sok sem hajlandók értelemszerűen, pedig ők evvel kelnek és fekszenek, napközben meg versenyeznek. Próbálkozások vannak, meg az a biztos tudat, hogy ami jó output, az biztonsággal detektálható, hogy jó.
-------------------------------------
 https://turi.com/learn/userguide/supervised-learning/boosted_trees_classifier.html
https://turi.com/learn/userguide/supervised-learning/random_forest_classifier.html
https://turi.com/learn/userguide/supervised-learning/svm.html
https://turi.com/learn/userguide/supervised-learning/logistic-regression.html
...
 http://blog.kaggle.com/2015/12/03/dato-winners-interview-1st-place-mad-professors/
https://pypi.python.org/pypi/dato-predictive-service-client
 http://liftinstinct.blogspot.hu/2015/12/dato-ipythonos-machine-learning.html

-------------------------------------
 https://github.com/dmlc/xgboost/tree/master/demo/binary_classification
 https://www.analyticsvidhya.com/blog/2016/01/xgboost-algorithm-easy-steps/_in_R

Use XGboost and Vowpal Wabbit as alternatives to Scikit-learn

-----------------------------------------

http://liftinstinct.blogspot.hu/2015/12/ensemble-learning-es-scikit-learn.html

-------------------------------------
http://stats.stackexchange.com/questions/173390/gradient-boosting-tree-vs-random-forest
 A Boosting  gyenge tanulókon alapul (magas torzítás, alacsony variancia).
Az elnevezést illetően, döntési fák, gyenge tanulók shallow trees/sekély fák, néha még kisebb, úgy mint a decision stumps/döntési tuskók (fák két levél). Boosting csökkenti a hibát elsősorban a torzítás csökkentésével (és bizonyos mértékig sok modell kimeneti varianciájának összesítésével).
...................
Másrészt, a Random Forest használ kifejlett döntési fákat (alacsony torzítás, nagy szórás). Eltér a hibacsökkentés feladattól éppen az ellenkező irányban: csökkenti a varianciát. A fák készülnek korrelálatlannak, hogy maximalizáljuk a variancia csökkenését, de az algoritmus nem képes csökkenteni torzítást (ami valamivel magasabb, mint a torzítás az önálló fáké az erdőben). Ezért van szükség a nagy, csonkítatlan fákra, úgy, hogy a torzítás kezdetben a lehető legalacsonyabb szinten legyen.
...................

Kérjük, vegye figyelembe, hogy ellentétben A Boosting (ami szekvenciális), RF növekszti a fákat párhuzamosan. Az iteratív kifejezés, amit használt, így nem megfelelő.
----------------------- -------------
2.4 fejezet
..........................
Tetszőlegesen meghatározható mind a veszteség függvény mind az alap-tanuló modell az igényeknek megfelelően. A gyakorlatban, mivel néhány konkrét veszteségfüggvény Ψ (y, f) és / vagy egyéni bázis-tanuló h (x, θ), a megoldást a paraméterbecsléseket nehéz lehet megszerezni. Azt javasolják, hogy válasszunk egy új függvényt h (x, θt) mely a leginkább illeszkedik (párhuzamos) a negatív gradienssel {gt (xi)} Ni = 1 a vizsgált adatok mellett:
.........................................
Ahelyett, hogy a függvények terében az általános megoldást keresnénk a veszteség függvény (mintákhoz tartozó)értékeit, leginkább csökkentő megoldást keresnénk,  egyszerűen válasszuk ki az új függvény a t melynek növekménye leginkább korelál -gt (x) gradienssel. Ez lehetővé teszi , hogy kiváltsunk egy potenciálisan nagyon nehéz optimalizálási feladatok a klasszikus legkisebb négyzetek minimalizálás alábbi feladatával:
.....................................
Összefoglalva, meg tudjuk fogalmazni a teljes formáját a Friedman (2001)  által eredetileg javasolt  gradient boosting algoritmust . Ennek pontos formája a származtatott algoritmus és az összes vonatkozó képlet erősen függnek tervezéskor választott Ψ (y, f) és h (x, θ)  -tól. Megtalálható néhány gyakori példa ilyen algoritmusokra Friedman (2001).

Hasznos linkekaz adatbányászatoktatásához

 -----------------------------------------------------------------------------------
 http://liftinstinct.blogspot.hu/2015/12/ensemble-learning-es-scikit-learn.html
...
 http://www.site.uottawa.ca/~stan/csi5387/boost-tut-ppr.pdf
....
http://www.ccs.neu.edu/home/vip/teach/MLcourse/4_boosting/slides/gradient_boosting.pdf
https://www.quora.com/What-is-the-difference-between-gradient-boosting-and-adaboost

Gradient boosting machines, a tutorial
 GBM_TUTORIAL (PDF)

---------------------------------------------------------------

4. Osztályozás:Alapfogalmak, döntési fák és modellek kiértékelése
   http://doksi.hu/get.php?order=DisplayPreview&lid=13828&p=10
   https://www.cs.elte.hu/blobs/diplomamunkak/bsc_matelem/2010/benyasz_melinda.pdf
   http://old.sztaki.hu/~szcsaba/talks/lecture3.pdf
   ID3
   Az ID3 algoritmus kiterjesztései - ELTE
   Dudás László - ELTE Matematikai Intézet
   Döntési fa – Wikipédia
   
5. Osztályozás: Alternatív módszerek
Együttes módszerek
Együttes módszerek
---------
 AdaBoost tanuló algoritmus
 https://mialmanach.mit.bme.hu/fogalomtar/adaboost

--------------------------------------------------------------------------------------------
általános gépi tanulással maga jön rá, saját maga által (persze rengeteg minta kielmzése útján) generált adatból, hogyan oldhatja meg a kérdéses feladatot
AlphaGo versus Lee Sedol 4–1
 The winner of the match was slated to win $1 million.

PREZENTÁCIÓ

Beginner’s guide to build data visualisations on the web with D3.js

------------------------------------------------------------

https://www.analyticsvidhya.com/blog/2017/07/introduction-to-genetic-algorithm/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+AnalyticsVidhya+%28Analytics+Vidhya%29 in data science

SPARK
 

Apache Spark Tutorial: Machine Learning with PySpark




Nincsenek megjegyzések:

Megjegyzés küldése