Difference between revisions of "Keras: Cara Training Final Machine Learning Model"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Sumber: https://machinelearningmastery.com/train-final-machine-learning-model/ The machine learning model that we use to make predictions on new data is called the final mode...")
 
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: https://machinelearningmastery.com/train-final-machine-learning-model/
 
Sumber: https://machinelearningmastery.com/train-final-machine-learning-model/
  
The machine learning model that we use to make predictions on new data is called the final model.
+
Model machine learning yang kita gunakan untuk membuat prediksi pada data baru disebut final model. Mungkin ada kebingungan dalam machine learning yang diterapkan tentang cara melatih final model. Kebingungan ini terlihat pada pemula di bidang ini yang mengajukan pertanyaan seperti:
  
There can be confusion in applied machine learning about how to train a final model.
+
* Bagaimana cara kita mem-predict menggunakan cross validation?
 +
* Model mana yang perlu kita pilih untuk cross-validation?
 +
* Apakah kita menggunakan model sesudah menyiapkannya untuk training dataset?
  
This error is seen with beginners to the field who ask questions such as:
+
Semoga tulisan ini bisa menghapus kebingungan. Dalam posting ini, kita akan menemukan cara menyelesaikan model machine learning kita untuk membuat prediksi pada data baru.
  
    How do I predict with cross validation?
+
==Apakah itu Final Model?==
    Which model do I choose from cross-validation?
 
    Do I use the model after preparing it on the training dataset?
 
  
This post will clear up the confusion.
+
Model final machine learning adalah model yang kita gunakan untuk membuat prediksi pada data baru. Artinya, dengan diberikan contoh input data baru, kita ingin menggunakan model untuk memprediksi output yang diharapkan. Ini mungkin klasifikasi (menetapkan label) atau regresi (nilai riil).
  
In this post, you will discover how to finalize your machine learning model in order to make predictions on new data.
+
Misalnya, apakah foto itu adalah gambar anjing atau kucing, atau perkiraan jumlah penjualan untuk besok.
  
Let’s get started.
+
Tujuan dari proyek machine learning anda adalah untuk memperoleh final model yang terbaik, di mana "terbaik" didefinisikan oleh:
How to Train a Final Machine Learning Model
 
  
How to Train a Final Machine Learning Model
+
* Data: historical data yang kita miliki.
Photo by Camera Eye Photography, some rights reserved.
+
* Time: lama waktu yang kita berikan untuk project ini.
What is a Final Model?
+
* Procedure: langkah data preparation, algoritma, dan pilihan konfigurasi algoritma yang digunakan.
  
A final machine learning model is a model that you use to make predictions on new data.
+
Dalam proyek anda, anda mengumpulkan data, menghabiskan waktu yang anda miliki, dan menemukan prosedur persiapan data, algoritma untuk digunakan, dan cara mengkonfigurasinya.
  
That is, given new examples of input data, you want to use the model to predict the expected output. This may be a classification (assign a label) or a regression (a real value).
+
Final Model adalah puncak dari proses ini, akhirnya yang anda akan anda lakukan adalah untuk mulai benar-benar membuat prediksi.
  
For example, whether the photo is a picture of a dog or a cat, or the estimated number of sales for tomorrow.
+
==Fungsi Train/Test Set==
  
The goal of your machine learning project is to arrive at a final model that performs the best, where “best” is defined by:
+
Mengapa kita menggunakan set training dan testing?
  
    Data: the historical data that you have available.
+
Men-split training dan testing dari dataset anda adalah salah satu metode untuk dengan cepat mengevaluasi kinerja suatu algoritma pada masalah anda.
    Time: the time you have to spend on the project.
 
    Procedure: the data preparation steps, algorithm or algorithms, and the chosen algorithm configurations.
 
  
In your project, you gather the data, spend the time you have, and discover the data preparation procedures, algorithm to use, and how to configure it.
+
Dataset training digunakan untuk menyiapkan model, untuk me-training nya.
  
The final model is the pinnacle of this process, the end you seek in order to start actually making predictions.
+
Kami berpura-pura set data testing adalah data baru di mana nilai-nilai output ditahan dari algoritma. Kami mengumpulkan prediksi dari model yang terlatih pada input dari dataset uji dan membandingkannya dengan nilai output yang ditahan dari set testing.
The Purpose of Train/Test Sets
 
  
Why do we use train and test sets?
+
Membandingkan prediksi dan keluaran yang ditahan pada dataset testing memungkinkan kita untuk menghitung ukuran kinerja untuk model pada dataset testing. Ini adalah perkiraan keterampilan algoritma yang di training tentang masalah saat membuat prediksi pada data yang tidak terlihat.
  
Creating a train and test split of your dataset is one method to quickly evaluate the performance of an algorithm on your problem.
+
===Lanjut......===
  
The training dataset is used to prepare a model, to train it.
+
Ketika kita mengevaluasi suatu algoritma, kita sebenarnya mengevaluasi semua langkah dalam prosedur, termasuk bagaimana data pelatihan disiapkan (misalnya scaling), pilihan algoritma (misalnya kNN), dan bagaimana algoritma yang dipilih dikonfigurasi (misalnya k=3).
  
We pretend the test dataset is new data where the output values are withheld from the algorithm. We gather predictions from the trained model on the inputs from the test dataset and compare them to the withheld output values of the test set.
+
Ukuran kinerja yang dihitung berdasarkan '''prediksi yang di peroleh''' dan ini merupakan perkiraan performance seluruh prosedur.
  
Comparing the predictions and withheld outputs on the test dataset allows us to compute a performance measure for the model on the test dataset. This is an estimate of the skill of the algorithm trained on the problem when making predictions on unseen data.
+
Kita menggeneralisasi ukuran kinerja dari:
Let’s unpack this further
 
  
When we evaluate an algorithm, we are in fact evaluating all steps in the procedure, including how the training data was prepared (e.g. scaling), the choice of algorithm (e.g. kNN), and how the chosen algorithm was configured (e.g. k=3).
+
"Keberhasilan prosedur pada set testing"
  
The performance measure calculated on the predictions is an estimate of the skill of the whole procedure.
+
ke
  
We generalize the performance measure from:
+
"Keberhasilan prosedur pada data yang belum pernah dilihat sebelumnya".
  
    “the skill of the procedure on the test set“
+
Ini merupakan lompatan yang cukup jauh dan mengharuskan:
  
to
+
* Prosedur yang dibuat cukup baik sehingga bisa meng-estimasi mendekati apa yang sebenarnya kita harapkan pada data yang tidak terlihat.
 +
* Pilihan ukuran kinerja secara akurat menangkap apa yang  kita minati untuk mengukur dalam prediksi pada data yang tidak terlihat.
 +
* Pilihan persiapan data dipahami dengan baik dan dapat diulang pada data baru, dan dapat dibalik jika prediksi perlu dikembalikan ke skala aslinya atau terkait dengan nilai input asli/sebenarnya.
 +
* Pilihan algoritma yang masuk akal untuk tujuan penggunaan dan lingkungan operasional (mis. Kompleksitas atau bahasa pemrograman yang dipilih).
  
    “the skill of the procedure on unseen data“.
+
Cukup berat perjuangan yang dilalui untuk mengestimasi kemampuan keseluruhan prosedur pada testing set.
  
This is quite a leap and requires that:
+
Bahkan, menggunakan metode training / testing untuk memperkirakan kemampuan prosedur pada data yang tak terlihat seringkali memiliki varian yang tinggi (kecuali kita memiliki banyak data untuk di split). Ini berarti bahwa ketika diulang, itu memberikan hasil yang berbeda, seringkali hasil yang sangat berbeda.
  
    The procedure is sufficiently robust that the estimate of skill is close to what we actually expect on unseen data.
+
Hasil akhirnya adalah bahwa kita mungkin tidak yakin tentang seberapa baik kinerja prosedur sebenarnya pada data yang tidak terlihat dan bagaimana satu prosedur membandingkan dengan yang lain.
    The choice of performance measure accurately captures what we are interested in measuring in predictions on unseen data.
 
    The choice of data preparation is well understood and repeatable on new data, and reversible if predictions need to be returned to their original scale or related to the original input values.
 
    The choice of algorithm makes sense for its intended use and operational environment (e.g. complexity or chosen programming language).
 
  
A lot rides on the estimated skill of the whole procedure on the test set.
+
Seringkali, jika waktu mengizinkan, kami lebih suka menggunakan k-fold cross-validation.
  
In fact, using the train/test method of estimating the skill of the procedure on unseen data often has a high variance (unless we have a heck of a lot of data to split). This means that when it is repeated, it gives different results, often very different results.
+
==Tujuan dari k-fold Cross Validation==
  
The outcome is that we may be quite uncertain about how well the procedure actually performs on unseen data and how one procedure compares to another.
+
Mengapa kita menggunakan k-fold cross validation?
  
Often, time permitting, we prefer to use k-fold cross-validation instead.
+
Cross-validation adalah metode lain untuk memperkirakan kemampuan metode pada data yang tidak terlihat. Seperti menggunakan split testing training.
The Purpose of k-fold Cross Validation
 
  
Why do we use k-fold cross validation?
+
Cross-validation secara sistematis membuat dan mengevaluasi beberapa model pada beberapa himpunan bagian dari dataset.
  
Cross-validation is another method to estimate the skill of a method on unseen data. Like using a train-test split.
+
Ini, pada gilirannya, memberikan populasi ukuran kinerja.
  
Cross-validation systematically creates and evaluates multiple models on multiple subsets of the dataset.
+
* Kita dapat menghitung rata-rata dari langkah-langkah ini untuk mendapatkan gambaran tentang seberapa baik secara rata-rata tentang kinerja prosedur.
 +
* Kita dapat menghitung standar deviasi dari langkah-langkah ini untuk mendapatkan gambaran tentang seberapa banyak keterampilan prosedur yang diharapkan bervariasi dalam praktiknya.
  
This, in turn, provides a population of performance measures.
+
Ini juga membantu untuk memberikan perbandingan yang lebih bernuansa dari satu prosedur ke prosedur lainnya ketika kita mencoba untuk memilih algoritma dan prosedur persiapan data mana yang akan digunakan.
  
    We can calculate the mean of these measures to get an idea of how well the procedure performs on average.
+
Juga, informasi ini sangat berharga karena kita dapat menggunakan mean dan spread untuk memberikan interval kepercayaan pada kinerja yang diharapkan pada prosedur machine learning di lapangan.
    We can calculate the standard deviation of these measures to get an idea of how much the skill of the procedure is expected to vary in practice.
 
  
This is also helpful for providing a more nuanced comparison of one procedure to another when you are trying to choose which algorithm and data preparation procedures to use.
+
Baik split train-test dan k-fold cross validation adalah contoh dari metode resampling.
  
Also, this information is invaluable as you can use the mean and spread to give a confidence interval on the expected performance on a machine learning procedure in practice.
+
==Mengapa kita menggunakan Resampling Method?==
  
Both train-test splits and k-fold cross validation are examples of resampling methods.
+
Masalah yang dihadapi machine learning adalah kita mencoba memodelkan hal yang tidak diketahui.
Why do we use Resampling Methods?
 
  
The problem with applied machine learning is that we are trying to model the unknown.
+
Pada pemodelan prediktif, sebuah model ideal adalah yang melakukan yang terbaik saat membuat prediksi pada data baru.
  
On a given predictive modeling problem, the ideal model is one that performs the best when making predictions on new data.
+
Kita tidak memiliki data baru, jadi kita harus berpura-pura dengan trik statistik.
  
We don’t have new data, so we have to pretend with statistical tricks.
+
train-test split dan k-fold cross validation disebut metode resampling. Metode resampling adalah prosedur statistik untuk pengambilan sampel dataset dan memperkirakan jumlah yang tidak diketahui.
  
The train-test split and k-fold cross validation are called resampling methods. Resampling methods are statistical procedures for sampling a dataset and estimating an unknown quantity.
+
Dalam hal penerapan machine learning, kita tertarik untuk memperkirakan kemampuan prosedur machine learning pada data yang tidak terterlihat. Lebih khusus lagi, kemampuan mem-prediksi yang dibuat oleh prosedur machine learning.
  
In the case of applied machine learning, we are interested in estimating the skill of a machine learning procedure on unseen data. More specifically, the skill of the predictions made by a machine learning procedure.
+
Setelah kita memiliki kemampuan yang diperkirakan, kita selesai dengan metode resampling.
  
Once we have the estimated skill, we are finished with the resampling method.
+
* Jika anda menggunakan train-test split, itu berarti anda dapat membuang dataset split dan model yang di train.
 +
* Jika anda menggunakan k-fold cross-validation, itu berarti anda dapat membuang semua model yang di train.
  
    If you are using a train-test split, that means you can discard the split datasets and the trained model.
+
Mereka telah menyelesaikan tugas mereka dan tidak lagi dibutuhkan.
    If you are using k-fold cross-validation, that means you can throw away all of the trained models.
 
  
They have served their purpose and are no longer needed.
+
Kita sekarang siap untuk mem-finalisasi model kita.
  
You are now ready to finalize your model.
+
==Cara mem-finalisasi sebuah Model==
How to Finalize a Model?
 
  
You finalize a model by applying the chosen machine learning procedure on all of your data.
+
Kita mem-finalisasi model dengan menerapkan prosedur machine learning yang dipilih pada semua data kita.
  
 
That’s it.
 
That’s it.
  
With the finalized model, you can:
+
Dengan final model, kita dapat:
  
    Save the model for later or operational use.
+
* Simpan model untuk penggunaan yang akan datang atau penggunaan operasional.
    Make predictions on new data.
+
* Buat prediksi pada data baru.
  
What about the cross-validation models or the train-test datasets?
+
Bagaimana dengan cross-validation model atau set train-test dataset?
  
They’ve been discarded. They are no longer needed. They have served their purpose to help you choose a procedure to finalize.
+
Mereka telah dibuang. Mereka tidak lagi dibutuhkan. Mereka telah menyelesaikan tugas mereka untuk membantu kita memilih prosedur untuk di finalisasi.
Common Questions
 
  
This section lists some common questions you might have.
+
==Pertanyaan yang Umum==
Why not keep the model trained on the training dataset?
 
  
and
+
* Mengapa tidak menyimpan trained model pada training dataset?
Why not keep the best model from the cross-validation?
+
dan
 +
* Mengapa tidak menyimpan model terbaik dari cross-validation?
  
You can if you like.
+
Kita sebetulnya bisa jika kita mau. Kita dapat menghemat waktu dan tenaga dengan menggunakan kembali salah satu trained model saat selama estimasi kemampuan. Ini bisa menjadi masalah besar jika perlu berhari-hari, berminggu-minggu, atau berbulan-bulan untuk men-train sebuah model.
  
You may save time and effort by reusing one of the models trained during skill estimation.
+
Model kita kemungkinan akan berkinerja lebih baik ketika di training menggunakan semua data yang tersedia daripada hanya bagian yang digunakan untuk memperkirakan kinerja model.
  
This can be a big deal if it takes days, weeks, or months to train a model.
+
Inilah sebabnya kami memilih untuk melatih final model pada semua data yang tersedia. Apakah kinerja model yang dilatih pada semua data berbeda?
  
Your model will likely perform better when trained on all of the available data than just the subset used to estimate the performance of the model.
+
Pertanyaan ini merupakan dasar sebagian besar kesalahpahaman seputar finalisasi model.
 
 
This is why we prefer to train the final model on all available data.
 
Won’t the performance of the model trained on all of the data be different?
 
 
 
I think this question drives most of the misunderstanding around model finalization.
 
  
 
Put another way:
 
Put another way:
  
    If you train a model on all of the available data, then how do you know how well the model will perform?
+
* Jika anda men-train sebuah model pada semua data yang tersedia, lalu bagaimana anda tahu seberapa baik kinerja model tersebut?
 
 
You have already answered this question using the resampling procedure.
 
 
 
If well designed, the performance measures you calculate using train-test or k-fold cross validation suitably describe how well the finalized model trained on all available historical data will perform in general.
 
 
 
If you used k-fold cross validation, you will have an estimate of how “wrong” (or conversely, how “right”) the model will be on average, and the expected spread of that wrongness or rightness.
 
 
 
This is why the careful design of your test harness is so absolutely critical in applied machine learning. A more robust test harness will allow you to lean on the estimated performance all the more.
 
Each time I train the model, I get a different performance score; should I pick the model with the best score?
 
 
 
Machine learning algorithms are stochastic and this behavior of different performance on the same data is to be expected.
 
  
Resampling methods like repeated train/test or repeated k-fold cross-validation will help to get a handle on how much variance there is in the method.
+
Kita telah menjawab pertanyaan ini menggunakan prosedur resampling.
  
If it is a real concern, you can create multiple final models and take the mean from an ensemble of predictions in order to reduce the variance.
+
Jika dirancang dengan baik, ukuran kinerja yang kita hitung menggunakan train-test atau k-fold cross validation menggambarkan seberapa baik final model yang di train pada semua data historis yang tersedia akan bisa perform secara umum.
  
I talk more about this in the post:
+
Jika kita menggunakan k-fold cross validation, kita akan memiliki perkiraan seberapa "salah" (atau sebaliknya, seberapa "benar") model kita secara rata-rata, dan penyebaran yang diharapkan dari kesalahan atau kebenaran itu.
  
    Embrace Randomness in Machine Learning
+
Inilah sebabnya mengapa desain yang cermat dari test harness pengujian anda sangat penting dalam penerapan machine learning. Test harness yang lebih kuat akan memungkinkan anda untuk bersandar pada kinerja yang diestimasi terlebih lagi.
  
Summary
+
Setiap kali saya melatih model, saya mendapatkan skor kinerja yang berbeda; apakah saya harus memilih model dengan skor terbaik?
  
In this post, you discovered how to train a final machine learning model for operational use.
+
Algoritma machine learning bersifat stokastik dan perilaku kinerja yang berbeda pada data yang sama bisa saja terjadi.
  
You have overcome obstacles to finalizing your model, such as:
+
Metode resampling seperti repeated train/test atau repeated k-fold cross-validation akan membantu untuk mengetahui seberapa banyak perbedaan yang ada dalam metode ini.
  
    Understanding the goal of resampling procedures such as train-test splits and k-fold cross validation.
+
Jika ini merupakan hal yang perlu benar-benar di perhatikan, kita dapat membuat beberapa final model dan mengambil nilai rata-rata dari kumpulan prediksi untuk mengurangi variance.
    Model finalization as training a new model on all available data.
 
    Separating the concern of estimating performance from finalizing the model.
 
  
Do you have another question or concern about finalizing your model that I have not addressed?
+
==Summary==
Ask in the comments and I will do my best to help
 
  
 +
Dalam tulisan ini, kita menemukan cara men-train final model machine learning untuk penggunaan operasional.
  
 +
Anda telah mengatasi hambatan untuk menyelesaikan model anda, seperti:
  
 +
* Memahami tujuan dari prosedur resampling seperti split train-test dan  k-fold cross validation.
 +
* Finalisasi model sebagai training model baru pada semua data yang tersedia.
 +
* Memisahkan kekhawatiran dalam memperkirakan kinerja dari finalisasi model.
  
 
==Referensi==
 
==Referensi==

Latest revision as of 15:50, 14 August 2019

Sumber: https://machinelearningmastery.com/train-final-machine-learning-model/

Model machine learning yang kita gunakan untuk membuat prediksi pada data baru disebut final model. Mungkin ada kebingungan dalam machine learning yang diterapkan tentang cara melatih final model. Kebingungan ini terlihat pada pemula di bidang ini yang mengajukan pertanyaan seperti:

  • Bagaimana cara kita mem-predict menggunakan cross validation?
  • Model mana yang perlu kita pilih untuk cross-validation?
  • Apakah kita menggunakan model sesudah menyiapkannya untuk training dataset?

Semoga tulisan ini bisa menghapus kebingungan. Dalam posting ini, kita akan menemukan cara menyelesaikan model machine learning kita untuk membuat prediksi pada data baru.

Apakah itu Final Model?

Model final machine learning adalah model yang kita gunakan untuk membuat prediksi pada data baru. Artinya, dengan diberikan contoh input data baru, kita ingin menggunakan model untuk memprediksi output yang diharapkan. Ini mungkin klasifikasi (menetapkan label) atau regresi (nilai riil).

Misalnya, apakah foto itu adalah gambar anjing atau kucing, atau perkiraan jumlah penjualan untuk besok.

Tujuan dari proyek machine learning anda adalah untuk memperoleh final model yang terbaik, di mana "terbaik" didefinisikan oleh:

  • Data: historical data yang kita miliki.
  • Time: lama waktu yang kita berikan untuk project ini.
  • Procedure: langkah data preparation, algoritma, dan pilihan konfigurasi algoritma yang digunakan.

Dalam proyek anda, anda mengumpulkan data, menghabiskan waktu yang anda miliki, dan menemukan prosedur persiapan data, algoritma untuk digunakan, dan cara mengkonfigurasinya.

Final Model adalah puncak dari proses ini, akhirnya yang anda akan anda lakukan adalah untuk mulai benar-benar membuat prediksi.

Fungsi Train/Test Set

Mengapa kita menggunakan set training dan testing?

Men-split training dan testing dari dataset anda adalah salah satu metode untuk dengan cepat mengevaluasi kinerja suatu algoritma pada masalah anda.

Dataset training digunakan untuk menyiapkan model, untuk me-training nya.

Kami berpura-pura set data testing adalah data baru di mana nilai-nilai output ditahan dari algoritma. Kami mengumpulkan prediksi dari model yang terlatih pada input dari dataset uji dan membandingkannya dengan nilai output yang ditahan dari set testing.

Membandingkan prediksi dan keluaran yang ditahan pada dataset testing memungkinkan kita untuk menghitung ukuran kinerja untuk model pada dataset testing. Ini adalah perkiraan keterampilan algoritma yang di training tentang masalah saat membuat prediksi pada data yang tidak terlihat.

Lanjut......

Ketika kita mengevaluasi suatu algoritma, kita sebenarnya mengevaluasi semua langkah dalam prosedur, termasuk bagaimana data pelatihan disiapkan (misalnya scaling), pilihan algoritma (misalnya kNN), dan bagaimana algoritma yang dipilih dikonfigurasi (misalnya k=3).

Ukuran kinerja yang dihitung berdasarkan prediksi yang di peroleh dan ini merupakan perkiraan performance seluruh prosedur.

Kita menggeneralisasi ukuran kinerja dari:

"Keberhasilan prosedur pada set testing"

ke

"Keberhasilan prosedur pada data yang belum pernah dilihat sebelumnya".

Ini merupakan lompatan yang cukup jauh dan mengharuskan:

  • Prosedur yang dibuat cukup baik sehingga bisa meng-estimasi mendekati apa yang sebenarnya kita harapkan pada data yang tidak terlihat.
  • Pilihan ukuran kinerja secara akurat menangkap apa yang kita minati untuk mengukur dalam prediksi pada data yang tidak terlihat.
  • Pilihan persiapan data dipahami dengan baik dan dapat diulang pada data baru, dan dapat dibalik jika prediksi perlu dikembalikan ke skala aslinya atau terkait dengan nilai input asli/sebenarnya.
  • Pilihan algoritma yang masuk akal untuk tujuan penggunaan dan lingkungan operasional (mis. Kompleksitas atau bahasa pemrograman yang dipilih).

Cukup berat perjuangan yang dilalui untuk mengestimasi kemampuan keseluruhan prosedur pada testing set.

Bahkan, menggunakan metode training / testing untuk memperkirakan kemampuan prosedur pada data yang tak terlihat seringkali memiliki varian yang tinggi (kecuali kita memiliki banyak data untuk di split). Ini berarti bahwa ketika diulang, itu memberikan hasil yang berbeda, seringkali hasil yang sangat berbeda.

Hasil akhirnya adalah bahwa kita mungkin tidak yakin tentang seberapa baik kinerja prosedur sebenarnya pada data yang tidak terlihat dan bagaimana satu prosedur membandingkan dengan yang lain.

Seringkali, jika waktu mengizinkan, kami lebih suka menggunakan k-fold cross-validation.

Tujuan dari k-fold Cross Validation

Mengapa kita menggunakan k-fold cross validation?

Cross-validation adalah metode lain untuk memperkirakan kemampuan metode pada data yang tidak terlihat. Seperti menggunakan split testing training.

Cross-validation secara sistematis membuat dan mengevaluasi beberapa model pada beberapa himpunan bagian dari dataset.

Ini, pada gilirannya, memberikan populasi ukuran kinerja.

  • Kita dapat menghitung rata-rata dari langkah-langkah ini untuk mendapatkan gambaran tentang seberapa baik secara rata-rata tentang kinerja prosedur.
  • Kita dapat menghitung standar deviasi dari langkah-langkah ini untuk mendapatkan gambaran tentang seberapa banyak keterampilan prosedur yang diharapkan bervariasi dalam praktiknya.

Ini juga membantu untuk memberikan perbandingan yang lebih bernuansa dari satu prosedur ke prosedur lainnya ketika kita mencoba untuk memilih algoritma dan prosedur persiapan data mana yang akan digunakan.

Juga, informasi ini sangat berharga karena kita dapat menggunakan mean dan spread untuk memberikan interval kepercayaan pada kinerja yang diharapkan pada prosedur machine learning di lapangan.

Baik split train-test dan k-fold cross validation adalah contoh dari metode resampling.

Mengapa kita menggunakan Resampling Method?

Masalah yang dihadapi machine learning adalah kita mencoba memodelkan hal yang tidak diketahui.

Pada pemodelan prediktif, sebuah model ideal adalah yang melakukan yang terbaik saat membuat prediksi pada data baru.

Kita tidak memiliki data baru, jadi kita harus berpura-pura dengan trik statistik.

train-test split dan k-fold cross validation disebut metode resampling. Metode resampling adalah prosedur statistik untuk pengambilan sampel dataset dan memperkirakan jumlah yang tidak diketahui.

Dalam hal penerapan machine learning, kita tertarik untuk memperkirakan kemampuan prosedur machine learning pada data yang tidak terterlihat. Lebih khusus lagi, kemampuan mem-prediksi yang dibuat oleh prosedur machine learning.

Setelah kita memiliki kemampuan yang diperkirakan, kita selesai dengan metode resampling.

  • Jika anda menggunakan train-test split, itu berarti anda dapat membuang dataset split dan model yang di train.
  • Jika anda menggunakan k-fold cross-validation, itu berarti anda dapat membuang semua model yang di train.

Mereka telah menyelesaikan tugas mereka dan tidak lagi dibutuhkan.

Kita sekarang siap untuk mem-finalisasi model kita.

Cara mem-finalisasi sebuah Model

Kita mem-finalisasi model dengan menerapkan prosedur machine learning yang dipilih pada semua data kita.

That’s it.

Dengan final model, kita dapat:

  • Simpan model untuk penggunaan yang akan datang atau penggunaan operasional.
  • Buat prediksi pada data baru.

Bagaimana dengan cross-validation model atau set train-test dataset?

Mereka telah dibuang. Mereka tidak lagi dibutuhkan. Mereka telah menyelesaikan tugas mereka untuk membantu kita memilih prosedur untuk di finalisasi.

Pertanyaan yang Umum

  • Mengapa tidak menyimpan trained model pada training dataset?

dan

  • Mengapa tidak menyimpan model terbaik dari cross-validation?

Kita sebetulnya bisa jika kita mau. Kita dapat menghemat waktu dan tenaga dengan menggunakan kembali salah satu trained model saat selama estimasi kemampuan. Ini bisa menjadi masalah besar jika perlu berhari-hari, berminggu-minggu, atau berbulan-bulan untuk men-train sebuah model.

Model kita kemungkinan akan berkinerja lebih baik ketika di training menggunakan semua data yang tersedia daripada hanya bagian yang digunakan untuk memperkirakan kinerja model.

Inilah sebabnya kami memilih untuk melatih final model pada semua data yang tersedia. Apakah kinerja model yang dilatih pada semua data berbeda?

Pertanyaan ini merupakan dasar sebagian besar kesalahpahaman seputar finalisasi model.

Put another way:

  • Jika anda men-train sebuah model pada semua data yang tersedia, lalu bagaimana anda tahu seberapa baik kinerja model tersebut?

Kita telah menjawab pertanyaan ini menggunakan prosedur resampling.

Jika dirancang dengan baik, ukuran kinerja yang kita hitung menggunakan train-test atau k-fold cross validation menggambarkan seberapa baik final model yang di train pada semua data historis yang tersedia akan bisa perform secara umum.

Jika kita menggunakan k-fold cross validation, kita akan memiliki perkiraan seberapa "salah" (atau sebaliknya, seberapa "benar") model kita secara rata-rata, dan penyebaran yang diharapkan dari kesalahan atau kebenaran itu.

Inilah sebabnya mengapa desain yang cermat dari test harness pengujian anda sangat penting dalam penerapan machine learning. Test harness yang lebih kuat akan memungkinkan anda untuk bersandar pada kinerja yang diestimasi terlebih lagi.

Setiap kali saya melatih model, saya mendapatkan skor kinerja yang berbeda; apakah saya harus memilih model dengan skor terbaik?

Algoritma machine learning bersifat stokastik dan perilaku kinerja yang berbeda pada data yang sama bisa saja terjadi.

Metode resampling seperti repeated train/test atau repeated k-fold cross-validation akan membantu untuk mengetahui seberapa banyak perbedaan yang ada dalam metode ini.

Jika ini merupakan hal yang perlu benar-benar di perhatikan, kita dapat membuat beberapa final model dan mengambil nilai rata-rata dari kumpulan prediksi untuk mengurangi variance.

Summary

Dalam tulisan ini, kita menemukan cara men-train final model machine learning untuk penggunaan operasional.

Anda telah mengatasi hambatan untuk menyelesaikan model anda, seperti:

  • Memahami tujuan dari prosedur resampling seperti split train-test dan k-fold cross validation.
  • Finalisasi model sebagai training model baru pada semua data yang tersedia.
  • Memisahkan kekhawatiran dalam memperkirakan kinerja dari finalisasi model.

Referensi


Pranala Menarik