Dalam pembelajaran mesin, ralat generalisasi merujuk kepada ralat model pada data yang tidak kelihatan. Konsep ini penting kerana matlamat model adalah untuk menunjukkan prestasi yang baik pada data masa hadapan, bukan hanya pada data latihan. Oleh itu, ralat generalisasi adalah penunjuk utama kualiti model. Dengan mengurangkan ralat latihan dan mengawal kerumitan model, kita boleh mengurangkan ralat generalisasi dan dengan itu meningkatkan keupayaan generalisasi model.
Ralat generalisasi biasanya dipengaruhi oleh dua faktor: ralat latihan dan kerumitan model. Ralat latihan merujuk kepada ralat model pada data latihan, manakala kerumitan model ditentukan oleh bilangan parameter dan saiz ruang hipotesis. Model ringkas secara amnya digeneralisasikan dengan lebih mudah daripada model kompleks kerana ia mempunyai ruang hipotesis yang lebih besar. Ralat generalisasi model boleh dinyatakan dengan formula berikut:
Ralat generalisasi = ralat latihan + istilah penalti kerumitan model
Syarat penalti kerumitan model biasanya dilaksanakan melalui regularisasi untuk menghukum parameter model dan mencegah lebih- generalisasi data latihan.
Berikut ialah contoh mudah untuk menerangkan konsep ralat generalisasi. Katakan kita mempunyai set data yang mengandungi maklumat ketinggian dan berat untuk sesetengah orang. Matlamat kami ialah menggunakan set data ini untuk melatih model yang boleh meramalkan berat seseorang berdasarkan ketinggian mereka. Untuk mencapai matlamat ini, kita boleh menggunakan model regresi linear dengan mengandaikan hubungan linear antara berat dan ketinggian. Kami mula-mula membahagikan set data kepada dua bahagian: satu set latihan, digunakan untuk melatih model; bahagian lain adalah set ujian, digunakan untuk menilai prestasi model. Kami menggunakan set latihan untuk mempelajari parameter model supaya model dapat memuatkan data dalam set latihan dengan baik. Kami kemudian menggunakan set ujian untuk menilai prestasi model pada data yang tidak kelihatan. Ralat generalisasi merujuk kepada ralat ramalan model pada data yang tidak kelihatan. Jika model kita berprestasi baik pada set latihan tetapi tidak pada set ujian
kita boleh menggunakan sebahagian daripada data untuk melatih model dan kemudian menggunakan bahagian data yang lain untuk menguji prestasi model. Ralat latihan merujuk kepada ralat model pada data latihan, manakala ralat ujian merujuk kepada ralat model pada data ujian. Jika model berprestasi baik pada data latihan tetapi berprestasi rendah pada data ujian, maka kita boleh mengatakan bahawa model tersebut mempunyai masalah overfitting.
Dalam contoh ini, jika kita menggunakan model linear yang sangat mudah untuk membuat ramalan, ia mungkin tidak dapat menangkap hubungan kompleks antara ketinggian dan berat, mengakibatkan ralat latihan yang lebih tinggi dan ralat ujian yang lebih tinggi model Ralat generalisasi adalah besar.
Berikut ialah kod contoh mudah yang menggunakan model regresi linear untuk meramalkan berat seseorang:
import numpy as np from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 加载数据集 data = np.loadtxt('height_weight.csv', delimiter=',', skiprows=1) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(data[:, 0], data[:, 1], test_size=0.2) # 构建线性回归模型 model = LinearRegression() # 在训练集上进行模型训练 model.fit(X_train.reshape(-1, 1), y_train) # 在测试集上进行模型评估 y_pred = model.predict(X_test.reshape(-1, 1)) mse = mean_squared_error(y_test, y_pred) print('测试集上的均方误差为:', mse)
Dalam contoh ini, kami menggunakan Numpy untuk memuatkan fail CSV yang mengandungi maklumat ketinggian dan berat. Kemudian, kami menggunakan fungsi train_test_split untuk membahagikan set data kepada set latihan dan ujian. Seterusnya, kami menggunakan kelas LinearRegression untuk membina model regresi linear dan melatih model pada set latihan. Akhir sekali, kami menggunakan model untuk membuat ramalan pada set ujian dan mengira ralat min kuasa dua antara nilai ramalan dan nilai sebenar.
Perlu diingatkan bahawa model dalam contoh ini sangat mudah dan mungkin tidak dapat menangkap hubungan kompleks antara ketinggian dan berat. Dalam aplikasi praktikal, model yang lebih kompleks mungkin diperlukan untuk meningkatkan ketepatan ramalan. Pada masa yang sama, ia juga perlu memberi perhatian kepada keupayaan generalisasi model untuk mengelakkan overfitting data latihan.
Sebaliknya, jika kita menggunakan model yang sangat kompleks, seperti model regresi polinomial tertib tinggi, ia mungkin boleh berprestasi dengan baik pada data latihan, tetapi tidak berprestasi baik pada data ujian. Ini kerana model yang kompleks mempunyai ruang hipotesis yang besar dan mungkin terlalu sesuai dengan ciri bising dan tidak relevan dalam data latihan, mengakibatkan keupayaan generalisasi yang lemah.
Untuk mengurangkan ralat generalisasi model, kita boleh menggunakan beberapa strategi. Satu strategi biasa ialah menggunakan pengesahan silang untuk memilih hiperparameter untuk model. Pengesahan silang membahagikan data latihan kepada berbilang subset, dan kemudian menggunakan setiap subset sebagai set pengesahan pada gilirannya, dan subset yang tinggal sebagai set latihan untuk latihan dan penilaian model. Dengan mengesahkan silang kombinasi hiperparameter yang berbeza, kita boleh memilih model yang berprestasi terbaik pada set pengesahan.
Selain itu, kaedah regularisasi juga boleh digunakan untuk mengawal kerumitan model. Kaedah regularisasi biasa termasuk regularization L1 dan regularization L2, yang mengehadkan saiz parameter model dengan memperkenalkan istilah penalti dalam fungsi kerugian. Ini boleh mengelak model daripada melengkapkan data latihan dan meningkatkan keupayaan generalisasi model.
Ralat generalisasi model merujuk kepada ralat model pada data ghaib. Ia ditentukan oleh dua faktor: ralat latihan dan kerumitan model, dan biasanya boleh dikawal melalui kaedah regularisasi. Ralat generalisasi model adalah ukuran penting kualiti model kerana matlamat model adalah untuk menunjukkan prestasi yang baik pada data masa hadapan. Untuk mengurangkan ralat generalisasi model, pengesahan silang boleh digunakan untuk memilih hiperparameter model, dan kaedah regularisasi boleh digunakan untuk mengawal kerumitan model.
Atas ialah kandungan terperinci Apakah definisi ralat generalisasi model?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!