Lewati ke konten utama

Apa Itu Fungsi dalam Matematika? Penjelasan Intuitif

Pelajari tentang fungsi matematika: apa itu, bagaimana kaitannya dengan fungsi pemrograman, dan bagaimana fungsi digunakan dalam pemodelan machine learning.
Diperbarui 29 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Calon dan pemula data scientist sering melihat istilah "function" digunakan, tetapi tidak selalu jelas apa sebenarnya artinya. 

Dalam artikel ini, Anda akan mempelajari apa itu fungsi matematika, himpunan apa yang menggambarkan nilai masukan dan keluarannya, serta bagaimana perbedaan antara nilai kontinu dan diskret. Anda akan mengeksplorasi bagaimana fungsi digunakan dalam teknologi, fungsi umum dalam data science, dan bagaimana fungsi dioptimalkan. Sepanjang jalan, Anda akan melihat kode Python untuk memanipulasi dan memplot fungsi.

Jika Anda ingin berlatih menulis dan menggunakan fungsi Anda sendiri di Python, saya merekomendasikan mengikuti kursus Writing Functions in Python kami.

Apa Itu Fungsi dalam Matematika?

Dalam matematika, fungsi memetakan setiap masukan ke satu keluaran yang unik. Setiap masukan yang valid dikirim ke tepat satu keluaran. Satu masukan tidak bisa memiliki banyak keluaran.

Misalnya, 32 derajat Fahrenheit adalah 0 Celsius. Nilai Fahrenheit berkorelasi dengan satu nilai dalam Celsius; dan hanya berkorelasi dengan satu nilai. Anda tidak bisa memiliki dua nilai keluaran (Celsius) berbeda untuk satu masukan (Fahrenheit) yang valid. 

Contoh lain termasuk penggajian, di mana Anda dibayar sejumlah per jam. Jika Anda menghasilkan $20 per jam dan bekerja 40 jam, Anda mendapatkan 20 x 40 = $800.

Tidak semua aturan adalah fungsi. Dalam beberapa kasus, secara logis masuk akal memiliki banyak keluaran untuk satu masukan. Misalnya, mencocokkan sebuah nama ke seseorang bukanlah fungsi. Nama "John Smith" bisa memetakan ke sejumlah orang yang semuanya berbagi nama ini.

Dalam matematika, aturan sering diatur sedemikian rupa sehingga hanya ada satu keluaran per masukan yang valid. Dalam banyak kasus, ini memang secara eksplisit sesuai dengan cara dunia bekerja (penggajian). Dalam kasus lain, masalah diformulasikan dalam istilah fungsi karena membuat masalahnya lebih terkelola. Alih-alih mengikuti benang kusut masukan dan keluaran, model diatur sedemikian rupa sehingga setiap masukan tidak bisa memiliki banyak keluaran.

Anda bisa memikirkan fungsi sebagai sebuah "mesin" yang menerima masukan (sering dilambangkan x), memprosesnya dengan suatu cara, dan menghasilkan keluaran (sering dilambangkan y).

Metafora mesin sebagai fungsi, mengubah input menjadi output

Di sini, sebuah mesin menerima masukan dari ban berjalan di sisi kiri, memprosesnya, dan menghasilkan tanda centang hijau ceria di sisi kanan.

Multivariat menerima sekumpulan banyak masukan tetapi hanya menghasilkan satu keluaran. Anda bisa menganggap ini sebagai memasukkan satu baris data yang terdiri dari beberapa variabel atau fitur yang dipetakan ke satu keluaran.

Notasi dan terminologi fungsi

Bagaimana cara menuliskan persamaannya? Dalam contoh konversi suhu, kita bisa menulis rumus sebagai y = f(x) = (5/9) (x - 32), dengan x adalah suhu dalam Fahrenheit dan y dalam Celsius. Untuk memahami notasi ini, bacalah dari kiri ke kanan. 

Di sebelah kiri, Anda melihat y, yaitu keluaran. Notasi f(x) menunjukkan bahwa Anda menggunakan suatu fungsi, bernama f, yang menerima masukan x. Perhatikan bahwa dalam konteks ini, f(x) tidak berarti suatu nilai f dikalikan dengan nilai lain x. 

Di sebelah kanan ada rumusnya. Rumus tersebut mengatakan untuk mengambil masukan x, menguranginya dengan 32, dan mengalikan hasil ini dengan 5/9.

Domain, kodomain, dan range

Misalkan Anda mencatat suhu luar ruangan sekali sehari dan telah mengumpulkan k pengukuran, dilambangkan (x1, x2, …, xk). Anda menginginkan fungsi yang mengembalikan suhu rata-rata year-to-date setelah n hari berlalu. Definisikan fungsi yang menerima bilangan bulat positif n kurang dari atau sama dengan k yang mengembalikan rata-rata dari n suhu pertama, yang merupakan bilangan real. Notasi untuk fungsi seperti itu adalah f: {1, 2, …, k} → ℝ.

Akan membantu jika memiliki jargon untuk menggambarkan himpunan dalam fungsi, yang membawa kita pada domain, kodomain, dan range. 

  • Domain adalah nama untuk himpunan yang menggambarkan masukan, dalam hal ini, bilangan bulat. 
  • Kodomain adalah himpunan yang menggambarkan jenis keluaran yang Anda maksudkan, dalam hal ini, bilangan real.

Sekarang, mari kita lihat range. Pertimbangkan fungsi kuadrat sederhana: y = f(x) = x2. Untuk menentukan domain dan kodomain, tulis f: ℝ → ℝ. 

Sekarang Anda tahu bahwa ini menunjukkan bahwa domain (himpunan masukan) dan kodomain (himpunan keluaran) sama-sama terdiri dari bilangan real. Namun, jika dipikirkan, Anda mungkin menyadari bahwa himpunan keluaran tidak bisa semua bilangan real. 

Karena setiap bilangan yang dikuadratkan tidak negatif, himpunan keluaran yang benar-benar terealisasi bukanlah semua bilangan real, melainkan hanya bilangan real tak negatif. Istilah untuk menggambarkan situasi ini adalah range. Kita mengatakan range fungsi ini adalah semua bilangan real tak negatif. 

Kodomain adalah himpunan keluaran potensial; range adalah himpunan keluaran aktual. Anda memilih kodomain untuk mencerminkan jenis keluaran yang Anda maksudkan, dan Anda menemukan range, yaitu himpunan nilai keluaran yang benar-benar terealisasi.

Variabel kontinu dan diskret

Ini membawa kita pada pembedaan antara variabel kontinu dan diskret:

  • Kontinu mengambil setiap nilai teoretis dalam suatu rentang tertentu. 
  • Diskret mengambil sejumlah nilai yang berhingga atau dapat dihitung. 

Misalnya, variabel kontinu dalam [0, 1] bisa mengambil nilai 0, 0,5, 0,4141, atau nilai real lainnya dalam rentang tersebut. Variabel kontinu umum digunakan dalam model di mana keluarannya secara teoretis bisa berupa nilai apa pun, seperti dalam regresi.

Namun, dalam klasifikasi biner, Anda hanya peduli pada dua nilai: 0 dan 1. Misalnya, sebuah gambar mengandung kucing atau tidak. Dalam masalah klasifikasi multikelas, Anda tetap hanya memiliki sejumlah nilai berhingga, misalnya 0 untuk anjing, 1 untuk kucing, 2 untuk kuda.

Masalah yang ingin Anda selesaikan menentukan jenis fungsi yang Anda minati. Masalah klasifikasi menghasilkan nilai diskret; masalah regresi menghasilkan fungsi kontinu.

Notasi vektor

Terkadang Anda perlu memasukkan beberapa variabel ke dalam sebuah fungsi. Misalnya, Anda mungkin memasukkan satu baris fitur ke dalam fungsi machine learning. Dalam kasus ini, Anda dapat mengelompokkan fitur ke dalam satu wadah dan memasukkannya. Salah satu cara mengelompokkan data ke dalam wadah seperti ini adalah melalui vektor. Model menerima vektor masukan x = [x1, x2, x3] dan menghasilkan target y.

Dalam Python, Anda biasanya menggunakan array NumPy untuk merepresentasikan vektor.

import numpy as np

def f(x):
    result = (x[0] + x[1] + x[2]) / 3
    return result

x = [3, 4, 7.1]
print(f(x))
4.7

Kode ini mengambil vektor yang terdiri dari angka 3, 4, dan 7,1 dan mengembalikan nilai rata-ratanya.

Untuk sekumpulan vektor, salah satu metode populer adalah menggunakan struktur data DataFrame dari pustaka pandas. 

import pandas as pd

def row_averages(df):
    return df.mean(axis=1).round(1)

df = pd.DataFrame({
    "A": [1, 5, 2],
    "B": [9, 3, 6],
    "C": [7, 8, 10]
})

print(row_averages(df))

Kode ini mengembalikan pandas Series yang berisi rata-rata per baris, satu nilai per baris. Dalam kasus ini:

0    5.7
1    5.3
2    6.0

Fungsi dalam Teknologi

Konsep fungsi sangat umum dalam teknologi. Untuk alasan praktis, perlu disadari bahwa "fungsi" tidak selalu didefinisikan seketat dalam teknologi seperti dalam matematika. Misalnya, fungsi pemrograman dapat memiliki efek samping yang mengubah nilai variabel selain keluaran, sedangkan fungsi matematika tidak.

Spreadsheet

Fungsi digunakan secara luas dalam spreadsheet, misalnya dalam Excel Formulas. Anda mungkin ingin menghitung jumlah, mean, atau median dari sebuah kolom angka. Untuk spreadsheet, fungsi mengikuti definisi yang sama seperti fungsi matematika yang diperkenalkan sebelumnya.

Salah satu hal yang sangat diunggulkan spreadsheet (pun intended) adalah Conditional Functions: Fitur ini memungkinkan Anda membangun struktur bersyarat yang lebih kompleks menggunakan fungsi seperti IF(). 

Misalnya, Anda mungkin ingin mencari total pembayaran yang dilakukan ke perusahaan hipotek Anda selama setahun. Untuk melakukannya, Anda kemungkinan akan menggunakan fungsi SUM() pada spreadsheet Anda.

Bahasa Pemrograman

Fungsi ada di mana-mana dalam bahasa pemrograman. Bergantung pada bahasanya, definisi "fungsi" mungkin lebih longgar daripada fungsi matematika. Beberapa bahasa mengizinkan sebuah fungsi mengembalikan banyak nilai, atau tidak mengembalikan nilai sama sekali. 

Misalnya, sebuah fungsi mungkin menerima nilai dan mencetak sebuah pernyataan, tetapi tidak secara eksplisit mengembalikan nilai. Fungsi Python tampak seperti ini:

def print_me(name, color):
       print(f"My name is {name} and my favorite color is {color}.")

name = "Mark"
color = "blue"
print_me(name, color)

Kode ini menghasilkan keluaran: "My name is Mark and my favorite color is blue." Tidak ada nilai matematika yang secara eksplisit dikembalikan dari fungsi tersebut.

Kode dalam banyak bahasa arus utama, seperti Python, juga mungkin memiliki efek samping lain dalam sebuah fungsi, seperti mengubah nilai variabel global. Meskipun efek samping mungkin dan diizinkan, hal tersebut tidak dianjurkan. Efek samping membuat program lebih sulit diuji, di-debug, dan dipikirkan.

Untuk alasan ini, beberapa bahasa "fungsional", seperti Scala dan Haskell, lebih ketat didasarkan pada gagasan fungsi. 

Machine Learning

Dalam konteks Machine Learning, masukan adalah fitur, fungsi adalah model, dan keluaran adalah prediksi model. Model seperti itu sering digambarkan sebagai "kotak hitam" karena tidak selalu jelas bagaimana fitur masukan diproses untuk menghasilkan prediksi keluaran, itulah sebabnya metafora ”mesin” kita sebelumnya semakin pas:

Metafora mesin sebagai fungsi, mengubah dua input menjadi sebuah prediksi

Dalam ilustrasi ini, fitur dimasukkan ke dalam "mesin" model, yang memprosesnya dengan suatu cara dan menghasilkan sebuah prediksi. Dibandingkan dengan fungsi deterministik yang lebih sederhana seperti contoh konversi suhu, apa yang terjadi di dalam mesin lebih sulit dijelaskan.

Dalam ML, domain adalah vektor fitur; kodomain bisa berupa probabilitas, kelas, atau prediksi bernilai real.

Di ranah Deep Learning, fungsi biasanya tidak langsung diterapkan pada sekumpulan masukan, tetapi kebenaran model dinilai menggunakan fungsi biaya. Cost Function adalah u

kuran seberapa salah sebuah model di seluruh set pelatihan. Fungsi ini membandingkan prediksi dengan label atau nilai sebenarnya dan mengagregasikan kesalahan menjadi satu angka.

Fungsi Umum dalam Data Science

Fungsi tertentu muncul hampir di mana-mana dalam data science. Fungsi-fungsi ini mencakup fungsi linear, logaritmik, dan eksponensial, serta fungsi aktivasi non-linear untuk deep learning.

Fungsi linear

Mari mulai dengan contoh klasik, fungsi linear.

Kemiringan (slope)

Misalkan Anda ingin makan apel. Anda pergi ke toko bahan makanan yang menjual apel dengan harga tetap $0,75 per pon. Jadi satu pon apel berharga $0,75, 2 pon berharga 2 x $0,75 = $1,50, dan 3 pon berharga 3 x $0,75 = $2,25. Setiap pon yang Anda beli menambah jumlah tetap pada total biaya.

Dalam notasi fungsi, Anda dapat menulis rumus sebagai f(x) = 0.75 x. Angka 0,75 adalah kemiringan (slope) dari fungsi linear. Kemiringan adalah laju perubahan keluaran terhadap setiap perubahan satuan pada masukan.

Untuk memplot fungsi seperti itu, Anda bisa menggunakan kode serupa berikut:

import numpy as np
import matplotlib.pyplot as plt

def cost_of_apples(x, m):
    result = m * x
    return result

# Define x and y
x = np.linspace(0, 5, 100)
y = cost_of_apples(x, 0.75)

# Plot
plt.figure()
plt.plot(x, y)
plt.xlabel("Pounds of Apples")
plt.ylabel("Total Cost ($)")
plt.title("Cost of Apples")
plt.show()

Fungsi linear

Fungsi seperti ini disebut fungsi linear. Setiap kenaikan pada masukan, x, menyumbang jumlah tetap yang sama pada keluaran, y. Seperti namanya, ketika diplot, fungsi linear menghasilkan garis.

Intersep

Sekarang, misalkan Anda suka bahan makanan diantar. Toko tersebut memiliki biaya pengantaran flat $2,00. Dalam hal ini, fungsi untuk apel Anda adalah f(x) = 0.75 x + 2. Seperti sebelumnya, 0,75 adalah kemiringan (slope). Angka 2, yaitu titik di mana grafik memotong sumbu y, dikenal sebagai "titik potong y" atau y-intercept. Ini adalah nilai keluaran ketika masukan 0. 

Total biaya adalah penjumlahan biaya apel dan biaya pengantaran. Secara umum, fungsi linear univariat dapat ditulis sebagai f(x) = mx + b, di mana nilai m disebut kemiringan (slope) dan b disebut titik potong y (y-intercept). 

Fungsi linear multivariat

Anda mungkin ingin makan lebih dari sekadar apel. Misalkan Anda juga ingin membeli roti dan selai kacang. Apel berharga $0,75 per pon, satu roti berharga $2,50, dan satu toples selai kacang berharga $3,00. Sekarang, fungsi tagihan belanja Anda adalah:

1.png

Fungsi ini masih dianggap linear karena linear terhadap masing-masing variabel. Secara umum, fungsi linear berbentuk:

2.png

Ini setara dengan menjumlahkan setiap kuantitas yang Anda beli dikalikan dengan bobotnya (istilah lain untuk kemiringan yang digunakan dalam konteks ini), ditambah intersep.

Dalam notasi vektor, fungsi ini ditulis sebagai berikut:

3.png

Huruf T di sini berarti “transpose”, yang diperlukan untuk melakukan perkalian vektor untuk w dan x.

Regresi Linear

Pertimbangkan efisiensi bahan bakar versus kecepatan. Anda menduga bahwa saat berkendara lebih cepat, efisiensi bahan bakar menurun. Anda mengumpulkan lima puluh titik data antara kecepatan 45 dan 65 mil per jam dan melihat pola berikut:

Regresi Linear

Menghubungkan setiap titik data akan memberi Anda model berkelok-kelok yang sulit dibaca dan tidak membantu. Namun tren umum datanya kira-kira linear pada rentang ini. Jika kita menyebut kecepatan sebagai x, fungsi untuk grafik ini adalah:

4.png

Untuk menemukan garis seperti ini yang paling sesuai dengan data, Anda menggunakan proses matematika yang disebut Regresi Linear Sederhana.

Anda dapat menghitung garis seperti itu di Python menggunakan Matplotlib dan Seaborn:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Reproducibility
np.random.seed(0)

# Create dataset
speed = np.linspace(45, 65, 50)
mpg = 38 - 0.2 * speed + 0.002 * (speed - 55)**2 + np.random.normal(0, 0.5, size=50)

df = pd.DataFrame({
    "speed": speed,
    "mpg": mpg
})

# Plot with regression line
sns.regplot(data=df, x="speed", y="mpg", ci=None)

plt.xlabel("Speed (mph)")
plt.ylabel("Fuel Efficiency (mpg)")
plt.title("Fuel Efficiency vs Speed")
plt.show()

Regresi linear bekerja dengan banyak variabel. Misalnya Anda ingin mendefinisikan model regresi linear untuk kecepatan (x), bobot kendaraan (y), dan ukuran mesin (z). Rumus yang dihasilkan untuk Regresi Linear Multivariat adalah:

5.png

Dalam kasus ini, koefisien untuk setiap variabel merepresentasikan bobot atau pentingnya fitur tersebut, sambil menahan variabel lain tetap.

Fungsi invers

Sekarang, mari "membalik" pertanyaan membeli apel: jika Anda menghabiskan $2,25 untuk apel, berapa pon yang Anda beli? Jawabannya adalah 2,25 / 0,75 = 3, jadi Anda membeli tiga pon. Jenis "pembalikan" fungsi seperti ini disebut invers dari fungsi tersebut. Dalam contoh tanpa intersep, inversnya adalah: 

1.png

Perhatikan bahwa dalam notasi ini, "-1" menunjukkan bahwa Anda mengambil invers dari suatu fungsi, bukan resiprok.

Satu hal yang perlu diperhatikan adalah domain dapat berubah. Misalnya, misalkan fungsi awal Anda adalah:

2.png

Fungsi ini didefinisikan untuk semua bilangan real kecuali 2, karena penyebut tidak boleh nol. Invers dari fungsi ini adalah 

3.png

Dengan alasan yang sama, fungsi invers didefinisikan untuk semua masukan kecuali 0. 

Hal lain yang perlu diwaspadai adalah bahwa invers yang dihasilkan mungkin bukan suatu fungsi karena memiliki banyak keluaran untuk satu masukan. Pertimbangkan fungsi y = x2. Kebalikannya adalah:

4.png

Seperti yang terlihat dari tanda plus/minus, invers memiliki dua keluaran untuk satu masukan, sehingga bukan fungsi kecuali kita membatasi domain (misalnya, ke x ≥ 0)

Secara grafis, sebuah fungsi dan inversnya (jika ada) adalah bayangan cermin terhadap garis y=x. Pertimbangkan fungsi y = x3. Grafik fungsi ini dan inversnya adalah:Fungsi invers sebagai cermin dari fungsi asli

Fungsi asli (berwarna biru) memiliki invers (berwarna oranye) yang dipantulkan terhadap garis y = x.

Fungsi eksponensial dan logaritmik

Mari kita lihat dua jenis fungsi yang saling berkaitan erat: fungsi eksponensial dan logaritmik.

Fungsi eksponensial

Misalkan Anda menyetor $100 ke rekening tabungan yang memberikan bunga 10%, berbunga tahunan.

  • Pada tahun ke-0 (sebelum setahun berlalu), f(0) = $100.
  • Setelah tahun ke-1, f(1) = $100 x 1,10 = $110.
  • Setelah tahun ke-2, f(2) = $110 x 1,10  = ($100 x 1,10) x 1,10 = $100 x 1,102 = $121.
  • Setelah tahun ke-3, f(3) = $121 x 1,10 = ($100 x 1,10 x 1,10) x 1,10 = $100 x 1,103 = $133,10
  • Setelah tahun ke-x, f(x) = $100 * 1,10x.

fungsi eksponensial

Ini adalah contoh pertumbuhan eksponensial. Setiap langkah mengalikan langkah sebelumnya dengan jumlah tetap. Fungsi umum untuk pertumbuhan eksponensial adalah y = A bx, di mana y adalah keluaran, x adalah masukan (sering kali waktu), A adalah jumlah awal, dan b adalah faktor pertumbuhan per satuan x.

Dalam data science, model eksponensial muncul dalam proses pertumbuhan majemuk seperti pertumbuhan pengguna atau pendapatan, dalam model probabilitas, dan banyak aplikasi lainnya.

Fungsi logaritmik

Fungsi logaritmik membalikkan pertanyaan ini. Sekarang, alih-alih menanyakan jumlah setelah x waktu berlalu, misalkan Anda ingin tahu berapa lama Anda perlu membiarkan uang Anda tumbuh untuk mencapai $200, jika diasumsikan faktor penggandaan 10%. 

  • Susun persamaan: 200 = 100 * 1,10x 
  • Bagi setiap sisi dengan 100: 2 = 1 * 1,10x 

Sekarang kita perlu mengetahui berapa kali 1,10 dikalikan dengan dirinya sendiri untuk mendapatkan 2. Inilah pertanyaan yang dijawab oleh logaritma. 

Fungsi logaritmik

Melihat grafiknya, kita melihat bahwa akan memakan waktu sedikit lebih dari 7 tahun agar uang kita menjadi dua kali lipat.

Seperti yang telah kita bahas, fungsi logaritmik adalah invers dari fungsi eksponensial. Model eksponensial menanyakan pertanyaan seperti: setelah x bulan, berapa tingkat pertumbuhannya? Model logaritmik menanyakan: dengan tingkat pertumbuhan tertentu, berapa bulan yang dibutuhkan untuk mencapainya?

Data scientist sering menggunakan logaritma untuk membuat distribusi yang miring menjadi lebih mudah ditangani. Misalnya, distribusi pendapatan biasanya sangat condong ke kanan: beberapa berpenghasilan tinggi meregangkan bagian atas distribusi, sementara sebagian besar orang mengelompok di sisi rendah. 

Distribusi pendapatan yang umum

Anda dapat mentransformasikan data dengan mengambil logaritma dari setiap titik data:

Logaritma fungsi pendapatan menghasilkan distribusi mendekati normal

Pendapatan besar terkompresi sementara pendapatan lainnya lebih tersebar. Transformasi log mengubah pertanyaan dari perbedaan absolut menjadi perbedaan relatif. Akibatnya, ekor kanan yang panjang runtuh, dan distribusi sering menjadi kira-kira normal. Sekarang, varians lebih stabil, dan kita dapat menerapkan regresi linear.

Logaritma memainkan peran sentral dalam salah satu fungsi loss yang paling umum digunakan dalam klasifikasi biner, yang dikenal sebagai Cross-Entropy Loss atau log loss, yang didefinisikan untuk satu sampel sebagai:

5.png

Di sini, variabel biner y (0 atau 1) adalah nilai sebenarnya untuk sebuah sampel, dan p adalah probabilitas yang diprediksi bahwa y adalah kelas 1. 

  • Jika y adalah 1, loss adalah -log(p), yang menghukum Anda lebih besar semakin dekat p ke 0.
  • Jika y adalah 0, loss adalah -log(1-p), yang menghukum Anda lebih besar semakin dekat p ke 1. 

Log loss sangat menghukum prediksi yang yakin namun salah. Memprediksi probabilitas mendekati 0 ketika label sebenarnya adalah 1 (atau sebaliknya) menghasilkan penalti besar, sementara prediksi yang tidak pasti menimbulkan penalti yang lebih kecil. Ini membuat log loss sangat cocok untuk melatih pengklasifikasi probabilistik seperti Logistic Regression.

Fungsi aktivasi non-linear

Fungsi aktivasi digunakan dalam neural network untuk memastikan keluaran setiap layer bersifat non-linear. Fungsi aktivasi umum adalah sigmoid dan ReLU.

Fungsi sigmoid

Fungsi Sigmoid adalah fungsi halus berbentuk S yang didefinisikan oleh rumus berikut:

6.png

Fungsi ini menerima bilangan real apa pun sebagai masukan dan menghasilkan nilai di antara 0 dan 1 secara ketat. Fungsi ini digunakan untuk mengonversi skor mentah menjadi probabilitas. 

Fungsi Sigmoid

Kasus penggunaan umum fungsi sigmoid adalah dalam regresi logistik untuk klasifikasi biner. Regresi logistik menghitung kombinasi linear dari masukan untuk menghasilkan skor. Skor tersebut kemudian diubah menjadi probabilitas menggunakan fungsi sigmoid. Probabilitas di atas ambang batas (biasanya 0,5) diklasifikasikan sebagai 1, dan yang di bawah ambang batas diklasifikasikan sebagai 0.

Untuk mengetahui lebih lanjut, lihat tutorial Python Logistic Regression dan Logistic Regression in R kami.  

ReLU (rectified linear unit)

Rectified Linear Unit (ReLU) mengonversi bilangan negatif menjadi 0 dan membiarkan bilangan positif tidak berubah. Didefinisikan sebagai:

7.png

Untuk nilai di atas 0, fungsi ini sama dengan fungsi identitas, seperti yang terlihat pada grafiknya:

Fungsi ReLU

Seperti fungsi sigmoid, fungsi ini bertindak sebagai fungsi aktivasi non-linear pada hidden layer dari sebuah Neural Network. Namun, fungsi ini secara komputasional sederhana, hanya memerlukan operasi maksimum, sedangkan sigmoid memerlukan pemanggilan fungsi eksponensial yang mahal. 

Karena ReLU mengatur semua nilai negatif menjadi 0, fungsi ini menghasilkan sparsitas dalam jaringan, di mana banyak neuron dinolkan. Hal ini dapat mengurangi noise dan menghasilkan representasi yang lebih efisien. 

Decision tree sebagai fungsi potongan (piecewise)

Bentuk lain dari fungsi non-linear dapat ditemukan dalam decision tree, yang secara rekursif membagi ruang masukan menjadi wilayah yang lebih kecil dengan memisahkan berdasarkan fitur dan ambang hingga kriteria penghentian terpenuhi. 

Setiap node daun yang dihasilkan diberi nilai prediksi. Dengan demikian, decision tree dapat dipandang sebagai fungsi potongan, di mana setiap wilayah domain dipetakan ke nilai prediksi konstan. Dengan merangkai banyak aturan lokal, decision tree dapat menangkap pola kompleks.

Misalnya, Anda mungkin melihat wilayah dua dimensi dipartisi sebagai berikut:

Decision tree sebagai bagan area

Peta panas ini berkorelasi dengan wilayah berikut:

Wilayah

Potongan domain

Nilai fungsi

1

x1 < 3 dan x2 < 4

1

2

x1 < 3 dan x2 >= 4

2

3

3 ≤ x1 < 6 dan x2 < 2,5

3

4

3 ≤ x1 < 6 dan  2,5 ≤ x2 < 7

4

5

3 ≤ x1 < 6 dan x2 ≥ 7

5

6

x1 ≥ 6 dan x2 < 5

6

7

x1 ≥ 6 dan x2 ≥ 5

7

Optimisasi Fungsi

Optimisasi fungsi adalah proses menemukan nilai masukan yang memaksimalkan atau meminimalkan suatu fungsi. Misalnya, Anda mungkin ingin memaksimalkan fungsi laba atau meminimalkan fungsi galat. Kajian tentang optimisasi fungsi dikenal sebagai "riset operasi" dan merupakan himpunan teori matematika yang sangat besar dan terus berkembang.

Mengoptimalkan fungsi berkaitan erat dengan "ekstrema" lokal dan global suatu fungsi (titik maksimum atau minimum). "Minimum lokal" adalah minimum dalam rentang tertentu, dan "minimum global" adalah minimum keseluruhan fungsi. 

Sebagai contoh, pertimbangkan fungsi f(x) = x4 - 3x2 + x.

Fungsi dengan dua titik minimum

Ada dua minimum lokal: satu ketika x kira-kira -1,30 dan satu lagi ketika x kira-kira 1,13. Nilai y lebih rendah ketika x = -1,30, sehingga itu adalah minimum global fungsi.

Untuk tugas optimisasi sederhana seperti mencari harga terbaik untuk memaksimalkan laba dalam model harga satu variabel, cukup dengan mengambil turunan dari fungsi, menyetarakannya dengan nol, dan menyelesaikan x. Untuk melatih deep neural network, tidak sesederhana itu, tetapi bekerja dengan cara yang serupa.

Metode optimisasi terpenting untuk Deep Learning adalah Gradient Descent. Gradien adalah generalisasi multi-dimensi dari kemiringan, yang memberi tahu kita bagaimana loss berubah terhadap setiap parameter.

Metode ini bekerja dengan berulang kali bergerak ke arah perubahan turunan paling curam dari suatu fungsi. Pada setiap langkah, ia menggunakan gradien untuk memutuskan arah gerak dan ukuran langkah untuk memutuskan seberapa jauh. Seiring waktu, proses ini mengarah menuju minimum lokal. 

Kesimpulan

Fungsi ada di mana-mana dalam matematika, pemrograman, dan data science. "Pembelajaran" dalam machine learning pada dasarnya adalah menemukan fungsi terbaik (beserta parameternya) untuk memetakan masukan ke keluaran. Sekarang setelah Anda memahami fungsi, cobalah menuliskannya dalam Python atau bahasa pemrograman favorit Anda!

Untuk melihat bagaimana gagasan ini menyatu dalam alur kerja machine learning nyata, Anda dapat melanjutkan dengan kursus Understanding Machine Learning.

Mathematical Functions FAQs

Apa itu fungsi dalam matematika?

Fungsi matematika adalah aturan yang memetakan setiap masukan ke tepat satu keluaran.

Mengapa fungsi matematika hanya memiliki satu keluaran?

Jika tidak, aturan tersebut bukan fungsi menurut definisi, karena akan menimbulkan ambiguitas.

Apakah fungsi pemrograman sama dengan fungsi matematika?

Tidak sepenuhnya. Fungsi pemrograman dapat memiliki efek samping atau bahkan tidak mengembalikan nilai yang berguna, yang tidak diperbolehkan dalam fungsi matematika.

Mengapa fungsi penting dalam data science?

Karena model adalah fungsi. Model mencocokkan fitur dengan prediksi, probabilitas, atau skor.

Apa itu domain dan kodomain dari suatu fungsi?

Domain adalah himpunan masukan yang valid. Kodomain adalah himpunan keluaran yang valid.


Mark Pedigo's photo
Author
Mark Pedigo
LinkedIn

Mark Pedigo, PhD, adalah seorang data scientist terkemuka dengan keahlian dalam data science kesehatan, pemrograman, dan pendidikan. Dengan gelar PhD di bidang Matematika, B.S. di bidang Ilmu Komputer, serta Sertifikat Profesional di bidang AI, Mark memadukan pengetahuan teknis dengan pemecahan masalah praktis. Kariernya mencakup peran dalam deteksi kecurangan, prediksi kematian bayi, dan peramalan keuangan, serta kontribusi pada perangkat lunak estimasi biaya NASA. Sebagai pendidik, ia telah mengajar di DataCamp dan Washington University in St. Louis serta membimbing programmer junior. Di waktu luang, Mark menikmati alam Minnesota bersama istrinya, Mandy, dan anjingnya, Harley, serta bermain piano jazz.

Topik
Data Science

Kursus Matematika

Kursus

Aljabar Linear untuk Data Science di R

4 jam
21.7K
Mata kuliah ini merupakan pengenalan terhadap aljabar linier, salah satu topik matematika paling penting yang mendasari ilmu data.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya