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