Memahami Fungsi dalam AI – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Lawrence Alaso Krukrubo

Kecerdasan Buatan, Pembelajaran Mesin

Menjelajahi Domain dan Rentang fungsi…

kredit gambar | wikipedia

Setiap transformasi data yang kami lakukan dalam Artificial intelligence berusaha untuk mengubah input-data ke format paling representatif yang diperlukan untuk tugas yang ingin kami selesaikan… Konversi ini dilakukan melalui fungsi.

Model pembelajaran mesin mengubah data masukannya menjadi keluaran yang bermakna. Sebuah proses yang “dipelajari” dari paparan contoh masukan dan keluaran yang diketahui.

Jadi, model ML “mempelajari suatu fungsi” yang memetakan data masukannya ke keluaran yang diharapkan.

f (x) = y_hat

Oleh karena itu, masalah utama dalam Pembelajaran Mesin dan Pembelajaran Mendalam adalah mengubah data secara bermakna: Dengan kata lain, untuk mempelajari representasi berguna dari data masukan yang ada – representasi yang membawa kita lebih dekat ke keluaran yang diharapkan… (Francois Chollet)

Mari kita lihat contoh mainan…

Kami memiliki tabel dari beberapa titik data, beberapa termasuk dalam kelas “putih” dan lainnya ke kelas “hitam”. Saat kami memplotnya, mereka terlihat seperti ini…

kredit gambar | dlwp

Seperti yang Anda lihat, kami memiliki beberapa titik hitam dan putih. Katakanlah kita ingin melatih algoritma ML yang dapat mengambil koordinat (x, y) dari suatu titik dan mengeluarkan apakah titik itu hitam (kelas 0) atau putih (kelas 1).

Kami membutuhkan setidaknya 4 hal

Input data dalam hal ini koordinat (x, y) dari setiap titik Output yang sesuai atau target (hitam atau putih) Sebuah cara untuk mengukur kinerja, katakanlah metrik seperti akurasi. Algoritme yang sesuai dengan tugas, katakanlah tipe Regresi Logistik.

Pada akhirnya, yang kita butuhkan di sini, dari model adalah representasi baru dari data kita yang dengan rapi memisahkan titik putih dari titik hitam. Titik!

Representasi baru ini bisa sesederhana perubahan koordinat atau serumit menerapkan polinomial atau rasional atau kombinasi fungsi logaritmik, trigonometri dan eksponensial untuk data keluar.

kredit gambar | dlwp

Mari kita asumsikan bahwa setelah beberapa pengoptimalan dan keberuntungan, algoritme kita mempelajari representasi ke-3 di atas yang memenuhi aturan:

{Titik Hitam memiliki nilai> 0, Titik putih memiliki nilai ≤ 0}

Ini berarti model kami telah mempelajari representasi data kami yang dapat dilambangkan dengan ‘fungsi’ (f dari x, ditulis sebagai f (x)), yang memetakan data masukan ke target keluaran sedemikian rupa sehingga:

f (x) = 0 (‘Hitam’, jika x> 0)

f (x) = 1 (‘Putih’, jika x ≤ 0)

Dengan fungsi ini, model ini diharapkan dapat menggeneralisasi untuk mengklasifikasikan data titik hitam dan putih yang tidak terlihat di masa mendatang.

Jadi Apa Sebenarnya Fungsi Itu?

gambar oleh Gerd Altmann | pixabay

Bayangkan Anda berada di kantor kurir di Florida AS, mengirim parsel x, ke lokasi di Sydney Australia… Agen memasukkan berat parsel Wx dan jarak Dx dari Florida ke Sydney dan menulis tagihan C, sebesar $ 500.

Ini berarti muatan C sebesar $ 500, adalah fungsi dari jarak Dx dan bobot Wx dari parsel x.

Mari kita asumsikan lebih lanjut kalkulator biaya hanya menerapkan fungsi tersembunyi H, untuk jarak dan berat paket apa pun, untuk mendapatkan muatan.

Seluruh transaksi ini dapat ditulis sebagai fungsi f (x) sehingga:

f (x) = H (Dx, Wx)

Dengan kata lain, C yang diberikan x adalah hasil dari fungsi f (x), yang mengambil fungsi tersembunyi H, yang menerapkan beberapa komputasi ke Dx dan Wx.

Ini sama dengan:

C = H (Dx, Wx)

Yang sama dengan:

$ 500 = Fungsi_ Tersembunyi (Jarak-parsel-x, Berat-parsel-x)

Jadi gagasan tentang fungsi ada di mana-mana dan fungsi ada di mana-mana di sekitar kita. Kami dapat mewakili beberapa konstruksi melalui fungsi. Misalnya, dapat dikatakan bahwa…

Memiliki kehidupan yang baik adalah fungsi dari hidup sehat dan kekayaan

Jika kita menunjukkan h untuk hidup sehat dan w untuk kekayaan, dan x untuk kehidupan yang baik, kita dapat menulis hubungan ini sebagai:

f (x) = h + w

Sedikit Kalkulus…

gambar oleh Gerd Altmann | pixabay

Kalkulus adalah matematika yang mendeskripsikan perubahan dalam Fungsi …

Fungsi yang diperlukan untuk mempelajari Kalkulus adalah: –

Fungsi Polinomial, Rasional, Trigonometri, Eksponensial, dan Logaritmik

Tanpa membahas lebih dalam tentang Kalkulus, mari kita lihat definisi suatu fungsi:

Fungsi adalah jenis relasi khusus di mana setiap elemen dari himpunan pertama (domain) terkait dengan tepat satu elemen dari himpunan kedua (range).
Untuk fungsi apa pun, ketika kita mengetahui input, output ditentukan, jadi kita katakan bahwa output suatu fungsi adalah fungsi input.

Misalnya, luas persegi ditentukan oleh panjang sisinya, jadi kita katakan bahwa luas (keluaran) adalah fungsi dari panjang sisinya (masukan).

Untuk fungsi apa pun, ketika kita mengetahui input, dan aturannya, output ditentukan, jadi kita katakan bahwa output dari suatu fungsi adalah fungsi dari input.

Ini berarti setiap fungsi f yang diberikan terdiri dari satu set input (domain), satu set output (range), dan aturan untuk menetapkan setiap input ke tepat satu output.

Memetakan dari domain ke jangkauan

Sebuah fungsi memetakan setiap elemen dalam domain ke tepat satu elemen dalam rentang. Meskipun setiap masukan hanya dapat dikirim ke satu keluaran, dua masukan berbeda dapat dikirim ke keluaran yang sama (lihat 3 dan 4 dipetakan ke 2 di atas).

Bilangan Nyata, Alami dan Negatif:

Mari cepat menyegarkan pengetahuan kita tentang hal di atas, karena tidak mungkin melakukan aktivitas apa pun di AI, tanpa angka…

1. Bilangan Nyata:

Himpunan bilangan real adalah himpunan bilangan dalam negatif-tak hingga tak terhingga.

Dalam notasi interval, dapat ditulis sebagai x adalah bilangan real jika x berada di dalam:

(-inf, inf): kurang dari neg-infinity dan kurang dari infinity

Dalam set-notation:

-inf

Himpunan bilangan real adalah himpunan super dari semua jenis bilangan, mulai dari pecahan hingga float hingga bilangan positif dan negatif dari ukuran sembarang.

2. Bilangan Alami:

Himpunan bilangan asli adalah himpunan bilangan positif dari rentang (0, tak terhingga)

Dalam notasi interval:

[0, inf): includes 0 but less than infinity.

In set-notation:

0≤ x: x, given that 0 ≤ x

3. Negative Numbers:

The set of negative numbers is the set of all numbers less than 0

In interval-notation:

(-inf, 0): Less than neg-infinity and less than 0.

In set-notation:

x < 0: x, given that x < 0

Exploring The Domain and Range of Functions:

Photo by CHUTTERSNAP on Unsplash

Given a certain function, how can we determine it’s domain and range? How can we figure out what legal inputs such a function can take and what legal outputs it can produce?

Function One:

f(x) = max(0,x)

The above expression means, for any given input of x, the function returns the maximum value between 0 and x.

With no further constraints, we can assume that x is any given number such that:

-inf < x < inf: meaning x is any real number.

Therefore the domain of this function is the set of Real-Numbers. And, since the output of this function is a minimum of 0 and maximum of any given number, we can denote the range of this function as the set of Natural-Numbers [0, inf) or y ≥ 0.

Plotting The Function:

Let’s plot the above function using a range of numbers from -10 to 10

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

RELU Activation Function on values -10 to 10

The function we’ve been exploring is the all popular Rectified-Linear-Unit. AKA Relu activation function. Relu is very simple, yet very powerful.

Perhaps the high-point of Relu is its successful application to train deep multi-layered networks with a nonlinear activation function, using backpropagation… Link

Function Two:

f(x) = sqrt(x + 3) + 1

Function 2…

The above expression means, for any given input of x, the function returns the square root of (x + 3) + 1.

To find the domain, we need to pay attention to the rule of the function. Here, we have a square-root function as part of the rule. So that automatically tells us the expression within the square-root must have a minimum value of 0. Since we cannot find the square-root of negative numbers.

So to find the domain, we must ask… What value of x must we add to 3 to get a minimum of 0?

x + 3 = 0… Therefore: x = -3

Therefore the domain of the function is x ≥ -3, or [-3, inf).

With the rule and the domain, we can easily find the range. If we plug in the minimum value of -3 as x. Then the function would evaluate to sqrt of 0, which is 0, plus 1, which is 1. Therefore the range is [1, inf) or y ≥ 1.

The Graph of Function 2

For any function, when we know the input, and the rule, the output is determined, so we say that the output of a function is a function of the input.

Function Three:

f(x) = 1 / (1 + e^-x)

Function 3…

The above expression means, for any given input of x, the function returns 1/(1 + e, raised to negative x), where e is the Euler’s number = 2.71828.

So how do we figure the domain of this function?

Looking at the function, we can see that x is actually the exponent, whose base is e. Therefore x can actually take any value regardless. This is because the domain of an exponential function is actually the set of all real numbers, as long as the base is not 0 and != 1.

So what about the range?

Understanding that the domain can take any value, leads us to the rule. The first thing we notice is the exponent of negative x. Since the exponent of 0 is 1, the exponent of a negative number must be within [0, 1).

So, if the exponent part returns 0, we get 1 / (1 +0) = 1. If it returns any other value v, where 0 < v <1, we get 1 / (1 + v) => some value (0, 1).

Therefore the range is (0, 1] atau 0

Ya! fungsi yang baru saja kita jelajahi adalah Sigmoid-Activation-Function, yang merupakan topi yang kita tempatkan pada fungsi Linear-Regresi untuk mengubahnya menjadi fungsi Regresi-Logistik yang cocok untuk tugas-tugas Klasifikasi-Biner.

Merencanakan Sigmoid:

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

Fungsi Aktivasi Sigmoid pada nilai -10 hingga 10

Lebih Banyak Tentang Sigmoid:

y_hat = w1x1 + w2x2 + b

Persamaan di atas menunjukkan regresi linier berganda dengan 2 variabel x1 dan x2, dikalikan dengan bobot w1 dan w2 ditambah bias b. Jika kita mengonversi y_hat dari bilangan kontinu seperti suhu, berat, dan sebagainya… Menjadi bilangan biner diskrit seperti [0, 1] yang menunjukkan dua kelas, kita cukup menerapkan fungsi Sigmoid ke y_hat, menetapkan ambang batas seperti 0,5 untuk membatasi kedua kelas, dan kita memiliki model Regresi-Logistik yang berfungsi penuh (log_reg).

log_reg = Sigmoid (y_hat)… => Sigmoid (w1x1 + w2x2 + b)

Selanjutnya, kita dapat dengan mudah memperluas fungsi Sigmoid ke fungsi Softmax.

Softmax sangat ideal untuk klasifikasi kelas jamak. Dalam softmax, kami menghitung eksponen (e dinaikkan menjadi [y1, y2…y5]) untuk setiap kelas keluaran.

Jika kita memiliki 5 kelas, kita memiliki vektor 5 elemen, [y1, y2 … y5]

Jadi, kami menjumlahkan semua eksponen dan membagi setiap eksponen dengan jumlah total eksponen. Ini memberikan 5 probabilitas berbeda yang menambahkan hingga 1,0. Nilai dengan skor probabilitas tertinggi menjadi prediksi (y_hat)

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

Fungsi Aktivasi Softmax pada nilai -10 hingga 10

Fungsi Empat:

f (x) = 3 / (x + 2)

Fungsi 4…

Ekspresi di atas berarti, untuk masukan x yang diberikan, fungsi mengembalikan nilai 3 / (x-2).

Jadi ya, bagaimana kita menentukan domain dari fungsi ini? Dengan kata lain, nilai x apa yang membuat ekspresi ini valid?

Tanpa batasan lain, x harus dapat menggunakan Real-number kecuali 2. Ini karena 3 / (2–2) ilegal dan akan memunculkan ZeroDivisionError.

Oleh karena itu domainnya adalah (x! = 2), atau x! = 2.

Untuk mencari range, kita perlu mencari nilai-nilai y sehingga terdapat bilangan real x di domain dengan properti (3 / (x + 2)) = y.

Karena x dapat berupa bilangan real apa pun selain 2. Dan 3 dibagi dengan (bilangan real apa pun ditambah 2) tidak boleh sama dengan 0.

Oleh karena itu kisarannya adalah (y! = 0) atau y! = 0.

Ringkasan

Foto oleh Kelly Sikkema di Unsplash

Contoh terakhir di atas memang agak rumit, tetapi mengikuti pola umum yang sama dalam menemukan elemen hukum domain berdasarkan aturan. Kemudian, petakan elemen-elemen ini ke kisaran.

Fungsi sangat penting untuk pemrograman secara umum dan AI pada khususnya. Saat kita membangun model, mengimpor perpustakaan dengan banyak fungsi lain atau menulis milik kita sesuai kebutuhan. Mari sadar akan domain, aturan, dan jangkauan fungsi kita. Lampirkan docstring yang bisa dibaca manusia ke setiap fungsi, kecuali nama dan nama variabelnya sangat jelas.

Terima kasih atas waktunya.

Bersulang!

Kredit:

Pembelajaran mendalam dengan Python (Francois Chollet)

Montereyinstitute.org

Openstax.org

penguasaan pembelajaran mesin

Tentang saya:

Lawrence adalah Spesialis Data di Tech Layer, bersemangat tentang AI dan Ilmu Data yang adil dan dapat dijelaskan. Saya memegang sertifikasi Data Science Professional dan Advanced Data Science Professional dari IBM. dan Udacity AI Nanodegree. Saya telah melakukan beberapa proyek menggunakan perpustakaan ML dan DL, saya suka membuat kode fungsi saya sebanyak mungkin bahkan ketika perpustakaan yang ada berlimpah. Terakhir, saya tidak pernah berhenti belajar, menjelajah, mendapatkan sertifikasi, dan berbagi pengalaman melalui artikel berwawasan…

Jangan ragu untuk menemukan saya di: –

Github

Linkedin

Indonesia.

Understanding Functions in AI awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.

Diterbitkan melalui Towards AI