Section 3/202 menit
3. Teori: Konsep ML yang Wajib Dipahami iOS Developer
3. Teori: Konsep ML yang Wajib Dipahami iOS Developer
Model, Inference, dan Training
Model adalah fungsi matematika yang memetakan input ke output. Model ML sudah "belajar" parameter terbaik dari data training. Saat digunakan di app, kita hanya melakukan inference (prediksi) — bukan training.
swift
Training (offline, sekali saja):
Data → Algoritma ML → Model (bobot/parameter)
Inference (online, setiap kali pakai):
Input → Model → Output/Prediksi
Jenis-Jenis Task ML yang Relevan untuk iOS
Classification: Input → satu label dari N pilihan
- Contoh: foto → "kucing" atau "anjing"
- Output: label + confidence score (0.0–1.0)
Detection: Input → banyak objek dengan bounding box
- Contoh: foto → [("orang", rect1, 0.95), ("mobil", rect2, 0.87)]
- Output: array observation, tiap punya label + CGRect + confidence
Segmentation: Input → pixel mask
- Contoh: foto → mana yang "orang" dan mana "background" (per pixel)
- Output: gambar mask berukuran sama dengan input
Regression: Input → nilai numerik kontinu
- Contoh: fitur rumah → estimasi harga
Embedding / Feature Extraction: Input → vector of floats
- Contoh: teks → [0.23, -0.11, 0.87, ...] (512 dimensi)
- Digunakan untuk similarity search dan clustering
Generation: Input (prompt) → output baru (teks, gambar)
- Contoh: "Tulis review produk" → teks paragraf
Metrik yang Perlu Dimengerti
- Accuracy: Berapa persen prediksi yang benar (untuk classification seimbang)
- Precision: Dari semua yang diprediksi positif, berapa yang benar positif
- Recall: Dari semua yang sebenarnya positif, berapa yang berhasil ditemukan
- F1 Score: Harmonic mean precision dan recall
- Confidence/Probability: Seberapa "yakin" model — jangan tampilkan ke user jika < 0.5
Format Model di Apple Ecosystem
swift
.mlpackage → Core ML format modern (Xcode 13+, mendukung neural network)
.mlmodel → Core ML format lama (masih didukung)
.mlmodelc → Compiled version, otomatis dibuat oleh Xcode
External Sources:
TensorFlow Lite (.tflite) → Perlu konversi via coremltools
PyTorch (.pt / .onnx) → Perlu konversi via coremltools
ONNX (.onnx) → Perlu konversi via coremltools