Meta Dili'nin kısaltması olan ML, genel amaçlı bir işlevsel programlama dilidir. Statik olarak kapsamı vardır, yani bir değişkenin her zaman üst düzey ortamına başvurduğu anlamına gelir. Makine öğrenimi, çoğu işlevsel programlama dilinin izin vermediği yan etkilere izin verdiği için saf olmayan bir işlevsel dil olarak adlandırılabilir. Bir yan etki, bir prosedürün bir değişkeni kapsamının dışından değiştirmesidir.
Çoğu programlama dili gibi, makine öğrenimi de istekli bir değerlendirme kullanır, bu nedenle bir ifade, bir değişkene bağlanır bağlanmaz değerlendirilir. Bu, tembel değerlendirmeye doğrudan zıttır. Bununla birlikte, tembel bir değerlendirme yine de kapatmalar kullanılarak gerçekleştirilebilir. Makine öğrenimi, meta programlama veya diğer programları manipüle eden programlar yazmak için kullanılır. ML, çoğu ifadenin türünü, açık tür ek açıklamaları gerektirmeden otomatik olarak atayan ve tür güvenliğini sağlayan Hindley-Milner türü sistemi kullanmasıyla bilinir. ML ayrıca şunlar için kullanılır:
- Bilimsel uygulamalar
- Teorem sağlayıcıları
- Çözümleyiciler, derleyiciler ve programlama dilleri
- Finansal sistem uygulamaları
- Biyoinformatik ve şecere veritabanları
Makine öğreniminin özellikleri
ML, kesin olarak yazılmış bir dildir, yani iyi yazılmış bir dil, çalışma zamanı türü hatalarına neden olmaz. Çöp toplama yoluyla otomatik bir bellek yönetim sistemine sahiptir, böylece bellek, derleyici tarafından otomatik olarak ayrılır ve serbest bırakılır. Parametrik polimorfizm desteklenir, yani tek bir polimorfik fonksiyon herhangi bir uyumlu tipte bir parametre almak için yazılabilir. Diğer özellikler şunları içerir:
- Birinci sınıf işlevler
- Statik yazarak
- Tip girişim
- İşlevsel argümanlar için desen eşleştirme
- İstisna işleme
- Cebirsel veri türleri
Makine öğrenimi aynı zamanda, verilerden öğrenmek için algoritmaları kullanan bir veri analizi türü olan makine öğreniminin kısaltmasıdır.