What is Cost Function?

  • Posted on: 18 January 2015
  • By: oon
Cost Function Plot

Setelah mempelajari cost function di Machine Learning [1], kemudian penasaran sebenarnya pembahasan ini digunakan dalam bidang apa aja sih?

https://www.google.com/search?q=what%20is%20cost%20function

Menarik! cost function bukan hanya tentang matematika (termasuk statistika & machine learning), masuk juga dalam microekonomi.

A cost function C(q) is a function of q, which tells us what the minimum cost is for producing q units of output. [2]

Balik lagi ke machine learning [1].

Dalam menggunakan supervised learning [3] untuk membuat prediksi suatu keluaran dari satu masukan tertentu, digunakan linear regression dengan satu variabel.

Nah! prediksi ini dimulai dengan membuat sebuah fungsi hipotesis (hypothesis function), yang secara matematika dituliskan dalam persamaan:

\(h_\theta(x) = \theta_0 + \theta_1x\)

dimana:

  • h(x) adalah fungsi hipotesis untuk nilai x.
  • nilai theta0 dan theta1 adalah nilai yang akan kita berikan untuk membuat keluaran fungsi hipotesis tersebut paling mendekati nilai (data) riilnya.

Trus apa hubungannya sama cost function?

Cost Function adalah fungsi yang dapat mengukur ketepatan dari fungsi hipotesis (terhadap data aktual). Nama lain dari fungsi ini adalah squared error function atau mean squared error.

Cost function dituliskan sebagai \(J(\theta)\) dalam linear regression satu variable, akan digunakan \(\theta_0\)dan \(\theta_1\) sehingga cost function dituliskan dalam \(J(\theta_0,\theta_1)\).

Persamaan dalam notasi matematika dituliskan sebagai berikut:

\(J(\theta_0,\theta_1) = \frac{1}{2m} \sum_{i=1}^{m} (h_\theta(x^{(i)})-y^{(i)})^{2}\)

dimana:

  • J(theta0, theta1) adalah fungsi untuk nilai theta0 dan theta1. (jadi kalo kita memberikan/mencoba nilai theta0 & theta1 pada fungsi hipotesis, kita bisa uji disini seberapa ketepatannya).
  • m adalah berapa banyak jumlah data.
  • x(i) dan y(i) adalah data masukan ke-i dan data aktual keluaran ke-i.
  • h(x) adalah fungsi hipotesis yang dijelaskan di atas.

\(h_\theta(x^{(i)})-y^{(i)}\)dapat diartikan sebagai selisih antara nilai prediksi dan nilai aktual.

dengan memasukkan fungsi hipotesis ke cost function (hasilnya berikut), kita bertujuan mencari nilai theta0 dan theta1 sehingga cost function \(J(\theta_0,\theta_1)\) bernilai minimum.

\(J(\theta_0,\theta_1) = \frac{1}{2m} \sum_{i=1}^{m} ((\theta_0 + \theta_1x^{(i)})-y^{(i)})^{2}\)

Selanjutnya, bagaimana mencari cara (otomatis, agar tidak perlu tebak-tebakan nilai theta0 dan theta1) sehingga hasilnya minimum?

Salah satunya menggunakan algoritma Gradient Descent [4], akan dijelaskan dalam artikel berikutnya. Atau opsi lainnya menggunakan Normal equation.

[1]https://share.coursera.org/wiki/index.php/ML:Linear_Regression_with_One_...
[2]http://ocw.mit.edu/courses/economics/14-01-principles-of-microeconomics-...
[3]http://oo.or.id/content/supervised-unsupervised-learning
[4]http://en.wikipedia.org/wiki/Gradient_descent

Comments

Oh, berarti Cost Function itu sama dengan hasil theta0 atau theta1 ya...
Saya masih bingung yang pakai multi variable untuk regresi liniernya.  

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.