Classification Problem in Machine Learning

  • Posted on: 16 February 2015
  • By: oon
Classification Problem in Machine Learning

Classification Problem merupakan salah satu contoh problem yang sering diprediksi menggunakan Machine Learning, termasuk dalam kategori Supervised learning.

Dalam Classification Problem, kita harus melakukan prediksi nilai diskrit, misalnya melakukan prediksi spam atau ham (email non-spam), prediksi nilai benar atau salah, prediksi nilai ujian A, B, C, D, E, serta masih banyak prediksi nilai diskrit lainnya.

Salah satu algoritma populer dan banyak digunakan dalam pemecahan permasalahan Classification adalah Logistic Regression.

Untuk kasus 2 class (positive class & negative class) atau biasa disebut binary classification problem, misalnya dalam prediksi spam atau ham, kita bisa menganggap spam masuk kategori positive class (atau dalam angka: 1), sedangkan kebalikannya ham adalah negative class (atau dalam angka: 0). Dituliskan dalam notasi matematika sebagai \(y \in \{0,1\}\).

Dalam pemecahan permasalahan ini tidak dapat menggunakan Linier Regression, karena selain bukan fungsi linear, nilai yang diharapkan dalam hipotesis hanya dalam range 0-1. Dalam notasi matematika dituliskan sebagai \(0 \le h_\theta(x) \le 1\).

Untuk itu digunakan Logistic Regression, dimana hipotesisnya menggunakan Logistic Function atau Sigmoid Function, sebagai berikut:

\(h_\theta(x) = g(\theta^Tx)\) dimana \(g(z) = \frac{1}{1+e^{-z}}\)

sehingga fungsi hipotesis dalam Logistic Regression digunakan

\(h_\theta(x) = \frac{1}{1+e^{-\theta^Tx}}\)

 \(h_\theta\) memberikan probability berapa kemungkinan hasil keluarannya adalah 1 (yaitu y=1).

Misalnya hipotesis \(h_\theta(x) = 0.7\) maka kemungkinan untuk nilainya 1 adalah 70%, sebaliknya kemungkinan untuk bernilai 0 adalah 30% (nilai dari 1-70%). 

Gambar fungsi sigmoid seperti berikut (jadi nilai hasil fungsi x dari gambar di bawah ini selalu antara 0 dan 1):

Misal kita menggunakan kasus gambar sigmoid di atas,

  • prediksi y=1 jika \(h_\theta(x)\ge0.5\), dengan gantikan fungsi sigmoid \(g(z)\ge0.5\).
    ini akan terjadi jika \(z\ge0\).
    dengan definisi \(h_\theta(x)=g(\theta^Tx)=g(z)\) sehingga \(\theta^Tx\ge0\).
  • prediksi y=0 jika \(h_\theta(x)\lt0.5\), dengan gantikan fungsi sigmoid \(g(z)\lt0.5\).
    akan terjadi jika \(z\lt0\).
    dengan definisi \(h_\theta(x)=g(\theta^Tx)=g(z)\) sehingga \(\theta^Tx\lt0\).

 

Decision Boundary

Decision boundary adalah garis yang memisahkan area y=1 dan area y=0, merupakan fungsi dari hipotesis \(h_\theta(x)\).

Decision boundary adalah property dari hipotesis dan parameter theta, bukan properti dari data set. Data (training) set digunakan untuk menyesuaikan (fit) parameter theta.

misalnya:

\(\theta =
\begin{bmatrix}
5\\-1\\0
\end{bmatrix}\)

\(h_\theta(x) = \theta_0 + \theta_1x_1 + \theta_2x_2 = 5 - 1x_1 + 0x_2 = 5 - x_1\)

untuk prediksi y=1 jika hipotesis >= 0 sehingga \(5-x_1\ge0\) atau \(x_1\le5\).

untuk prediksi y=0 jika hipotesis <0 sehingga \(x_1\gt5\).

Decision boundary bisa digambarkan seperti berikut (gambarnya dibuat secara minimalis dengan plot di octave):

perlu diingat bahwa fungsi hipotesis ini tidak selalu linear, bisa polinomial juga, yang jelas memisahkan antara kedua area dengan data pada training set.

 

https://share.coursera.org/wiki/index.php/ML:Logistic_Regression

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.