Bagikan melalui


Pendalaman - analitik tingkat lanjut

Apa yang dimaksud dengan analitik tingkat lanjut untuk HDInsight?

HDInsight memberikan kemampuan untuk mendapatkan wawasan berharga dari sejumlah besar data terstruktur, tidak terstruktur, dan bergerak cepat. Analitik tingkat lanjut adalah penggunaan arsitektur yang sangat skalabel, model statistik dan pembelajaran mesin, serta dasbor cerdas untuk memberi Anda wawasan yang bermakna. Pembelajaran mesin, atau analitik prediktif, menggunakan algoritme yang mengidentifikasi dan belajar dari hubungan dalam data Anda untuk membuat prediksi dan memandu keputusan Anda.

Proses analitik tingkat lanjut

Alur proses analitik tingkat lanjut.

Setelah mengidentifikasi masalah bisnis dan mulai mengumpulkan dan memproses data, Anda perlu membuat model yang mewakili pertanyaan yang ingin Anda prediksi. Model Anda menggunakan satu atau beberapa algoritma pembelajaran mesin untuk membuat jenis prediksi yang paling sesuai dengan kebutuhan bisnis Anda. Sebagian besar data Anda harus digunakan untuk melatih model Anda, dengan sisanya digunakan untuk menguji atau mengevaluasinya.

Setelah membuat, memuat, menguji, dan mengevaluasi model Anda, langkah selanjutnya adalah menyebarkan model sehingga mulai memberikan jawaban atas pertanyaan Anda. Langkah terakhir adalah memantau performa model Anda dan menyetelnya seperlunya.

Jenis algoritma umum

Solusi analitik tingkat lanjut menyediakan serangkaian algoritme pembelajaran mesin. Berikut adalah ringkasan kategori algoritma dan kasus penggunaan bisnis umum terkait.

Pembelajaran Mesin ringkasan kategori.

Seiring dengan memilih satu atau beberapa algoritma yang paling pas, Anda perlu mempertimbangkan apakah Anda perlu memberikan data untuk pelatihan atau tidak. Algoritma pembelajaran mesin dikategorikan sebagai berikut:

  • Diawasi - algoritma perlu dilatih pada sekumpulan data berlabel sebelum dapat memberikan hasil
  • Semi-diawasi - algoritma dapat ditambah dengan target tambahan melalui kueri interaktif oleh pelatih, yang tidak tersedia selama tahap awal pelatihan
  • Tidak diawasi - algoritma tidak memerlukan data pelatihan
  • Penguatan - algoritma menggunakan agen perangkat lunak untuk menentukan perilaku ideal dalam konteks tertentu (sering digunakan dalam robotik)
Kategori Algoritma Menggunakan Jenis Pembelajaran Algoritma
Klasifikasi Mengklasifikasikan orang atau berbagai hal ke dalam grup Diawasi Pohon keputusan, regresi logistik, jaringan neural
Pengklusteran Membagi kumpulan contoh menjadi kelompok homogen Tanpa pengawasan Pengklusteran K-means
Deteksi pola Mengidentifikasi asosiasi yang sering dalam data Tanpa pengawasan Aturan asosiasi
Regresi Memprediksi hasil numerik Diawasi Regresi linier, jaringan neural
Penguatan Tentukan perilaku optimal untuk robot Penguatan Simulasi Monte Carlo, DeepMind

Pembelajaran mesin di HDInsight

HDInsight memiliki beberapa opsi pembelajaran mesin untuk alur kerja analitik tingkat lanjut:

  • Pembelajaran Mesin dengan Apache Spark
  • Azure Machine Learning dan Apache Hive
  • Apache Spark dan Pembelajaran mendalam

Pembelajaran Mesin dengan Apache Spark

HDInsight Spark adalah penawaran Apache Spark yang dihosting Azure, kerangka kerja pemrosesan data paralel terpadu, sumber terbuka, yang menggunakan pemrosesan dalam memori untuk meningkatkan analitik Big Data. Mesin pemrosesan Spark dibangun untuk memberikan kecepatan, kemudahan penggunaan, dan analitik canggih. Kemampuan komputasi terdistribusi dalam memori Spark menjadikannya pilihan yang tepat untuk algoritma iteratif yang digunakan dalam pembelajaran mesin dan komputasi grafik.

Ada tiga pustaka pembelajaran mesin yang dapat diskalakan yang membawa kemampuan pemodelan algoritmik ke lingkungan terdistribusi ini:

  • MLlib - MLlib berisi API asli yang dibangun dalam Spark RDD.
  • SparkML - SparkML adalah paket lebih baru yang menyediakan API tingkat lebih tinggi yang dibangun dalam Spark DataFrames untuk membangun alur ML.
  • MMLSpark - Pustaka Microsoft Pembelajaran Mesin untuk Apache Spark (MMLSpark) dirancang untuk membuat ilmuwan data lebih produktif di Spark, untuk meningkatkan tingkat eksperimen, dan untuk memanfaatkan teknik pembelajaran mesin mutakhir, termasuk pembelajaran mendalam, pada himpunan data besar. Pustaka MMLSpark menyederhanakan tugas pemodelan umum untuk membangun model di PySpark.

Azure Machine Learning dan Apache Hive

Azure Machine Learning Studio (klasik) menyediakan alat untuk memodelkan analitik prediktif, dan layanan terkelola penuh yang dapat Anda gunakan untuk menyebarkan model prediktif Anda sebagai layanan web siap pakai. Azure Machine Learning menyediakan alat untuk membuat solusi analitik prediktif lengkap di cloud untuk membuat, menguji, mengoperasionalkan, dan mengelola model prediktif dengan cepat. Pilih dari pustaka algoritma besar, gunakan studio berbasis web untuk membuat model, dan dengan mudah sebarkan model Anda sebagai layanan web.

Apache Spark dan Pembelajaran mendalam

Pembelajaran mendalam adalah cabang pembelajaran mesin yang menggunakan jaringan neural mendalam (DNN), yang terinspirasi oleh proses biologis otak manusia. Banyak peneliti melihat pembelajaran mendalam sebagai pendekatan yang menjanjikan untuk kecerdasan buatan. Beberapa contoh pembelajaran mendalam adalah penerjemah bahasa lisan, sistem pengenalan gambar, dan penalaran mesin. Untuk membantu memajukan pekerjaannya sendiri dalam pembelajaran mendalam, Microsoft telah mengembangkan Microsoft Cognitive Toolkit yang gratis, mudah digunakan, dan bersumber terbuka. Toolkit ini digunakan secara luas oleh berbagai macam produk Microsoft, oleh perusahaan di seluruh dunia dengan kebutuhan untuk menyebarkan pembelajaran mendalam dalam skala besar, dan oleh siswa yang tertarik pada algoritme dan teknik terbaru.

Skenario - Gambar Skor untuk Mengidentifikasi Pola dalam Pengembangan Perkotaan

Mari tinjau contoh alur pembelajaran mesin analitik tingkat lanjut menggunakan HDInsight.

Dalam skenario ini Anda melihat bagaimana DN diproduksi dalam kerangka pembelajaran mendalam, Cognitive Toolkit (CNTK) Microsoft, dapat dioperasionalkan untuk menilai koleksi gambar besar yang disimpan di akun Azure Blob Storage menggunakan PySpark pada kluster HDInsight Spark. Pendekatan ini diterapkan pada kasus penggunaan DNN umum, klasifikasi citra udara, dan dapat digunakan untuk mengidentifikasi pola terbaru dalam pembangunan perkotaan. Anda menggunakan model klasifikasi gambar yang telah dilatih sebelumnya. Model ini telah dilatih sebelumnya pada himpunan data CIFAR-10 dan telah diterapkan ke 10.000 gambar yang ditahan.

Ada tiga tugas utama dalam skenario analitik tingkat lanjut ini:

  1. Buat kluster Azure HDInsight Hadoop dengan distribusi Apache Spark 2.1.0.
  2. Jalankan skrip kustom untuk memasang Microsoft Cognitive Toolkit pada semua simpul kluster Azure HDInsight Spark.
  3. Unggah Jupyter Notebook bawaan ke kluster HDInsight Spark Anda untuk menerapkan model pembelajaran mendalam Microsoft Cognitive Toolkit terlatih ke file di Akun Azure Blob Storage menggunakan Spark Python API (PySpark).

Contoh ini menggunakan set gambar CIFAR-10 yang dikompilasi dan didistribusikan oleh Alex Krizhevsky, Vinod Kumar, dan Geoffrey Hinton. Himpunan data CIFAR-10 berisi 60.000 citra berukuran 32×32 milik 10 kelas yang saling bersifat eksklusif:

Pembelajaran Mesin contoh gambar.

Untuk mengetahui informasi selengkapnya tentang himpunan data, lihat Mempelajari Beberapa Lapisan Fitur dari Tiny Images dari Alex Krizhevsky.

Himpunan data dipartisi ke dalam kumpulan pelatihan 50.000 citra dan kumpulan pengujian berisi 10.000 citra. Kumpulan pertama digunakan untuk melatih model jaringan residual konvolusional dua puluh lapis (ResNet) menggunakan Microsoft Cognitive Toolkit dengan mengikuti tutorial ini dari repositori Cognitive Toolkit GitHub. 10.000 citra sisanya digunakan untuk menguji akurasi model. Di sinilah komputasi terdistribusi mulai dimainkan: tugas praproscesing dan penilaian gambar sangat paralel. Dengan model terlatih yang disimpan, kami menggunakan:

  • PySpark untuk mendistribusikan citra dan model terlatih ke simpul pekerja kluster.
  • Python untuk melakukan praproses gambar pada setiap simpul kluster HDInsight Spark.
  • Cognitive Toolkit untuk memuat model dan menilai gambar yang telah diproscesikan sebelumnya pada setiap simpul.
  • Jupyter Notebook untuk menjalankan skrip PySpark, mengagregasi hasilnya, dan menggunakan Matplotlib untuk memvisualisasikan performa model.

Seluruh praproses/penilaian 10.000 gambar membutuhkan waktu kurang dari satu menit pada kluster dengan empat simpul pekerja. Model ini secara akurat memprediksi label ~9.100 (91%) citra. Matriks kebingungan menggambarkan kesalahan klasifikasi yang paling umum. Misalnya, matriks menunjukkan bahwa salah memberi label anjing sebagai kucing dan sebaliknya terjadi lebih sering daripada untuk pasangan label lainnya.

Pembelajaran Mesin bagan hasil.

Cobalah!

Ikuti tutorial ini untuk mengimplementasikan solusi ini secara menyeluruh: menyiapkan kluster HDInsight Spark, memasang Cognitive Toolkit, dan menjalankan Jupyter Notebook yang menilai 10.000 citra CIFAR.

Langkah berikutnya

Apache Hive dan Azure Machine Learning

Apache Spark dan MLLib

Pembelajaran Mendalam, Cognitive Toolkit, dan lain-lain