Genel olarak yakınsama nedir
Yakınsama kavramı iyi tanımlanmış bir matematik terimidir. Esasen, bir dizi öğenin "nihayetinde" tek bir değere yaklaştığı anlamına gelir. Bu tek değere "sınır" diyoruz.
Biçimsel tanım böyle bir şeye gider:
Düşündüğünüz her pozitif hata için , sonra gelen her elementin o hatadan daha az farklı olduğu bir gerçek sayı dizisi verildiğinde (sonsuz) X0, X1, X2, ... Xn ...
diyoruz .Xn converges to a given number L
Xm
Xn
Xm
L
Misal:
Bir diziyi şöyle düşünün:
- X0 = 1
- X1 = 0.1
- X2 = 0.01
- X3 = 0.001
- X4 = 0.0001
- ...
- Xn = 1 / (10 ^ n)
Xn sıfıra yakın mı? Evet! Neden?
E hatasını düşünün (örneğin, E = 0.0025
). Bundan sonra her elemanın altında olduğu bir eleman var 0.025
mı? Evet! Bu unsur X3 = 0.001
. X2'den sonra her XN
şey aşağıda 0.0025
. Bu her E> 0 için yapılabilir mi? Evet. Seçtiğimiz her pozitif hata için, ilk ondalık noktasından önce kaç sıfır olduğunu görebiliriz ve sıra, aynı sayıda sıfır içeren öğeden başlayarak daha düşük olacaktır.
Bu demektir Xn = 1/(10^5) converges to 0
. "İstediğimiz kadar" sıfıra yaklaşabilir "gibi.
Bir algoritmanın birleşmesi ne anlama gelir?
"Teknik olarak" birleşen algoritma değil, algoritmanın manipüle ettiği veya yinelediği bir değerdir. Örneğin, PI'nın tüm rakamlarını yazdıran bir algoritma yazdığımızı varsayalım.
Algoritma aşağıdaki gibi sayıları yazdırmaya başlar:
- X0 = 3.14
- X1 = 3.141
- X2 = 3.1415
- X3 = 3.14159
- ...
Kendimize şu soruyu sorabiliriz: Algoritma her biri giderek artan oranda PI'ye yakın sayılar yazdırıyor mu? Başka bir deyişle, X0, X1, ... XN ...
algoritmamızın yazdırdığı sıra PI'ye yakınsar mı?
Öyleyse, algoritmamızın PI'ya yakınsadığını söylüyoruz.
Genellikle bir algoritmanın doğruluğunu kanıtlamakla ilgileniriz.
Genellikle, bir algoritma yazdığımızda, algoritmanın sağladığı çözümün çözdüğü sorun için doğru olup olmadığını bilmek isteriz. Bu bazen bir yakınsama şeklinde gelebilir.
Genel olarak, algoritmalar metrik dediğimiz şeye sahiptir . Metrik, algoritmanın ürettiği belirli bir sonuca verdiğimiz bir sayıdır. Örneğin, AI / Makine Öğrenimi yinelemeli algoritmalarda, algoritmanın üretime dayalı olarak oluşturduğu "hatayı" takip etmemiz çok yaygındır. Bu hata bir metriktir.
Bu yinelemeli algoritmalarda her adım farklı bir hata oluşturur. Algoritmanın yapmaya çalıştığı şey, hatayı küçülterek küçülmesini sağlamaktır. Hata dizisi yakınsa algoritmanın yakınsadığını söylüyoruz.
Bu durumlarda, global optimum
genellikle mümkün olan en düşük hataya sahip kurulum olarak tanımlanır. Bu durumda, "algoritma genel optimumya yakınsar", "algoritmanın mümkün olan en düşük hataya yaklaşan bir sırada hatalar ürettiği" anlamına gelir.
Eğer "global optimum" bizim "doğru çözümümüz" ise, algoritmamızın yakınlaştığını belirtmek, algoritmamızın doğru olduğunu belirtmekle aynıdır.
Ayrıca, bir algoritmanın birleştiğini belirtmenin bir kanıt gerektirdiğini unutmayın (0.001, 0.0001, ... için yaptığımız gibi).
Örneğin, bir sınıflandırıcı
Bunun bir örneği bir sınıflandırıcı durumunda olabilir. Sayıların tek olup olmadığını veya hatta bir makine öğrenme algoritması kullanıp kullanmadığını ve aşağıdaki veri kümesine sahip olduğumuzu sınıflandırmak istediğimizi varsayalım:
- (1, tek)
- (2, çift)
- (3, tek)
- (77, tek)
- (4, çift)
Her sayı kümesi için algoritmamız, çift veya tek ise her biri için tükürür. Bunun için bir metrik hatayı, yanlış yapılan sayının, verilen toplam öğe sayısına bölünmesiyle elde edebiliriz.
Yani, algoritmamız tükürüyorsa:
- (1, çift) // yanlış
- (2, çift)
- (3, çift) // yanlış
- (77, çift) // yanlış
- (4, çift)
Hata ölçütümüz olurdu 3/5 = 0.6
. Şimdi algoritmayı tekrar çalıştırdığımızı ve şimdi tükürdüğünü varsayalım:
- (1, çift) // yanlış
- (2, çift)
- (3, tek)
- (77, tek)
- (4, çift)
Hata ölçütümüz olurdu 1/5 = 0.2
.
Diyelim ki daha fazla çalışıyor ve hatalar dizimiz şöyle görünüyor:
0.6, 0.2, 0.1, 0.01, 0.000456, 0.00000543, 0.000000000444 ....
Yani asıl soru şu: Algoritmamız hiç sıfır olacak mı? Hiç sıfıra yaklaşacak mı? Algoritmamız her biri yakınlaşacak mı? Sonunda doğru (veya mümkün olduğunca sağa yakın) olacağını ispatlayabilir miyiz?
Umarım öyle :)