AI'deki işlevleri anlama

5 yıl önce

Yapay zekada yaptığımız her veri dönüşümü, giriş-verileri, bu dönüşümün fonksiyonlar aracılığıyla yapıldığımız görev için gerekli olan en temsili biçime dönüştürmeyi amaçlamaktadır.

Bir makine öğrenme modeli giriş verilerini anlamlı çıktılara dönüştürür. "Bilinen girdi ve âli çıkış örneklerine maruz kalmadan" € âleşen bir işlem.

Böylece, ML modeli "Bir işlevi, giriş verilerini beklenen çıkışa getiren bir işlevi kazandırır.

f (x) = â y_hat

Bu nedenle, makine öğrenimi ve derin öğrenimdeki merkezi problem, verileri anlamlı bir şekilde dönüştürmektir: Başka bir deyişle, girdi verilerinin eldeki faydalı temsillerini öğrenmek, bizi beklenen çıktıya yaklaştıran € Šrepresentations. (Francois Chollet)

Birkaç veri puanı masamız var, bazıları "Beyaz 'sınıfa ve başkalarına "sınıfa ait bir sınıfa aittir. Onları çizdiğimizde, buna benziyorlar.

Gördüğünüz gibi, birkaç siyah ve beyaz noktamız var. Bu noktanın siyah (Sınıf 0) veya beyaz (Class 1) olup olmadığını (X, Y) koordinatlarını (X, Y) alabilen bir ML algoritmasını eğitmek istediğimizi söyleyelim.

En az 4Â şeye ihtiyacımız var

Sonuçta, burada ihtiyaç duyduğumuz, modelden, beyaz noktaları siyah noktalardan temiz bir şekilde ayıran verilerimizin yeni bir gösterimidir. "

Bu yeni temsil, bir koordinat değişimi kadar basit olabilir veya polinom veya rasyonel veya bir logaritmik, trigonometrik ve üstel fonksiyonların bir kombinasyonunu, çıkışlı verilere uygulamak kadar basit olabilir.

Biraz optimizasyondan sonra ve bir şans konturundan sonra, algoritmamızın yukarıdaki 3. temsili öğrendiğini varsayalım.

{Black points değerleri var> 0, beyaz noktaların değerleri var  ‰ ¤Â 0}

Bu, modelimizin bir  € ile gösterilebilecek verilerimin bir temsilini öğrendiği anlamına gelir.

F (x) = 0 (â € ~blackâ, eğer x> Â 0)

F (x) = 1 (â € € € € € "ise, eğer x  ‰ ¤Â 0)

Bu fonksiyonla, umarım, model, gelecekteki görünmeyen siyah ve beyaz puanlar verilerini sınıflandırmak için genelleştirebilir.

Peki Heck bir işlevi gerçekten ne?

Florida'da bir kurye ofisinde bir kurye ofisinde, Sydney Avustralya'daki bir konuma gönderirsiniz. Ajan, Parselin Ağırlık WX ve Florida'dan Florida'dan DX'i Sydney'e girer ve size bir şarj cihazı yazar. , 500 dolar.

Bu basitçe, 500 $ 'lık şarj cihazı anlamına gelir, Mesafe DX'in bir fonksiyonu ve parselin ağırlık wx'sidir.

Daha fazla maliyet hesaplayıcısının, Hidar Hidden Fonksiyonu H, herhangi bir parselin mesafesine ve ağırlığına, A® şarjına ulaşmasını sağlayalım.

Bu işlem, f (x) böyle bir fonksiyonu olarak yazılabilir:

F (x) = H (DX, Â WX)

Başka bir deyişle, C verilen X, DX ve WX'e biraz hesaplama uygulayan, Hidden Fonksiyonu H (x) olan bir fonksiyonun sonucudur.

Bu aynıdır:

C = H (DX, Â WX)

Hangisi aynıdır:

500 $ = hidden_function (parsel-x mesafesi, parselin ağırlığı-x)

Böylece fonksiyon kavramları her yerde bulunur ve işlevler etrafımızda her yerdedir. Fonksiyonlar aracılığıyla birkaç yapıyı temsil edebiliriz. Örneğin, söylenebilir ki bu € |

İyi bir hayata sahip olmak, sağlıklı bir yaşam ve zenginlik fonksiyonudur.

Health-Living ve W için W için H'yi ve X'in iyi yaşam için olduğunu belirtirsek, bu ilişkiyi şu şekilde yazabiliriz:

f (x) = H + Â w

Biraz Hesap oyunu |

Hesap, fonksiyonlardaki değişiklikleri tanımlayan matematiktir.

Calculus'u incelemek için gereken fonksiyonlar: -

Calculus'a daha derine gitmeden, bir fonksiyonun tanımını görelim:

Bir fonksiyon, birinci setin (etki alanının) her bir elemanın, ikinci setin (aralık) tam olarak bir elemanı ile ilişkili olduğu özel bir ilişkidir. Herhangi bir işlev için, girişi bildiğimizde, çıktı belirlenir, bu yüzden biz Bir fonksiyonun çıkışının, girişin bir işlevi olduğunu söyleyin.

Örneğin, bir karenin alanı yan uzunluğu ile belirlenir, bu nedenle alanın (çıkışın) yan uzunluğunun (girişi) bir fonksiyon olduğunu söylüyoruz.

Herhangi bir fonksiyon için, girişi ve kuralları bildiğimizde, çıktı belirlenir, bu nedenle bir fonksiyonun çıkışının, girişin bir işlevi olduğunu söylüyoruz.

Bu basitçe, herhangi bir işlev F'nin bir dizi girdi (etki alanı), bir dizi çıkış (aralık) ve her girişi tam olarak tek bir çıkışa atamak için bir kuraldan oluşur.

Bir işlev, etki alanındaki her öğeyi aralıktaki tam olarak bir öğeye haritalar. Her giriş yalnızca bir çıkışa gönderilebilse de, aynı çıkışa iki farklı giriş gönderilebilir (bkz. Yukarıdaki 2 ve 4'e eşlenir).

Gerçek, doğal ve olumsuzlar:

Yukarıdakilerin bilgisimizi hızlı bir şekilde yenileyelim, çünkü AI'de herhangi bir aktivite gerçekleştirmemesi imkansızdır.

Gerçek sayılar kümesi, sonsuzluğa karşı negatif-sonsuzluk içindeki sayılar kümesidir.

Aralıklı notasyonda, X IS IS içini: X'si içindeki x gerçek bir numara olduğu için yazılabilir:

(-inf, INF): NEG-sonsuzluktan daha az ve sonsuzluktan az

Belirlemede:

{x | -inf

Gerçek sayılar kümesi, fraksiyonlardan olumsuz ve pozitif sayıların keyfi boyutlarına kadar her türlü sayının süper setidir.

Doğal sayılar kümesi, aralıktan pozitif sayıların (0, sonsuzluk)

Aralıksız notasyonda:

[0, INF): 0, sonsuzluktan daha azını içerir.

Belirlemede:

{x | 0 ‰ ¤ x}: x, 0  ‰ ¤Â x verildi.

Negatif sayılar kümesi, tüm sayıların setidir.

Aralıksız notasyonda:

(-inf, 0): NEG-sonsuzluğundan daha az ve 0'dan az.

Belirlemede:

{x | x <0}: x, verilen x

Etki alanını ve işlev yelpazesini keşfetmek:

Belirli bir fonksiyon verildiğinde, etki alanını ve aralığını nasıl belirleyebiliriz? Böyle bir fonksiyonun hangi yasal girdilerin ne yapabileceğini ve hangi yasal çıkışların üretebileceğini nasıl anlayabiliriz?

f (x) = Â max (0, x)

Yukarıdaki ekspresyon, herhangi bir X'in herhangi bir girişi için, işlev, 0 ile  x arasındaki maksimum değeri döndürür.

Başka kısıtlamalar olmadan, X'in böyle bir numara olduğunu varsayabiliriz:

{x | -inf

Bu nedenle, bu fonksiyonun alanı gerçek sayıların dizidir. Ve, bu fonksiyonun çıkışı en az 0 ve maksimum herhangi bir sayıdan oluştuğundan, bu işlevin aralığını doğal sayıların (0, INF) veya {y | Y Â ‰ ¥ Â 0 olarak belirtiriz. }.

-10 ila  10 arasında bir dizi sayı kullanarak yukarıdaki işlevi çizelim.

https://medium.com/media/71d241efffc684ed8fcb335b516a842d/href

Keşfettiğimiz işlev, tüm popüler doğrultulmuş doğrusal birimdir. AKA RELU aktivasyon fonksiyonu. Reldur, çok basit, ama çok güçlü.

Belki de Reldur'un yüksek puanı, sırtüstü olmayan bir aktivasyon fonksiyonuyla derinlemesine çok katmanlı ağları eğitmek için başarılı bir uygulamadır.

F (x) = SQRT (x + 3) + Â 1

Yukarıdaki ekspresyon, verilen herhangi bir X girişi için, işlev (x + 3) + Â 1'in karekökünü döndürür.

Etki alanını bulmak için, fonksiyonun kuralına dikkat etmeliyiz. Burada, kuralın bir parçası olarak kar kareli bir fonksiyonumuz var. Böylece bize otomatik olarak karekökü içindeki ifadeyi söyler, minimum 0 değerine sahip olmalıdır.

Öyleyse etki alanını bulmak için, SORUMUZ SORUMUZ SORUMUZ? X'in hangi değeri en az 3'e eklemeliyiz?

X + 3 = 0Â € | Bu nedenle: x = Â -3

Bu nedenle fonksiyonun alanı {x | x  ‰ ¥ -3} veya [-3,  inf).

Kural ve etki alanı ile, aralığı kolayca bulabiliriz. Minimum -3 değerini x olarak takarsak. Daha sonra, işlev, 0, artı 1 olan, 1 olan SQRT'yi değerlendirecektir. Bu nedenle, aralık [1, INF) veya {y | Y Â ‰ ¥ Â 1}.

Herhangi bir fonksiyon için, girişi ve kuralları bildiğimizde, çıktı belirlenir, bu nedenle bir fonksiyonun çıkışının, girişin bir işlevi olduğunu söylüyoruz.

F (x) = 1 / (1 + Â e ^ -x)

Yukarıdaki ekspresyon anlamına gelir, herhangi bir X girişi için, fonksiyonun euler'in numarası = Â 2.71828 olması durumunda 1 / (1 + E, negatif x) döndürür.

Peki bu fonksiyonun etki alanını nasıl buluruz?

İşleve bakıldığında, X'in aslında üs olan üs olduğunu görebiliriz. Bu nedenle X aslında herhangi bir değere sahip olabilir. Bunun nedeni, üssel bir işlevin alanının aslında, baz 0 ve Â! = Â 1 olduğu sürece tüm gerçek sayıların kümesidir.

Peki peki ya range?

Etki alanının herhangi bir değere sahip olabileceğini anlamak, bizi kurallara yönlendirir. İlk fark ettiğimiz şey, negatif X'in üssüdür. 0'nın üssü 1 olduğundan, negatif bir sayının üssü [0, Â 1) içinde olmalıdır.

Öyleyse, üs kısmı 0 döndürürse, 1 / (1 +0) = 1 alıyoruz.

Bu nedenle aralık (0, 1] veya {y | 0

Evet! Daha yeni keşfedildiğimiz işlev, ikili sınıflandırma görevleri için uygun bir lojistik regresyon işlevine dönüştürmek için doğrusal-regresyon işlevine yerleştirdiğimiz şapka olan Sigmoid-Aktivasyon işlevidir.

https://medium.com/media/19f8b2db2921381e566efcf0f70e0ea9/href

Y_HAT = W1X1 + W2X2 + Â B

Yukarıdaki denklem, X1 ve X2, Ağırlıklar W1 ve W2 PLUS BIAS B ile çarpılan 2 değişkenli bir çok doğrusal regresyonu belirtir. Y_HAT'u sıcaklık, ağırlık, ağırlık ve benzeri bir sıcaklık gibi dönüştürürsek, [0, 1] gibi ayrık bir ikili sayıya, iki sınıfı belirtmek için, Sigmoid işlevini Y_HAT'a uygulayabiliriz, 0.5 gibi bir eşik belirleyebiliriz. Her iki sınıf hem de tamamen işlevsel bir lojistik regresyon modelimiz var (log_reg).

log_reg = sigmoid (y_hat) â € | => Sigmoid (W1X1 + W2X2 + Â B)

Ayrıca, sigmoid işlevini SoftMax işlevine kolayca genişletebiliriz.

Softmax, çok sınıflı sınıflandırma için idealdir. Softmax'ta, her bir çıktı için üssün (e yükseltilmiş [Y1, Y2Â € |Y5]) 'ı hesaplıyoruz.

5 sınıfımız varsa, 5 elementten oluşan bir vektörümüz var, [Y1, Y2Â Â € |Â Y5]

Öyleyse, tüm üsleri ekleriz ve her birinin toplam üssün toplamı ile bölün. Bu, 1.0'a kadar eklenen 5 ayrı olasılık sağlar. En yüksek olasılık skoruna sahip değer, öngörüdür (Y_HAT)

https://medium.com/media/db3823da9f36a815cecf7e8a8c9d97ed/href

F (x) = 3 / (x + Â 2)

Yukarıdaki ekspresyon, herhangi bir X girişi için, fonksiyonun 3 / Â (X-2) değerini döndürür.

Yani Yea, bu fonksiyonun alanını nasıl belirleriz? Başka bir deyişle, bu ifadenin hangi değerleri bu ifadeyi geçerli hale getirecek?

Başka hiçbir kısıtlamalar olmadan, x, 2 dışında herhangi bir gerçek numara alabilmelidir. Bunun nedeni 3 / (2 "2) yasadışıdır ve bir ZerodiVisionError'u yükseltir.

Bu nedenle etki alanı (xâ! = 2) veya {x | xâ! = Â 2}.

Menzil bulmak için, y 3 / (x + 2)) = Â Y ile etki alanında gerçek bir numara var olacak şekilde, Y değerlerini bulmalıyız.

X, 2. ve 3 bölünmüş (herhangi bir gerçek numara artı 2) 'ı bölünmüş herhangi bir gerçek sayı olabilir.

Bu nedenle aralık (YÂ! = 0) veya {y | Yâ! = Â 0}.

Özet

Yukarıdaki son örnek, zorlu bir şekilde zordu, ancak aynı yönündeki alanın yasal unsurlarını bulma şeklini takip ediyor. Ardından, bu elemanları eşleştirmek.

Fonksiyonlar, genel olarak ve özellikle AI'da programlama için son derece önemlidir. Yapı modelleri oluştururken, kütüphaneleri başka bir işlevle içe aktarma veya bizimize ihtiyaç olarak yazıyor. Etki alanının bilincinde olalım, kuralı ve işlevlerimizin aralığı. Her bir fonksiyona insan tarafından okunabilen bir docstr, isim ve değişken adları bu yüzden kendiliğinden açıklayıcıdır.

Senin için teşekkürler.

Şerefe!

Kredi:

Python (Francois Chollet) ile derin öğrenme

Montereyinstitute.org

Openstax.org

Makine öğrenme ustası

Benim hakkımda:

Lawrence, Fuar ve Açıklanabilir AI ve Veri Bilimleri hakkında tutkulu, Tech Katmanında bir veri uzmanıdır. Hem veri bilimi profesyonel ve gelişmiş veri bilimi profesyonel sertifikalarını IBM'den alıyorum. ve Udecity Ai Nanodegree. ML ve DL kütüphaneleri kullanarak birkaç proje yaptım, mevcut kütüphaneler bol olduğunda bile fonksiyonlarımı mümkün olduğunca kodlamayı seviyorum. Son olarak, öğrenmeyi bırakmayı, keşfedilmeyi, sertifikalandırılmayı ve deneyimlerimi anlayışlı makalelerle paylaşmayı asla bırakmam.

Beni bulmaktan çekinmeyin: -

Github

LinkedIn

Twitter.

AI'deki işlevleri anlamak, bu hikayeye vurgulayarak ve yanıtlayarak insanların konuşmaya devam ettiği ortamda AI'ye doğru yayınlandı.

AI'ye doğru yayınlandı

Kaynak: TowardsAI

More Posts