Membandingkan Regresi Linear dan Logistik

Diskusi tentang pertanyaan wawancara ilmu data tingkat awal

Wawancara Ilmu Data bervariasi dalam kedalamannya. Beberapa wawancara benar-benar mendalam dan menguji para kandidat tentang pengetahuan mereka tentang model-model canggih atau penyetelan halus yang rumit. Tetapi banyak wawancara dilakukan di tingkat pemula, mencoba menguji pengetahuan dasar kandidat. Pada artikel ini kita akan melihat pertanyaan yang bisa didiskusikan dalam wawancara semacam itu. Meski pertanyaannya sangat sederhana, pembahasannya memunculkan banyak aspek menarik dari dasar-dasar machine learning.

Pertanyaan: Apa perbedaan antara Regresi Linier dan Regresi Logistik?

Sebenarnya ada banyak kesamaan di antara keduanya, dimulai dari fakta bahwa nama mereka terdengar sangat mirip. Keduanya menggunakan garis sebagai fungsi model. Grafik mereka juga terlihat sangat mirip.

Gambar oleh penulis

Namun terlepas dari kesamaan ini, mereka sangat berbeda dalam metode dan penerapannya. Kami akan menyoroti perbedaan ini sekarang. Sebagai perbandingan, kami akan menggunakan poin-poin berikut yang umumnya dipertimbangkan saat membahas model pembelajaran mesin apa pun:

  • Hipotesis atau model keluarga
  • Masukan dan keluaran
  • Fungsi kerugian
  • Teknik optimasi
  • Aplikasi

Kami sekarang akan membandingkan Regresi Linier (LinReg) dan Regresi Logistik (LogReg) pada masing-masing poin ini. Mari kita mulai dengan aplikasinya, untuk menempatkan diskusi di jalur yang benar.

Gambar oleh Rajashree Rajadhyax

Regresi Linier digunakan untuk memperkirakan suatu besaran berdasarkan besaran lain. Sebagai contoh, bayangkan sebagai seorang siswa, Anda menjalankan kios limun selama liburan musim panas. Anda ingin mengetahui berapa gelas limun yang akan dijual besok, sehingga Anda dapat membeli cukup lemon dan gula. Dari pengalaman panjang Anda menjual limun, Anda telah mengetahui bahwa penjualan memiliki hubungan yang kuat dengan suhu maksimum pada hari itu. Jadi, Anda ingin menggunakan perkiraan suhu maksimum untuk memprediksi penjualan limun. Ini adalah aplikasi LinReg klasik, umumnya disebut prediksi dalam literatur ML.

LinReg juga digunakan untuk mengetahui bagaimana input tertentu mempengaruhi output. Dalam contoh warung limun, misalkan Anda memiliki dua masukan- suhu maksimum dan apakah hari itu hari libur. Anda ingin mengetahui mana yang lebih memengaruhi penjualan โ€” suhu maksimum atau hari libur. LinReg akan berguna dalam mengidentifikasi hal ini.

LogReg terutama digunakan untuk klasifikasi. Klasifikasi adalah tindakan mengkategorikan input ke dalam salah satu dari banyak kemungkinan keranjang. Klasifikasi sangat penting bagi kecerdasan manusia sehingga tidak salah untuk mengatakan 'sebagian besar kecerdasan adalah klasifikasi'. Contoh klasifikasi yang baik adalah diagnosis klinis. Pertimbangkan orang tua, dokter keluarga yang andal. Seorang wanita masuk dan mengeluh batuk terus-menerus. Dokter melakukan berbagai pemeriksaan untuk memutuskan di antara banyak kemungkinan kondisi. Beberapa kemungkinan kondisi relatif tidak berbahaya, seperti serangan infeksi tenggorokan. Namun ada juga yang serius, seperti TBC atau bahkan kanker paru-paru. Berdasarkan berbagai faktor, dokter memutuskan apa yang dia derita dan memulai perawatan yang tepat. Ini adalah klasifikasi di tempat kerja.

Kita harus ingat bahwa estimasi dan klasifikasi adalah tugas menebak daripada perhitungan. Tidak ada jawaban yang tepat atau benar dalam jenis tugas seperti itu. Tugas menebak adalah keahlian sistem pembelajaran mesin.

Sistem ML memecahkan masalah tebakan dengan mendeteksi pola. Mereka mendeteksi pola dari data yang diberikan dan kemudian menggunakannya untuk melakukan tugas seperti estimasi atau klasifikasi. Pola penting yang ditemukan dalam fenomena alam adalah pola relasi. Dalam pola ini, satu besaran berhubungan dengan besaran lainnya. Hubungan ini dapat didekati dengan fungsi matematika di sebagian besar kasus.

Mengidentifikasi fungsi matematika dari data yang diberikan disebut 'belajar' atau 'pelatihan'. Ada dua langkah pembelajaran:

  1. 'Jenis' fungsi (misalnya linier, eksponensial, polinomial) dipilih oleh manusia
  2. Algoritme pembelajaran mempelajari parameter (seperti kemiringan dan perpotongan garis) dari data yang diberikan.

Jadi, ketika kami mengatakan bahwa sistem ML belajar dari data, itu hanya sebagian yang benar. Langkah pertama pemilihan jenis fungsi adalah manual dan merupakan bagian dari desain model. Jenis fungsi juga disebut 'hipotesis' atau 'keluarga model'.

Di LinReg dan LogReg, keluarga model adalah fungsi linear. Seperti yang Anda ketahui, sebuah garis memiliki dua parameter โ€” kemiringan dan intersep. Tapi ini benar hanya jika fungsinya hanya membutuhkan satu input. Untuk sebagian besar masalah dunia nyata, terdapat lebih dari satu masukan. Fungsi model untuk kasus ini disebut fungsi linier, bukan garis. Fungsi linier memiliki lebih banyak parameter untuk dipelajari. Jika ada n masukan ke model, fungsi linier memiliki n+1 parameter. Seperti disebutkan, parameter ini dipelajari dari data yang diberikan. Untuk tujuan artikel ini, kami akan terus menganggap bahwa fungsinya adalah garis sederhana dengan dua parameter. Fungsi model untuk LogReg sedikit lebih kompleks. Garisnya ada, tetapi digabungkan dengan fungsi lain. Kita akan melihat ini sebentar lagi.

Seperti yang kami katakan di atas, LinReg dan LogReg mempelajari parameter fungsi linier dari data yang diberikan, yang disebut data pelatihan. Apa isi data pelatihan?

Data pelatihan disiapkan dengan merekam beberapa fenomena dunia nyata (RWP). Misalnya, hubungan antara suhu siang hari maksimum dan penjualan limun adalah RWP. Kami tidak memiliki visibilitas hubungan yang mendasarinya. Yang bisa kita lihat hanyalah nilai suhu dan penjualan setiap hari. Saat merekam pengamatan, kami menetapkan beberapa besaran sebagai masukan dari RWP dan yang lainnya sebagai keluaran. Dalam contoh limun, kami menyebut suhu maksimum sebagai input dan penjualan limun sebagai output.

Gambar oleh penulis

Data pelatihan kami berisi pasangan input dan output. Dalam contoh ini, data akan memiliki deretan suhu maksimum harian dan gelas limun yang terjual. Ini akan menjadi input dan output ke LinReg.

Tugas yang dilakukan LogReg adalah klasifikasi, jadi keluarannya harus berupa kelas. Bayangkan ada dua kelas yang disebut 0 dan 1. Keluaran dari model juga harus 0 atau 1.

Namun, metode menentukan keluaran ini tidak terlalu tepat. Lihat diagram berikut:

Gambar oleh penulis

Titik-titik berwarna kuning milik kelas 1 dan biru muda milik 0. Garis adalah fungsi model kita yang memisahkan kedua kelas. Menurut pemisah ini, kedua titik kuning (a dan b) termasuk dalam Kelas 1 . Namun, keanggotaan poin b jauh lebih pasti daripada poin a. Jika model hanya menghasilkan 0 dan 1, maka fakta ini hilang.

Untuk memperbaiki situasi ini, model LogReg menghasilkan probabilitas setiap titik milik kelas tertentu. Dalam contoh di atas, kemungkinan titik 'a' milik Kelas 1 rendah, sedangkan titik 'b' tinggi. Karena probabilitas adalah angka antara 0 dan 1, demikian juga output dari LogReg.

Sekarang lihat diagram berikut:

Gambar oleh penulis

Diagram ini sama dengan yang sebelumnya, dengan titik c ditambahkan. Poin ini juga termasuk Kelas 1 dan sebenarnya lebih pasti dari poin b. Namun, adalah salah untuk meningkatkan probabilitas suatu titik sebanding dengan jaraknya dari garis. Secara intuitif, setelah Anda menjauh dari garis, kami kurang lebih yakin tentang keanggotaan titik-titik tersebut. Kita tidak perlu meningkatkan probabilitas lebih lanjut. Hal ini sejalan dengan sifat probabilitas, yang nilai maksimumnya bisa 1.

Agar model LogReg dapat menghasilkan keluaran seperti itu, fungsi garis harus dihubungkan ke fungsi lain. Fungsi kedua ini disebut sigmoid dan memiliki persamaan:

Dengan demikian model LogReg terlihat seperti:

Gambar oleh penulis

Fungsi sigmoid juga disebut 'logistik' dan merupakan alasan untuk nama 'Regresi Logistik'.

Jika ada lebih dari dua kelas, keluaran LogReg adalah vektor. Unsur-unsur dari vektor keluaran adalah probabilitas dari masukan dari kelas tertentu itu. Sebagai contoh, jika elemen pertama dari model diagnosis klinis memiliki nilai 0.8, berarti model berpikir ada kemungkinan 80% pasien menderita flu.

Kami melihat bahwa LinReg dan LogReg mempelajari parameter fungsi linier dari data pelatihan. Bagaimana mereka mempelajari parameter ini?

Mereka menggunakan metode yang disebut 'optimasi'. Optimasi bekerja dengan menghasilkan banyak kemungkinan solusi untuk masalah yang diberikan. Dalam kasus kami, solusi yang mungkin adalah himpunan nilai (kemiringan, intersep). Kami mengevaluasi setiap solusi ini menggunakan ukuran kinerja. Solusi yang terbukti terbaik pada ukuran ini akhirnya dipilih.

Dalam pembelajaran model ML, ukuran kinerja terkadang disebut 'kerugian' dan fungsi yang membantu kita menghitungnya disebut 'fungsi kerugian'. Kami dapat mewakili ini sebagai:

Rugi = Rugi_Fungsi (Parameter_dievaluasi)

Istilah 'kerugian' dan 'fungsi kerugian' memiliki konotasi negatif, yang berarti bahwa nilai kerugian yang lebih rendah menunjukkan solusi yang lebih baik. Dengan kata lain, pembelajaran merupakan optimasi yang bertujuan untuk mencari parameter yang menghasilkan kerugian seminimal mungkin.

Sekarang kita akan melihat fungsi kerugian umum yang digunakan untuk mengoptimalkan LinReg dan LogReg. Perhatikan bahwa banyak fungsi kerugian yang berbeda digunakan dalam praktik yang sebenarnya, jadi kita dapat membahas yang paling umum.

Untuk optimalisasi parameter LinReg, fungsi kerugian yang paling umum disebut Sum of Squares Error (SSE). Fungsi ini mengambil input berikut:

1) Semua titik data pelatihan. Untuk setiap poin, kami menentukan:

a) input, seperti suhu data maksimum,

b) keluarannya, seperti jumlah gelas limun yang terjual

2) Persamaan linier dengan parameter

Fungsi kemudian menghitung kerugian menggunakan rumus berikut:

Kerugian SSE = Jumlah_untuk_semua_poin(
Kuadrat_dari(
output_of_linear_equation_for_the_inputs โ€” titik_output_aktual_dari_the_data
))

Ukuran pengoptimalan untuk LogReg ditentukan dengan cara yang sangat berbeda. Dalam fungsi SSE, kami mengajukan pertanyaan berikut:

Jika kita menggunakan baris ini untuk menyesuaikan data pelatihan, berapa banyak kesalahan yang akan terjadi?

Dalam merancang ukuran untuk pengoptimalan LogReg, kami bertanya:

Jika garis ini yang menjadi pemisahnya, seberapa besar kemungkinan kita mendapatkan sebaran kelas yang terlihat pada data pelatihan?

Output dari ukuran ini dengan demikian adalah kemungkinan. Bentuk matematis dari fungsi ukuran menggunakan logaritma, sehingga diberi nama Log Likelihood (LL). Saat membahas keluaran, kami melihat bahwa fungsi LogReg melibatkan suku eksponensial (suku dengan e 'diangkat ke' z) Logaritma membantu menangani eksponensial ini secara efektif.

Seharusnya secara intuitif jelas bagi Anda bahwa pengoptimalan harus memaksimalkan LL. Pikirkan seperti ini: kami ingin menemukan garis yang membuat data pelatihan paling mungkin. Namun dalam praktiknya, kami lebih memilih ukuran yang dapat diminimalkan, jadi kami hanya mengambil negatif dari LL. Dengan demikian kami mendapatkan fungsi kerugian Kemungkinan Log Negatif (NLL), meskipun menurut saya menyebutnya fungsi kerugian tidak terlalu benar.

Jadi kami memiliki dua fungsi kerugian: SSE untuk LinReg dan NLL untuk LogReg. Perhatikan bahwa fungsi kerugian ini memiliki banyak nama, dan Anda harus membiasakan diri dengan istilah tersebut.

Meskipun Regresi Linier dan Regresi Logistik terlihat dan terdengar sangat mirip, pada kenyataannya keduanya sangat berbeda. LinReg digunakan untuk estimasi/prediksi dan LogReg untuk klasifikasi. Memang benar keduanya menggunakan fungsi linear sebagai dasarnya, namun LogReg lebih lanjut menambahkan fungsi logistik. Mereka berbeda dalam cara mereka menggunakan data pelatihan dan menghasilkan output model mereka. Keduanya juga menggunakan fungsi kerugian yang sangat berbeda.

Rincian lebih lanjut dapat diselidiki. Mengapa SSE? Bagaimana kemungkinan dihitung? Kami tidak masuk ke metode pengoptimalan di sini untuk menghindari lebih banyak matematika. Namun, Anda harus ingat bahwa pengoptimalan LogReg biasanya memerlukan metode penurunan gradien iteratif sementara LinReg biasanya dapat melakukannya dengan solusi formulir tertutup cepat. Kita bisa membahas ini dan lebih banyak poin di artikel lain.

Membandingkan Regresi Linier dan Logistik Diterbitkan Ulang dari Sumber https://towardsdatascience.com/comparing-linear-and-logistic-regression-11a3e1812212?source=rssโ€”-7f60cf5620c9โ€”4 melalui https://towardsdatascience.com/feed

<!โ€“

->

Stempel Waktu:

Lebih dari Konsultan Blockchain