Jadual Kandungan
Pengesahan Silang
Rumah Peranti teknologi AI Ringkasan penalaan hiperparameter pembelajaran mesin (PySpark ML)

Ringkasan penalaan hiperparameter pembelajaran mesin (PySpark ML)

Apr 08, 2023 pm 07:21 PM
pembelajaran mesin parameter Penalaan

Tugas penting dalam ML ialah pemilihan model, atau menggunakan data untuk mencari model atau parameter terbaik untuk tugasan tertentu. Ini juga dipanggil penalaan. Anda boleh menala satu penganggar, seperti LogisticRegression, atau keseluruhan saluran paip yang merangkumi berbilang algoritma, pencirian dan langkah lain. Pengguna boleh menala keseluruhan Saluran Paip sekaligus, dan bukannya menala setiap elemen dalam Talian Paip secara individu.

Tugas penting dalam ML ialah pemilihan model, atau menggunakan data untuk mencari model atau parameter terbaik untuk tugasan tertentu. Ini juga dipanggil penalaan. Anda boleh menala satu Penganggar (seperti LogisticRegression) atau keseluruhan saluran paip yang merangkumi berbilang algoritma, pencirian dan langkah lain. Pengguna boleh menala keseluruhan Saluran Paip sekaligus dan bukannya menala setiap elemen dalam Talian Paip secara individu.

MLlib menyokong pemilihan model menggunakan alatan seperti CrossValidator dan TrainValidationSplit. Alat ini memerlukan yang berikut:

  • Penganggar: algoritma atau saluran paip untuk ditala
  • Satu set parameter: set parameter yang boleh dipilih, kadangkala dipanggil "rangkaian parameter" bagi Cari Grid"
  • Penilai: Mengukur prestasi model yang dipasang pada data ujian

Alat pemilihan model ini berfungsi seperti berikut:

  • Ia akan Data input dibahagikan kepada set data latihan dan ujian yang berasingan.
  • Untuk setiap pasangan (latihan, ujian), mereka merentasi koleksi ParamMap:

Untuk setiap ParamMap​, gunakan parameter ini agar sesuai dengan Penganggar​ untuk mendapatkan Model yang dipasang​ , dan gunakan Penilai untuk menilai prestasi Model.

  • Mereka memilih Model yang dijana oleh set parameter berprestasi terbaik.

Untuk membantu membina grid parametrik, pengguna boleh menggunakan ParamGridBuilder. Secara lalai, set parameter dalam grid parameter dinilai secara bersiri. Penilaian parameter boleh dilakukan secara selari dengan menetapkan darjah selari kepada 2 atau lebih (nilai 1 akan menjadi bersiri) sebelum menjalankan pemilihan model menggunakan CrossValidator atau TrainValidationSplit. Nilai untuk keselarian harus dipilih dengan teliti untuk memaksimumkan keselarian tanpa melebihi sumber kluster tidak semestinya meningkatkan prestasi. Secara umumnya, nilai melebihi 10 sepatutnya mencukupi untuk kebanyakan kluster.

Pengesahan Silang

Pengesah Silang Silang membahagikan set data kepada set set data terlipat, yang digunakan sebagai set data latihan dan ujian yang berasingan. Contohnya, apabila k=3 kali, CrossValidator akan menjana 3 pasang set data (latihan, ujian), setiap pasangan set data menggunakan 2/3 daripada data untuk latihan dan 1/3 daripada data untuk ujian. Untuk menilai ParamMap tertentu, CrossValidator mengira metrik penilaian purata dengan memasangkan 3 model yang dihasilkan oleh Penganggar pada 3 pasangan set data (kereta api, ujian) yang berbeza.

Selepas menentukan ParamMap terbaik, CrossValidator akhirnya memadankan semula Penganggar menggunakan ParamMap terbaik dan keseluruhan set data.

from pyspark.ml import Pipeline
from pyspark.ml.classification import LogisticRegression
from pyspark.ml.evaluation import BinaryClassificationEvaluator
from pyspark.ml.feature import HashingTF, Tokenizer
from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

# 准备训练文件,并做好标签。
training = spark.createDataFrame([
(0, "a b c d e spark", 1.0),
(1, "b d", 0.0),
(2, "spark f g h", 1.0),
(3, "hadoop mapreduce", 0.0),
(4, "b spark who", 1.0),
(5, "g d a y", 0.0),
(6, "spark fly", 1.0),
(7, "was mapreduce", 0.0),
(8, "e spark program", 1.0),
(9, "a e c l", 0.0),
(10, "spark compile", 1.0),
(11, "hadoop software", 0.0)
], ["id", "text", "label"])

# 配置一个ML管道,它由树stages组成:tokenizer、hashingTF和lr。
tokenizer = Tokenizer(inputCol="text", outputCol="words")
hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(), outputCol="features")
lr = LogisticRegression(maxIter=10)
pipeline = Pipeline(stages=[tokenizer, hashingTF, lr])

# 我们现在将Pipeline作为一个Estimator,将其包装在CrossValidator实例中。
# 这将允许我们共同选择所有管道阶段的参数。
# 交叉验证器需要一个Estimator、一组Estimator ParamMaps和一个Evaluator。
# 我们使用ParamGridBuilder来构造一个用于搜索的参数网格。
# hashingTF.numFeatures 的3个值, lr.regParam的2个值,
# 这个网格将有3 x 2 = 6的参数设置供CrossValidator选择。

 
paramGrid = ParamGridBuilder() 
.addGrid(hashingTF.numFeatures, [10, 100, 1000]) 
.addGrid(lr.regParam, [0.1, 0.01]) 
.build()

crossval = CrossValidator(estimator=pipeline,
estimatorParamMaps=paramGrid,
evaluator=BinaryClassificationEvaluator(),
numFolds=2)# 使用3+ folds

# 运行交叉验证,并选择最佳参数集。
cvModel = crossval.fit(training)

# 准备测试未标注的文件
test = spark.createDataFrame([
(4, "spark i j k"),
(5, "l m n"),
(6, "mapreduce spark"),
(7, "apache hadoop")
], ["id", "text"])

# 对测试文档进行预测, cvModel使用发现的最佳模型(lrModel)。
prediction = cvModel.transform(test)
selected = prediction.select("id", "text", "probability", "prediction")
for row in selected.collect():
print(row)
Salin selepas log masuk

Pembahagian Pengesahan Latihan

Selain CrossValidator, Spark juga menyediakan TrainValidationSplit untuk penalaan hiperparameter. TrainValidationSplit hanya mengira setiap kombinasi parameter sekali, berbanding dengan k kali dalam kes CrossValidator . Oleh itu, ia lebih murah, tetapi ia tidak menghasilkan hasil yang boleh dipercayai apabila set data latihan tidak cukup besar.

Tidak seperti CrossValidator, TrainValidationSplit mencipta pasangan set data tunggal (kereta api, ujian). Ia menggunakan parameter trainRatio untuk memisahkan set data kepada dua bahagian ini. Contohnya, apabila trainRatio=0.75, TrainValidationSplit akan menjana pasangan set data kereta api dan ujian dengan 75% daripada data yang digunakan untuk latihan dan 25% digunakan untuk pengesahan.

Seperti CrossValidator, TrainValidationSplit akhirnya menggunakan ParamMap terbaik dan Penganggar yang sepadan untuk keseluruhan set data.

from pyspark.ml.evaluation import RegressionEvaluator
from pyspark.ml.regression import LinearRegression
from pyspark.ml.tuning import ParamGridBuilder, TrainValidationSplit

# Prepare training and test data.
data = spark.read.format("libsvm")
.load("data/mllib/sample_linear_regression_data.txt")
train, test = data.randomSplit([0.9, 0.1], seed=12345)

lr = LinearRegression(maxIter=10)

# 我们使用ParamGridBuilder来构造一个用于搜索的参数网格。
# TrainValidationSplit将尝试所有值的组合,并使用评估器确定最佳模型。
paramGrid = ParamGridBuilder()
.addGrid(lr.regParam, [0.1, 0.01]) 
.addGrid(lr.fitIntercept, [False, True])
.addGrid(lr.elasticNetParam, [0.0, 0.5, 1.0])
.build()

# 在这种情况下,估计器是简单的线性回归。
# TrainValidationSplit需要一个Estimator、一组Estimator ParamMaps 和一个 Evaluator。
tvs = TrainValidationSplit(estimator=lr,
 estimatorParamMaps=paramGrid,
 evaluator=RegressionEvaluator(),
 # 80%的数据将用于培训,20%用于验证。
 trainRatio=0.8)

# 运行TrainValidationSplit,并选择最佳参数集。
model = tvs.fit(train)

# 对测试数据进行预测。模型是参数组合后性能最好的模型。
model.transform(test)
.select("features", "label", "prediction")
.show()
Salin selepas log masuk

Atas ialah kandungan terperinci Ringkasan penalaan hiperparameter pembelajaran mesin (PySpark ML). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel ini akan membawa anda memahami SHAP: penjelasan model untuk pembelajaran mesin Artikel ini akan membawa anda memahami SHAP: penjelasan model untuk pembelajaran mesin Jun 01, 2024 am 10:58 AM

Dalam bidang pembelajaran mesin dan sains data, kebolehtafsiran model sentiasa menjadi tumpuan penyelidik dan pengamal. Dengan aplikasi meluas model yang kompleks seperti kaedah pembelajaran mendalam dan ensemble, memahami proses membuat keputusan model menjadi sangat penting. AI|XAI yang boleh dijelaskan membantu membina kepercayaan dan keyakinan dalam model pembelajaran mesin dengan meningkatkan ketelusan model. Meningkatkan ketelusan model boleh dicapai melalui kaedah seperti penggunaan meluas pelbagai model yang kompleks, serta proses membuat keputusan yang digunakan untuk menerangkan model. Kaedah ini termasuk analisis kepentingan ciri, anggaran selang ramalan model, algoritma kebolehtafsiran tempatan, dsb. Analisis kepentingan ciri boleh menerangkan proses membuat keputusan model dengan menilai tahap pengaruh model ke atas ciri input. Anggaran selang ramalan model

Kenal pasti overfitting dan underfitting melalui lengkung pembelajaran Kenal pasti overfitting dan underfitting melalui lengkung pembelajaran Apr 29, 2024 pm 06:50 PM

Artikel ini akan memperkenalkan cara mengenal pasti pemasangan lampau dan kekurangan dalam model pembelajaran mesin secara berkesan melalui keluk pembelajaran. Underfitting dan overfitting 1. Overfitting Jika model terlampau latihan pada data sehingga ia mempelajari bunyi daripadanya, maka model tersebut dikatakan overfitting. Model yang dipasang terlebih dahulu mempelajari setiap contoh dengan sempurna sehingga ia akan salah mengklasifikasikan contoh yang tidak kelihatan/baharu. Untuk model terlampau, kami akan mendapat skor set latihan yang sempurna/hampir sempurna dan set pengesahan/skor ujian yang teruk. Diubah suai sedikit: "Punca overfitting: Gunakan model yang kompleks untuk menyelesaikan masalah mudah dan mengekstrak bunyi daripada data. Kerana set data kecil sebagai set latihan mungkin tidak mewakili perwakilan yang betul bagi semua data. 2. Underfitting Heru

Evolusi kecerdasan buatan dalam penerokaan angkasa lepas dan kejuruteraan penempatan manusia Evolusi kecerdasan buatan dalam penerokaan angkasa lepas dan kejuruteraan penempatan manusia Apr 29, 2024 pm 03:25 PM

Pada tahun 1950-an, kecerdasan buatan (AI) dilahirkan. Ketika itulah penyelidik mendapati bahawa mesin boleh melakukan tugas seperti manusia, seperti berfikir. Kemudian, pada tahun 1960-an, Jabatan Pertahanan A.S. membiayai kecerdasan buatan dan menubuhkan makmal untuk pembangunan selanjutnya. Penyelidik sedang mencari aplikasi untuk kecerdasan buatan dalam banyak bidang, seperti penerokaan angkasa lepas dan kelangsungan hidup dalam persekitaran yang melampau. Penerokaan angkasa lepas ialah kajian tentang alam semesta, yang meliputi seluruh alam semesta di luar bumi. Angkasa lepas diklasifikasikan sebagai persekitaran yang melampau kerana keadaannya berbeza daripada di Bumi. Untuk terus hidup di angkasa, banyak faktor mesti dipertimbangkan dan langkah berjaga-jaga mesti diambil. Para saintis dan penyelidik percaya bahawa meneroka ruang dan memahami keadaan semasa segala-galanya boleh membantu memahami cara alam semesta berfungsi dan bersedia untuk menghadapi kemungkinan krisis alam sekitar

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Jun 03, 2024 pm 01:25 PM

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

AI yang boleh dijelaskan: Menerangkan model AI/ML yang kompleks AI yang boleh dijelaskan: Menerangkan model AI/ML yang kompleks Jun 03, 2024 pm 10:08 PM

Penterjemah |. Disemak oleh Li Rui |. Chonglou Model kecerdasan buatan (AI) dan pembelajaran mesin (ML) semakin kompleks hari ini, dan output yang dihasilkan oleh model ini adalah kotak hitam – tidak dapat dijelaskan kepada pihak berkepentingan. AI Boleh Dijelaskan (XAI) bertujuan untuk menyelesaikan masalah ini dengan membolehkan pihak berkepentingan memahami cara model ini berfungsi, memastikan mereka memahami cara model ini sebenarnya membuat keputusan, dan memastikan ketelusan dalam sistem AI, Amanah dan akauntabiliti untuk menyelesaikan masalah ini. Artikel ini meneroka pelbagai teknik kecerdasan buatan (XAI) yang boleh dijelaskan untuk menggambarkan prinsip asasnya. Beberapa sebab mengapa AI boleh dijelaskan adalah penting Kepercayaan dan ketelusan: Untuk sistem AI diterima secara meluas dan dipercayai, pengguna perlu memahami cara keputusan dibuat

Tinjauan tentang trend masa depan teknologi Golang dalam pembelajaran mesin Tinjauan tentang trend masa depan teknologi Golang dalam pembelajaran mesin May 08, 2024 am 10:15 AM

Potensi aplikasi bahasa Go dalam bidang pembelajaran mesin adalah besar Kelebihannya ialah: Concurrency: Ia menyokong pengaturcaraan selari dan sesuai untuk operasi intensif pengiraan dalam tugas pembelajaran mesin. Kecekapan: Pengumpul sampah dan ciri bahasa memastikan kod itu cekap, walaupun semasa memproses set data yang besar. Kemudahan penggunaan: Sintaksnya ringkas, menjadikannya mudah untuk belajar dan menulis aplikasi pembelajaran mesin.

Adakah Flash Attention stabil? Meta dan Harvard mendapati bahawa sisihan berat model mereka berubah-ubah mengikut urutan magnitud Adakah Flash Attention stabil? Meta dan Harvard mendapati bahawa sisihan berat model mereka berubah-ubah mengikut urutan magnitud May 30, 2024 pm 01:24 PM

MetaFAIR bekerjasama dengan Harvard untuk menyediakan rangka kerja penyelidikan baharu untuk mengoptimumkan bias data yang dijana apabila pembelajaran mesin berskala besar dilakukan. Adalah diketahui bahawa latihan model bahasa besar sering mengambil masa berbulan-bulan dan menggunakan ratusan atau bahkan ribuan GPU. Mengambil model LLaMA270B sebagai contoh, latihannya memerlukan sejumlah 1,720,320 jam GPU. Melatih model besar memberikan cabaran sistemik yang unik disebabkan oleh skala dan kerumitan beban kerja ini. Baru-baru ini, banyak institusi telah melaporkan ketidakstabilan dalam proses latihan apabila melatih model AI generatif SOTA Mereka biasanya muncul dalam bentuk lonjakan kerugian Contohnya, model PaLM Google mengalami sehingga 20 lonjakan kerugian semasa proses latihan. Bias berangka adalah punca ketidaktepatan latihan ini,

Lima sekolah pembelajaran mesin yang anda tidak tahu Lima sekolah pembelajaran mesin yang anda tidak tahu Jun 05, 2024 pm 08:51 PM

Pembelajaran mesin ialah cabang penting kecerdasan buatan yang memberikan komputer keupayaan untuk belajar daripada data dan meningkatkan keupayaan mereka tanpa diprogramkan secara eksplisit. Pembelajaran mesin mempunyai pelbagai aplikasi dalam pelbagai bidang, daripada pengecaman imej dan pemprosesan bahasa semula jadi kepada sistem pengesyoran dan pengesanan penipuan, dan ia mengubah cara hidup kita. Terdapat banyak kaedah dan teori yang berbeza dalam bidang pembelajaran mesin, antaranya lima kaedah yang paling berpengaruh dipanggil "Lima Sekolah Pembelajaran Mesin". Lima sekolah utama ialah sekolah simbolik, sekolah sambungan, sekolah evolusi, sekolah Bayesian dan sekolah analogi. 1. Simbolisme, juga dikenali sebagai simbolisme, menekankan penggunaan simbol untuk penaakulan logik dan ekspresi pengetahuan. Aliran pemikiran ini percaya bahawa pembelajaran adalah proses penolakan terbalik, melalui sedia ada

See all articles