Lewati ke konten utama

Penjelasan Fungsi Loss dalam Machine Learning

Pelajari fungsi loss dalam machine learning, termasuk perbedaan antara loss dan cost function, jenis seperti MSE dan MAE, serta penerapannya dalam tugas ML.
Diperbarui 5 Jun 2026  · 12 mnt baca

Machine learning dan algoritme serta teknik terkait pada dasarnya melibatkan perancangan, penerapan, dan pelatihan algoritme untuk mengenali pola dalam data yang diberikan serta melakukan prediksi atau klasifikasi.

Algoritme machine learning belajar melalui berbagai metode, tetapi komponen mendasar dari proses pembelajaran algoritme dan model machine learning adalah fungsi loss. Fungsi loss adalah proses matematis yang mengukur selisih kesalahan antara prediksi model dan nilai target sebenarnya. Pada bagian selanjutnya, kita akan menelaah fungsi loss secara mendalam.

Ringkasnya

  • Fungsi loss mengukur kesenjangan antara prediksi model dan nilai target sebenarnya, membimbing algoritme untuk menyesuaikan bobot dan meningkatkan akurasi.
  • Untuk regresi, gunakan MSE saat Anda ingin memberi penalti besar pada kesalahan besar, MAE saat outlier perlu diperlakukan setara, atau Huber Loss untuk menyeimbangkan keduanya.
  • Untuk klasifikasi, Binary Cross-Entropy cocok untuk dua kelas, Categorical Cross-Entropy untuk multikelas, dan Hinge Loss untuk pengklasifikasi berbasis margin seperti SVM.
  • Pustaka seperti scikit-learn, TensorFlow, dan PyTorch menyediakan fungsi loss paling umum secara bawaan.

Sekilas tentang Fungsi Loss

Fungsi loss adalah cara terukur untuk menilai kinerja dan akurasi model machine learning. Dalam hal ini, fungsi loss bertindak sebagai panduan bagi proses pembelajaran dalam model atau algoritme machine learning.

Peran fungsi loss sangat penting dalam pelatihan model machine learning dan mencakup hal-hal berikut:

  • Pengukuran kinerja: Fungsi loss memberikan metrik yang jelas untuk mengevaluasi kinerja model dengan mengkuantifikasi perbedaan antara prediksi dan hasil aktual.
  • Arah perbaikan: Fungsi loss membimbing perbaikan model dengan mengarahkan algoritme untuk menyesuaikan parameter (bobot) secara iteratif guna mengurangi loss dan memperbaiki prediksi.
  • Menyeimbangkan bias dan varians: Fungsi loss yang efektif membantu menyeimbangkan bias model (terlalu menyederhanakan) dan varians (overfitting), yang penting agar model dapat melakukan generalisasi ke data baru.
  • Mempengaruhi perilaku model: Fungsi loss tertentu dapat memengaruhi perilaku model, misalnya menjadi lebih tangguh terhadap outlier data atau memprioritaskan jenis kesalahan tertentu.

Mari jelajahi peran fungsi loss tertentu pada bagian-bagian berikut sambil membangun intuisi dan pemahaman yang lebih mendalam.

Apa itu Fungsi Loss?

Fungsi loss, yang juga disebut fungsi error, adalah komponen krusial dalam machine learning yang mengkuantifikasi perbedaan antara keluaran prediksi algoritme machine learning dan nilai target sebenarnya.

Sebagai contoh, dalam masalah regresi untuk memprediksi harga mobil berdasarkan data historis, fungsi loss mengevaluasi prediksi jaringan saraf berdasarkan sampel pelatihan dari dataset latih. Fungsi loss mengukur celah atau margin kesalahan antara harga mobil yang diprediksi jaringan dan harga sebenarnya.

Nilai yang dihasilkan, yaitu loss, mencerminkan akurasi prediksi model. Selama pelatihan, algoritme pembelajaran seperti backpropagation menggunakan gradien dari fungsi loss terhadap parameter model untuk menyesuaikan parameter tersebut dan meminimalkan loss, sehingga meningkatkan kinerja model pada dataset.

diagram fungsi loss

Sering kali, istilah loss function dan cost function digunakan secara bergantian; meskipun demikian, keduanya memiliki definisi yang berbeda:

Seperti disebutkan sebelumnya, fungsi loss, juga dikenal sebagai fungsi error, mengukur seberapa baik satu prediksi algoritme machine learning dibandingkan nilai target sebenarnya. Intinya adalah bahwa fungsi loss berlaku untuk satu contoh pelatihan dan merupakan bagian dari proses pembelajaran model secara keseluruhan yang memberikan sinyal bagi algoritme pembelajaran untuk memperbarui bobot dan parameter.

Cost function, kadang disebut objective function, adalah rata-rata fungsi loss dari seluruh set pelatihan yang berisi beberapa contoh pelatihan. Cost function mengukur kinerja model pada keseluruhan dataset pelatihan.

Mari selami lebih jauh bagaimana fungsi loss bekerja.

Cara Kerja Fungsi Loss

Walaupun ada berbagai jenis fungsi loss, pada dasarnya semuanya bekerja dengan mengkuantifikasi perbedaan antara prediksi model dan nilai target sebenarnya dalam dataset. Istilah resmi untuk kuantifikasi numerik ini adalah error prediksi. Algoritme dan mekanisme pembelajaran dalam model machine learning dioptimalkan untuk meminimalkan error prediksi, artinya setelah nilai fungsi loss dihitung—yang ditentukan oleh error prediksi—algoritme pembelajaran memanfaatkan informasi ini untuk melakukan pembaruan bobot dan parameter yang pada giliran berikutnya mengarah pada error prediksi yang lebih rendah.

Saat membahas fungsi loss, algoritme machine learning, dan proses pembelajaran dalam neural network, muncul topik Empirical Risk Minimization (ERM). ERM adalah pendekatan untuk memilih parameter optimal dari algoritme machine learning yang meminimalkan risiko empiris. Dalam konteks ini, risiko empiris adalah dataset pelatihan.

Komponen minimisasi risiko pada ERM adalah proses di mana algoritme pembelajaran internal meminimalkan kesalahan prediksi algoritme machine learning terhadap dataset yang dikenal, dengan harapan model memiliki kinerja dan akurasi yang diharapkan ketika dihadapkan pada dataset atau sampel data yang belum pernah dilihat namun memiliki distribusi statistik serupa dengan dataset awal pelatihan.

Jenis-Jenis Fungsi Loss

Fungsi loss dalam machine learning dapat dikategorikan berdasarkan tugas machine learning yang sesuai. Sebagian besar fungsi loss berlaku untuk masalah regresi dan klasifikasi. Pada tugas regresi, model diharapkan memprediksi nilai keluaran kontinu. Sebaliknya, pada tugas klasifikasi, model diharapkan memberikan label diskret yang sesuai dengan kelas dalam suatu dataset.

Di bawah ini adalah fungsi loss standar beserta klasifikasinya menurut jenis masalah machine learning yang paling cocok. Sebagian besar fungsi loss ini dibahas secara rinci pada bagian selanjutnya.

Fungsi Loss

Kecocokan untuk Klasifikasi

Kecocokan untuk Regresi

Mean Square Error (MSE) / L2 Loss

✖️

✔️

Mean Absolute Error (MAE) / L1 Loss

✖️

✔️

Binary Cross-Entropy Loss / Log Loss

✔️

✖️

Categorical Cross-Entropy Loss

✔️

✖️

Hinge Loss

✔️

✖️

Huber Loss / Smooth Mean Absolute Error

✖️

✔️

Log Loss

✔️

✖️

Fungsi Loss untuk Regresi

Mean Square Error (MSE) / L2 Loss

Mean Square Error (MSE) atau L2 loss adalah fungsi loss yang mengukur besarnya kesalahan antara prediksi algoritme machine learning dan keluaran aktual dengan mengambil rata-rata dari kuadrat selisih antara prediksi dan nilai target. Menguadratkan selisih antara prediksi dan nilai target aktual menghasilkan penalti lebih besar pada deviasi yang lebih signifikan dari nilai target. Rata-rata error menormalkan total error terhadap jumlah sampel dalam dataset atau observasi.

Persamaan matematis untuk Mean Square Error (MSE) atau L2 Loss adalah:

MSE = (1/n) * Σ(yᵢ - ȳ)²

Dengan:

  • n adalah jumlah sampel dalam dataset
  • yᵢ adalah nilai prediksi untuk sampel ke-i
  • ȳ adalah nilai target untuk sampel ke-i

Kapan menggunakan MSE

Memahami kapan menggunakan MSE sangat penting dalam pengembangan model machine learning. MSE adalah fungsi loss standar yang digunakan pada sebagian besar tugas regresi karena mengarahkan model untuk mengoptimalkan agar meminimalkan kuadrat selisih antara nilai prediksi dan target.

MSE direkomendasikan untuk skenario ML di mana proses pembelajaran diuntungkan jika outlier diberi penalti besar. Namun, karakteristik MSE ini tidak selalu cocok untuk skenario dan use case di mana outlier disebabkan oleh noise dalam data, bukan sinyal yang bermakna.

Contoh skenario penggunaan fungsi loss MSE adalah pada prediksi harga properti atau, lebih luas, pemodelan prediktif. Prediksi harga rumah melibatkan fitur seperti jumlah kamar, lokasi, luas, jarak dari fasilitas, dan fitur numerik lainnya. Harga rumah di wilayah lokal biasanya terdistribusi normal, sehingga tujuan untuk memberi penalti pada outlier penting bagi kemampuan model memprediksi harga rumah secara akurat.

Persentase kesalahan kecil pada properti dapat berujung pada nilai uang yang signifikan. Misalnya, kesalahan 5% pada rumah senilai $200.000 bernilai $10.000, yang cukup besar. Karenanya, menguadratkan kesalahan (seperti pada MSE) membantu memberikan bobot lebih tinggi pada kesalahan besar, sehingga mendorong model lebih presisi untuk properti bernilai tinggi.

Mean Absolute Error (MAE) / L1 Loss

Mean Absolute Error (MAE), juga dikenal sebagai L1 Loss, adalah fungsi loss untuk tugas regresi yang menghitung rata-rata selisih absolut antara nilai prediksi dari model machine learning dan nilai target sebenarnya. Berbeda dengan Mean Squared Error (MSE), MAE tidak menguadratkan selisih, sehingga semua kesalahan diberi bobot yang sama terlepas dari besarnya.

Persamaan matematis untuk Mean Absolute Error (MAE) atau L1 Loss adalah:

MAE = (1/n) * Σ|yᵢ - ȳ|

Dengan:

  • n adalah jumlah sampel dalam dataset
  • yᵢ adalah nilai prediksi untuk sampel ke-i
  • ȳ adalah nilai target untuk sampel ke-i

Kapan menggunakan MAE

MAE mengukur rata-rata selisih absolut antara nilai prediksi dan nilai aktual. Tidak seperti MSE, MAE tidak menguadratkan selisih, sehingga kurang sensitif terhadap outlier. Dibandingkan Mean Squared Error (MSE), Mean Absolute Error (MAE) secara inheren kurang sensitif terhadap outlier karena memberikan bobot yang sama pada semua kesalahan, berapa pun besarnya.

Ini berarti bahwa sementara outlier dapat sangat menggeser MSE dengan menyumbang kesalahan yang sangat besar saat dikuadratkan, dampaknya pada MAE jauh lebih terkendali. Pengaruh outlier terhadap metrik error keseluruhan menjadi minimal saat menggunakan MAE sebagai fungsi loss. Sebaliknya, MSE memperbesar efek outlier karena pengkuadratan error, sehingga lebih memengaruhi estimasi error model.

mae vs mse

Skenario yang cocok untuk MAE adalah ketika kita tidak ingin memberikan penalti besar atau sama sekali terhadap outlier, misalnya memprediksi waktu pengantaran untuk perusahaan layanan antar makanan.

Perusahaan layanan antar seperti UberEats, Deliveroo, atau DoorDash mungkin membangun model estimasi pengantaran untuk meningkatkan kepuasan pelanggan. Waktu yang dibutuhkan untuk mengantarkan makanan dipengaruhi oleh beberapa faktor seperti cuaca, insiden lalu lintas, pekerjaan jalan, dan sebagainya.

Menangani faktor-faktor ini sangat penting untuk estimasi waktu pengantaran. Salah satu caranya adalah mengklasifikasikan kejadian tersebut sebagai outlier namun memutuskan agar tidak memengaruhi model yang dilatih. MAE adalah fungsi loss yang sesuai dalam skenario ini karena akan memperlakukan titik data yang merupakan outlier akibat pekerjaan jalan atau kejadian langka dengan tingkat keparahan yang lebih rendah, sehingga mengurangi efek outlier pada metrik error dan proses pembelajaran model.

MAE secara mencolok memberikan pembobotan error yang seragam pada semua titik data; dalam skenario yang dijelaskan, memberi penalti pada titik data outlier dapat berujung pada estimasi waktu pengantaran yang berlebihan atau kurang.

Huber Loss / Smooth Mean Absolute Error

Huber Loss atau Smooth Mean Absolute Error adalah fungsi loss yang menggabungkan karakteristik menguntungkan dari Mean Absolute Error dan Mean Squared Error ke dalam satu fungsi loss. Sifat hibrida Huber Loss membuatnya kurang sensitif terhadap outlier, seperti MAE, namun juga memberi penalti pada kesalahan kecil dalam sampel data, mirip MSE. Fungsi Huber Loss juga digunakan pada tugas-tugas regresi.

Persamaan matematis untuk Huber Loss adalah sebagai berikut:

L(δ, y, f(x)) = (1/2) * (f(x) - y)^2   if |f(x) - y| <= δ
               = δ * |f(x) - y| - (1/2) * δ^2   if |f(x) - y| > δ

Dengan:

  • L merepresentasikan fungsi Huber Loss
  • δ adalah parameter delta, yang menentukan ambang peralihan antara komponen kuadratik dan linear pada fungsi loss
  • y adalah nilai sebenarnya atau nilai target
  • f(x) adalah nilai prediksi

Kapan menggunakan Huber Loss / Smooth Mean Absolute Error

Fungsi Huber Loss secara efektif menggabungkan dua komponen untuk menangani kesalahan secara berbeda, dengan titik transisi antar komponen ditentukan oleh ambang δ:

  • Komponen Kuadratik untuk Kesalahan Kecil: Untuk kesalahan yang lebih kecil dari δ, digunakan komponen kuadratik (1/2) * (f(x) - y)^2
  • Komponen Linear untuk Kesalahan Besar: Untuk kesalahan yang lebih besar dari δ, diterapkan komponen linear δ * |f(x) - y| - (1/2) * δ^2

Huber Loss bekerja dalam dua mode yang dipilih berdasarkan besarnya selisih terhitung antara nilai target sebenarnya dan prediksi algoritme. Istilah kunci pada Huber Loss adalah delta (δ). Delta adalah ambang yang menentukan batas numerik saat Huber Loss menggunakan perhitungan loss kuadratik atau linear.

Komponen kuadratik Huber Loss mencerminkan keunggulan MSE yang memberi penalti pada outlier; dalam Huber Loss, ini diterapkan pada kesalahan yang lebih kecil dari delta, yang memastikan prediksi model lebih akurat.

Jika kesalahan yang dihitung—yakni selisih antara nilai aktual dan prediksi—lebih besar dari delta, Huber Loss menggunakan perhitungan linear seperti MAE, yang kurang sensitif terhadap besarnya kesalahan untuk memastikan model yang dilatih tidak memberi penalti berlebihan pada kesalahan besar, terutama jika dataset mengandung outlier atau sampel data yang jarang terjadi.

Fungsi Loss untuk Klasifikasi

Binary Cross-Entropy Loss / Log Loss

Binary Cross-Entropy Loss (BCE) adalah ukuran kinerja untuk model klasifikasi yang menghasilkan prediksi berupa nilai probabilitas, biasanya antara 0 dan 1, dan nilai ini merepresentasikan kemungkinan sebuah sampel data termasuk ke suatu kelas atau kategori. Pada Binary Cross-Entropy Loss terdapat dua kelas yang berbeda. Namun, varian dari cross-entropy loss, yaitu Categorical Cross-Entropy, berlaku untuk skenario klasifikasi multikelas.

Untuk memahami Binary Cross-Entropy Loss, yang kadang disebut Log Loss, ada baiknya membahas komponennya.

  • Loss: Kuantifikasi matematis atas margin/selisih antara prediksi algoritme machine learning dan nilai target sebenarnya.
  • Entropi: Definisi sederhana entropi adalah perhitungan tingkat keacakan atau ketakberaturan dalam suatu sistem.
  • Cross Entropy: Istilah yang umum digunakan dalam teori informasi, mengukur perbedaan antara dua distribusi probabilitas yang dapat digunakan untuk mengidentifikasi suatu observasi.
  • Biner: Representasi digit numerik dengan dua keadaan, 0 atau 1. Ini diperluas ke definisi Klasifikasi Biner di mana kita membedakan dua kelas (A dan B) menggunakan representasi biner, dengan kelas A diberi representasi numerik 0 dan kelas B diberi 1.

Binary Cross Entropy Loss (atau Log Loss) adalah kuantifikasi perbedaan antara prediksi algoritme machine learning dan target sebenarnya yang dihitung dari nilai negatif penjumlahan logaritma probabilitas prediksi yang dibuat oleh algoritme terhadap jumlah total sampel data. BCE digunakan pada use case machine learning seperti regresi logistik dan dalam melatih jaringan saraf tiruan yang dirancang untuk memprediksi kemungkinan sebuah sampel data termasuk ke suatu kelas dan secara internal memanfaatkan fungsi aktivasi sigmoid.

Persamaan matematis untuk Binary Cross-Entropy Loss, juga dikenal sebagai Log Loss, adalah:

L(y, f(x)) = -[y * log(f(x)) + (1 - y) * log(1 - f(x))]

Dengan:

  • L merepresentasikan fungsi Binary Cross-Entropy Loss
  • y adalah label biner sebenarnya (0 atau 1)
  • f(x) adalah probabilitas terprediksi untuk kelas positif (antara 0 dan 1)

Kapan menggunakan Binary Cross-Entropy Loss / Log Loss

Persamaan di atas khusus berlaku untuk skenario di mana algoritme machine learning melakukan klasifikasi antara dua kelas. Ini adalah skenario klasifikasi biner.

Seperti terlihat pada persamaan dengan simbol negatif: ‘-’ BCE menghitung loss dengan menentukan nilai negatif dari dua suku, dan untuk beberapa prediksi atau sampel data, rata-rata dari negatif dua suku berikut:

  1. Logaritma probabilitas yang diprediksi model saat kelas positif hadir: y * log(f(x))
  2. Logaritma dari 1 dikurangi probabilitas terprediksi untuk kelas negatif: (1 - y) * log(1 - f(x))

Fungsi loss BCE memberi penalti pada prediksi yang tidak akurat, yaitu prediksi yang jauh dari kelas positif atau, dengan kata lain, memiliki kuantifikasi entropi yang tinggi. Ketika BCE digunakan sebagai komponen dalam algoritme pembelajaran, ini mendorong model untuk menyempurnakan prediksi probabilitas bagi kelas yang tepat selama pelatihan.

Hinge Loss

Hinge Loss adalah fungsi loss yang digunakan dalam machine learning untuk melatih pengklasifikasi yang mengoptimalkan margin antara titik data dan batas keputusan. Karena itu, fungsi ini terutama digunakan untuk klasifikasi margin maksimum. Untuk memastikan margin maksimum antara titik data dan batas, hinge loss memberi penalti pada prediksi model yang salah klasifikasi—yakni prediksi yang berada di sisi yang salah dari batas margin—serta prediksi yang benar namun berada sangat dekat dengan batas keputusan.

Karakteristik Hinge Loss ini memastikan model machine learning mampu memprediksi klasifikasi data ke nilai targetnya dengan tingkat keyakinan yang melampaui ambang batas keputusan. Pendekatan ini meningkatkan kemampuan generalisasi model, sehingga efektif dalam mengklasifikasikan data dengan tingkat kepastian yang tinggi.

Persamaan matematis untuk Hinge Loss adalah:

L(y, f(x)) = max(0, 1 - y * f(x))

Dengan:

  • L merepresentasikan Hinge Loss
  • y adalah label sebenarnya atau nilai target (-1 atau 1)
  • f(x) adalah nilai prediksi atau keluaran fungsi keputusan

Memilih Fungsi Loss yang Tepat

Memilih fungsi loss yang tepat untuk diterapkan pada algoritme machine learning sangatlah penting, karena kinerja model sangat bergantung pada kemampuan algoritme untuk belajar atau menyesuaikan bobot internal agar sesuai dengan dataset.

Kinerja model atau algoritme machine learning didefinisikan oleh fungsi loss yang digunakan, terutama karena komponen fungsi loss memengaruhi algoritme pembelajaran yang digunakan untuk meminimalkan nilai error loss atau cost function model. Intinya, fungsi loss berdampak pada kemampuan model untuk belajar dan menyesuaikan nilai bobot internalnya agar sesuai dengan pola dalam dataset.

Jika dipilih dengan tepat, fungsi loss memungkinkan algoritme pembelajaran berkonsolidasi secara efektif menuju loss optimal selama fase pelatihan dan melakukan generalisasi dengan baik pada sampel data yang belum terlihat. Fungsi loss yang sesuai bertindak sebagai pemandu, mengarahkan algoritme pembelajaran menuju akurasi dan keandalan, memastikan bahwa pola yang mendasari dalam data tertangkap sekaligus menghindari overfitting atau underfitting.

Faktor yang perlu dipertimbangkan saat memilih fungsi loss

Memahami jenis masalah machine learning yang dihadapi membantu menentukan kategori fungsi loss yang akan digunakan. Fungsi loss yang berbeda berlaku untuk masalah machine learning yang berbeda.

Klasifikasi vs Regresi

Tugas klasifikasi biasanya melibatkan pemberian label kategori tertentu pada titik data. Pada jenis tugas ini, keluaran model biasanya berupa serangkaian probabilitas yang menentukan kemungkinan suatu titik data memiliki label tertentu.

Fungsi loss cross-entropy umum digunakan untuk tugas klasifikasi. Pada tugas regresi, di mana tujuan model adalah menghasilkan prediksi berdasarkan serangkaian masukan, fungsi loss seperti mean squared error atau mean absolute error lebih sesuai.

Klasifikasi Biner vs Multikelas

Klasifikasi biner melibatkan pengelompokan sampel data ke dalam dua kategori berbeda, sedangkan klasifikasi multikelas, sesuai namanya, melibatkan lebih dari dua kategori. Untuk masalah klasifikasi yang hanya memiliki dua kelas (klasifikasi biner), paling tepat menggunakan binary cross-entropy. Pada situasi di mana lebih dari dua kelas menjadi target prediksi, gunakan categorical cross-entropy.

Sensitivitas

Faktor lain yang perlu dipertimbangkan adalah sensitivitas fungsi loss terhadap outlier. Pada beberapa skenario, diinginkan agar outlier dan sampel data yang menggeser distribusi statistik keseluruhan dataset diberi penalti selama pelatihan; pada skenario seperti ini, fungsi loss seperti mean squared error cocok.

Sedangkan pada skenario lain diperlukan sensitivitas yang lebih rendah terhadap outlier—misalnya ketika outlier merupakan peristiwa yang nyaris tidak pernah terjadi. Untuk tujuan ini, memberi penalti pada outlier dapat menghasilkan model yang kurang berkinerja. Fungsi loss seperti mean absolute error cocok pada skenario tersebut. Untuk mendapatkan keseimbangan, praktisi dapat mempertimbangkan Huber Loss, yang menggabungkan komponen yang memberi penalti pada outlier dengan error kecil dan mengurangi sensitivitas model terhadap outlier dengan error besar.

Efisiensi komputasi

Sumber daya komputasi adalah komoditas dalam ranah machine learning, baik komersial maupun riset. Akses ke kapasitas komputasi besar memberi keleluasaan bagi praktisi untuk bereksperimen dengan dataset besar dan menyelesaikan masalah machine learning yang lebih kompleks. Beberapa fungsi loss lebih berat secara komputasi dibanding yang lain, terutama ketika jumlah dataset besar. Hal ini membuat efisiensi komputasi menjadi faktor penting saat memilih fungsi loss.

Faktor

Deskripsi

Jenis Masalah Pembelajaran

Klasifikasi vs Regresi; Klasifikasi Biner vs Multikelas.

Sensitivitas Model terhadap Outlier

Beberapa fungsi loss lebih sensitif terhadap outlier (mis., MSE), sementara yang lain lebih tangguh (mis., MAE).

Perilaku Model yang Diinginkan

Mempengaruhi bagaimana model berperilaku, misalnya hinge loss pada SVM berfokus pada memaksimalkan margin.

Efisiensi Komputasi

Beberapa fungsi loss lebih intensif secara komputasi, memengaruhi pilihan berdasarkan sumber daya yang tersedia.

Sifat Konvergensi

Kehalusan dan kekonveksan fungsi loss dapat memengaruhi kemudahan dan kecepatan pelatihan.

Skala Tugas

Untuk tugas berskala besar, fungsi loss yang dapat diskalakan dengan baik dan dioptimalkan secara efisien sangat penting.

Dampak outlier dan distribusi data

Outlier adalah sampel data yang berada di luar distribusi statistik keseluruhan suatu dataset; kadang disebut anomali atau kejanggalan. Cara outlier dikelola menentukan kinerja dan akurasi model machine learning yang dilatih.

Seperti disebutkan sebelumnya, outlier dalam dataset memengaruhi nilai error yang digunakan dalam fungsi loss, tergantung fungsi loss yang digunakan. Dampak outlier pada fungsi loss merambat ke hasil proses pembelajaran algoritme, yang dapat menimbulkan perilaku yang diinginkan atau tidak diinginkan dari algoritme atau model.

Sebagai contoh, mean squared error memberi penalti pada outlier yang menyumbang nilai/istilah error besar; artinya selama pelatihan, bobot model disesuaikan untuk belajar bagaimana mengakomodasi outlier ini. Sekali lagi, jika ini bukan perilaku yang diinginkan dari model, model akhir setelah pelatihan akan memiliki generalisasi yang buruk pada data yang belum terlihat. Untuk skenario di mana dampak outlier perlu diredam, fungsi seperti MAE dan Huber Loss lebih tepat.

Fungsi Loss

Kecocokan untuk Klasifikasi

Kecocokan untuk Regresi

Sensitivitas terhadap Outlier

Mean Squared Error (MSE)

✖️

✔️

Tinggi

Mean Absolute Error (MAE)

✖️

✔️

Rendah

Cross-Entropy

✔️

✖️

Sedang

Hinge Loss

✔️

✖️

Rendah

Huber Loss

✖️

✔️

Sedang

Log Loss

✔️

✖️

Sedang

Implementasi Fungsi Loss

Contoh implementasi fungsi loss umum

Implementasi MAE dalam Python

# Python implementation of Mean Absolute Error (MAE)

def mean_absolute_error(actual:list, predicted:list) -> float:
    """
    Calculate the Mean Absolute Error between actual and predicted values

    :param actual: list, actual values
    :param predicted: list, predicted values
    :return: float, the calculated MAE
    """
    # Ensure the length of the two lists are the same
    if len(actual) != len(predicted):
        raise ValueError("The length of actual values and predicted values must be the same")

    # Calculate the absolute differences
    absolute_diffs = [abs(act - pred) for act, pred in zip(actual, predicted)]
    
    # Calculate the mean of the absolute differences
    mae = sum(absolute_diffs) / len(actual)
    
    return mae

# Example usage:
# actual values
y_true = [3, -0.5, 2, 7]

# predicted values
y_pred = [2.5, 0.0, 2, 8]

# Calculate MAE
mae_value = mean_absolute_error(y_true, y_pred)
print(mae_value)
# 0.5

Implementasi MSE dalam Python

# Python implementation of Mean Squared Error (MSE) / L2 Loss

def mean_squared_error(actual:list, predicted:list) -> float:
    """
    Calculate the Mean Squared Error between actual and predicted values

    :param actual: list, actual values
    :param predicted: list ,predicted values
    :return: float, the calculated MSE
    """
    # Ensure the length of the two lists are the same
    if len(actual) != len(predicted):
        raise ValueError("The length of actual values and predicted values must be the same")

    # Calculate the squared differences
		# (yᵢ - ȳ)²
    squared_diffs = [(act - pred) ** 2 for act, pred in zip(actual, predicted)]
    
    # Calculate the mean of the squared differences
    mse = sum(squared_diffs) / len(actual)
    
    return mse

# Example usage:
# actual values
y_true = [1, 2, 3, 4, 5]

# predicted values
y_pred = [1.1, 2.2, 2.9, 4.1, 4.9]

# Calculate MSE
mse_value = mean_squared_error(y_true, y_pred)
print(mse_value)
# 0.015999999999999993

Penggunaan pustaka untuk implementasi fungsi loss

Meski implementasi khusus fungsi loss dimungkinkan, dan pustaka deep learning seperti TensorFlow dan PyTorch mendukung penggunaan fungsi loss kustom dalam implementasi neural network, pustaka seperti Scikit-learn, TensorFlow, dan PyTorch menawarkan implementasi bawaan untuk fungsi loss yang umum digunakan.

Fungsionalitas yang sudah terintegrasi ini memudahkan pemanfaatan dan mengabstraksi kerumitan dalam mengimplementasikan fungsi loss tersebut, sehingga merampingkan proses pengembangan model machine learning.

Memanfaatkan pustaka deep learning ini memberikan keunggulan dibanding implementasi Python murni, beberapa di antaranya:

  • Mudah digunakan
  • Efisiensi dan optimisasi
  • Dukungan GPU dan komputasi paralel
  • Dukungan komunitas pengembang

Mean Absolute Error (MAE) menggunakan pustaka scikit-learn

from sklearn.metrics import mean_absolute_error

# actual values
y_true = [3, -0.5, 2, 7]

# predicted values
y_pred = [2.5, 0.0, 2, 8]

# Calculate MAE using scikit-learn
mae_value = mean_absolute_error(y_true, y_pred)
print(mae_value)
#0.5

Mean Squared Error (MSE) menggunakan pustaka scikit-learn

from sklearn.metrics import mean_squared_error

# actual values
y_true = [1, 2, 3, 4, 5]

# predicted values
y_pred = [1.1, 2.2, 2.9, 4.1, 4.9]

# Calculate MSE using scikit-learn
mse_value = mean_squared_error(y_true, y_pred)
print(mse_value)
# 0.016

Kesimpulan

Singkatnya, memilih fungsi loss yang tepat sangat penting untuk pelatihan model machine learning yang efektif. Artikel ini menyoroti fungsi loss utama, perannya dalam algoritme machine learning, serta kecocokannya untuk berbagai tugas. Dari Mean Squared Error (MSE) hingga Huber Loss, masing-masing memiliki keunggulan unik, baik dalam menangani outlier maupun menyeimbangkan bias dan varians.

Keputusan untuk menggunakan fungsi loss kustom atau bawaan dari pustaka seperti Scikit-learn, TensorFlow, dan PyTorch bergantung pada kebutuhan proyek, efisiensi komputasi, dan keahlian pengguna. Pustaka ini menawarkan kemudahan implementasi, dukungan komunitas berkelanjutan, dan pembaruan rutin.

Terlepas dari evolusi machine learning, pentingnya fungsi loss tetap konstan. Tren masa depan mungkin menghadirkan fungsi loss yang lebih terspesialisasi, namun prinsip-prinsip fundamentalnya kemungkinan akan bertahan. Untuk pendalaman lebih lanjut tentang machine learning dan penerapannya, jelajahi track DataCamp Machine Learning Scientist with Python.

FAQ

Bisakah saya menggunakan fungsi loss yang berbeda untuk masalah machine learning yang sama?

Ya, Anda bisa bereksperimen dengan berbagai fungsi loss untuk masalah yang sama guna melihat mana yang menghasilkan performa terbaik. Misalnya, pada tugas regresi, Anda dapat mencoba Mean Squared Error (MSE) dan Huber Loss untuk menyeimbangkan sensitivitas terhadap outlier dan kinerja umum. Pemilihan fungsi loss bergantung pada karakteristik spesifik dataset dan masalah Anda.

Bagaimana fungsi loss memengaruhi konvergensi model selama pelatihan?

Pemilihan fungsi loss memengaruhi seberapa mulus dan cepat model berkonsolidasi selama pelatihan. Misalnya, fungsi loss dengan gradien yang tidak konveks atau tidak kontinu dapat menyebabkan pelatihan terhenti atau berkonsolidasi ke solusi suboptimal. Di sisi lain, fungsi dengan gradien yang halus dan terkelola dengan baik, seperti MSE atau Cross-Entropy, dapat memudahkan optimisasi bagi metode berbasis gradien.

Apa peran skala data keluaran dalam pemilihan fungsi loss?

Skala data keluaran dapat memengaruhi pemilihan fungsi loss secara signifikan. Misalnya, jika nilai target berada pada skala yang sangat besar atau sangat kecil, fungsi loss seperti MSE yang menguadratkan kesalahan dapat menekankan nilai besar secara berlebihan. Dalam kasus seperti ini, menormalkan data atau menggunakan fungsi loss yang tidak bergantung pada skala seperti MAE atau Huber Loss dapat membantu memastikan optimisasi yang seimbang.


Richmond Alake's photo
Author
Richmond Alake
LinkedIn

Richmond Alake adalah Developer Advocate di MongoDB, dengan fokus pada teknologi AI/ML. Ia membuat konten edukatif untuk para pengembang dan pengguna MongoDB, membantu mereka membangun solusi AI dengan memanfaatkan kapabilitas MongoDB, termasuk pencarian vektor dan large language models (LLM). Richmond memiliki latar belakang yang kuat di bidang AI, visi komputer, dan pengembangan perangkat lunak. Ia juga telah menulis banyak artikel teknis dan mengajar kursus terkait AI. Sebelum di MongoDB, ia adalah Machine Learning Architect di Slalom Build, Program Lead di Emeritus, dan Computer Vision Engineer di Loveshark.

Topik

Pelajari Lebih Lanjut tentang Fungsi Loss dalam Machine Learning

Program

Ilmuwan Pembelajaran Mesin dalam Python

85 Hr
Pelajari machine learning dengan Python dan mulailah perjalanan Anda untuk menjadi seorang ilmuwan machine learning. Jelajahi pembelajaran terawasi, pembelajaran tanpa pengawasan, dan pembelajaran mendalam.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight 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 Lebih BanyakLihat Lebih Banyak