Makine öğrenimi neden asal sayıları tanımıyor?


13

Diyelim ki, n, V_n büyüklüğündeki herhangi bir tamsayı için vektör temsili var

Bu vektör, bir makine öğrenme algoritmasının girdisidir.

İlk soru: Nöral bir ağ veya başka bir vektör-bit ML haritalaması kullanarak n'nin önceliğini / bileşimini öğrenmek mümkündür. Bu tamamen teoriktir - sinir ağı muhtemelen sınırsız olabilir.

Öncelik testi ile ilgili olan gösterimleri şu şekilde göz ardı edelim: n'nin ayrı ayrılmış faktörler listesi veya Miller Rabin gibi bir kompozitlik tanığının varlığı. Bunun yerine farklı radyasyonlardaki gösterimlere veya (muhtemelen çok değişkenli) polinomların katsayı vektörleri olarak gösterimlere odaklanalım. Ya da gösterilen diğer egzotik olanlar.

İkinci soru: temsil vektörünün özelliklerine bakılmaksızın, ML algoritması türleri ne öğrenirse bunu yapmak imkansızdır? Yine, yukarıda verilen örneklerin 'önemsizlik tarafından yasaklanmış' temsillerini bırakalım.

Makine öğrenimi algoritmasının çıktısı tek bir bit, asal için 0, kompozit için 1.

Bu sorunun başlığı, soru 1 için fikir birliğinin 'bilinmiyor' ve soru 2 için fikir birliğinin 'muhtemelen çoğu ML algoritması' olduğu değerlendirmesini yansıtmaktadır. Bundan daha fazlasını bilmediğim için bunu soruyorum ve birisinin yolu göstermesini umuyorum.

Bu sorunun ana motivasyonu, bu sorunun şudur: Belirli bir büyüklükteki bir sinir ağında yakalanabilen primer kümesinin yapısında bir 'bilgi teorik' sınırı var mı? Bu tür bir terminolojide uzman olmadığım için bu fikri birkaç kez tekrarlamama ve konsepte bir Monte-Carlo yaklaşımı elde edip etmediğime bakalım: Asal setin algoritmik karmaşıklığı nedir? Primerlerin Diophantine tekrar tekrar numaralandırılabilir olması (ve belirli bir büyük diophantine denklemini karşılayabilmesi ), bir sinir ağında aynı yapıyı yukarıda açıklanan giriş ve çıkışlarla yakalamak için kullanılabilir.


12
Teori açısından, probleminiz iyi tanımlanmamıştır. Makine öğrenimi algoritmasına girdiler nelerdir? Nasıl üretilirler? Algoritma öğrenme görevinden önce ne biliyor?
Lev Reyzin

3
Bunun bu site için mevcut haliyle iyi bir soru olduğunu düşünmüyorum.
Kaveh

4
Yapabilir. Ancak makine öğreniminde veri kümesini test etme hatasını en aza indirmek istiyoruz. Üzerinde tren Şimdi, eğer öğreniyorsun sonunda olabilir f ( n ) = n 2 - n + 41 ve daha az olduğunu numaralar için mükemmel çalışıyor ki 41 . Ancak bundan sonra performansı iyi değil. İnsanlar bunu (elle :-)) ve şimdiye kadar çok başarılı olmadan denedim . ML'de kalıpları bulmaya çalışıyoruz, ya da kalıp yoksa? [1,20]f(n)=n2-n+4141
Pratik Deoghare

1
Görünüşe göre, doğal sayıların sonlandırılması için doğal sayıların sonlu dizilerinden bir fonksiyon verilen bir algoritma olup olmadığını, algoritma üzerindeki ek kısıtlamalara tabi olarak, bir primer dizisi verildiğinde bir primalite yüklemini doğru bir şekilde çıkarabilir. Kısıtlamanızın daha ileri düzeyde ifade edilmesi önemsizdir. Kesinleştirmeye çalışırsanız, görebilirsiniz.
Vijay D

1
Basit bir cevap, çünkü aradığınız asal sayı fonksiyonunun f arama alanına yakınlaştırmak zor olduğu için (yani, n asal ise f ( n ) 1 ve her n için 0 olursa ) döndürür . @PratikDeoghare yorumuna ilişkin olarak, bir desen bulmak zordur S . Sff(n)nnS
AJ

Yanıtlar:


-8

bu, sayı teorisi, matematik, TCS ve özellikle Otomatik Teorem İspatı ile derinlemesine çok sayıda bağlantı içeren eski bir soru / problemdir. [5]

eski, neredeyse antik soru, "asalları hesaplamak için bir formül var mı?"

cevap, evet, bir anlamda, onu hesaplamak için çeşitli algoritmalar vardır .

Riemann zeta fonksiyonu, primerleri bulmak için bir "algoritma" olarak yeniden yönlendirilebilir.

Bana göre bir GA, genetik-algoritma yaklaşımının bu problem üzerinde ustaca bir kurulumla başarılı olabileceğini düşünüyorum, yani GA'lar en başarılı olma şansına sahip en yakın bilinen teknolojidir. [6] [7] matematiksel indüksiyona çok benzeyen sonlu örneklerden bir algoritma, yani makine öğrenimi bulma problemidir. ancak şimdiye kadar sayı teorisinde GA'ların uygulanması konusunda fazla araştırma yapılmamıştır.

mevcut literatürde buna en yakın olan, örneğin ikiz ana varsayımı otomatik bir şekilde geliştirmeyi tartışan [8], yani "otomatik varsayım oluşturma" gibi görünmektedir.

diğer bir yaklaşım, standart tamsayı dizilerini tanımak için bazı karmaşık dönüşüm mantığıyla birlikte çok sayıda standart işlev tablosu içeren bir programdır. bu Mathematica'da yerleşik findsequence[3] adında yeni bir işlevdir

aynı zamanda "deneysel matematik" [9,10] veya TCS'de "ampirik" araştırma olarak da adlandırılan nispeten yeni bir alanla bağlantılıdır.

burada yapılması gereken bir başka temel nokta, primer dizisinin "düz" olmadığı, oldukça düzensiz, kaotik, fraktal ve standart makine öğrenme algoritmalarının tarihsel olarak sayısal optimizasyona ve hatayı minimize etmeye (örn. gradyan iniş) bağlı olmasıdır. ayrık sorunlara kesin cevaplar bulma konusunda iyi. ancak yine GA'lar başarılı olabilir ve bu alanda / rejimde başarılı oldukları gösterilmiştir.

[1] n'inci asal için bir matematik denklemi var mı , math.se

[2] asal formül , wikipedia

[3] wolfram bulma fonksiyonu

[4] riemann zeta işlevi

[5] otomatik teorem kanıtlama başarısı

[6] gerçek dünyada genetik algoritma uygulamaları

[7] Wang tarafından kanıtlanmış otomatik thm'ye genetik algoritmalar uygulamak

[8] İK, Otter ve Maple colton kullanarak Sayı Teorisinde Otomatik Konjonktür Yapımı

[9] TCS'de deneysel matematiğin uygulamaları var mı?

[10] Deneysel algoritmalar üzerine bir okuma listesi


1
bu harika bir cevap. Emin eğer site kabul edecek, ama ben ne aradığını oldu. Eski bağlantıları keşfetmek ve yaşlandırmak için bir sürü yeni yön. Teşekkürler, gerçekten takdir ediyorum. Özellikle GA'lar. Ayrıca, satırlar arasında okudunuz ve makine öğrenmesinden 'asallar için formüler'e kadar genelleştirdiniz. Bu çok faydalı teşekkürler.
Cris Stringfellow

11
@Cris, bu cevapta makine öğrenimi ile ilgili neredeyse hiçbir şey yok. Aryeh'in cevabı hakkındaki yorumunuzdan makine öğrenimine aşina olmadığınız anlaşılıyor (bir makinenin örnek listesinden öncelik testi gibi bir algoritmayı nereden öğrendiğini sorabilir miyim?)
Kaveh

6
GA, meşhur sonsuzluk maymununun bir gün Shakespeare
Sasho Nikolov'un

@sasho, henüz gösterilmedi ama (evet, imho) muhtemelen teknoloji sınırlamaları değil, daha ziyade girişim eksikliği nedeniyle. koza, GA'ların pacman (ilkellerin lisp ağaçları aracılığıyla) gibi video oyunları için karmaşık algoritmaları "çözmesi / öğrenmesi" ve ayrıca alt bileşenler kullanarak devreler oluşturduğunu gösterdi. en azından asal bulmak kadar zor değil mi? asıl soru, sistemin ne tür ilkellere sahip olacağı ve çözümü nasıl ilkel bulabilecekleri ve hala bulabilecekleri?
vzn

19

Soru, bence oldukça belirsiz ve bazı yanlış anlaşılmaları içeriyor, bu nedenle bu cevap sadece doğru kelimeleri sağlamaya ve sizi doğru yöne yönlendirmeye çalışıyor.

Bilgisayar biliminin bu tür sorunları doğrudan inceleyen iki alanı vardır. Tümevarımsal çıkarım ve hesaplamalı öğrenme teorisi . İki alan çok yakından ilişkilidir ve ayrım biçimsel olmaktan ziyade sosyal ve estetik bir alan.

Sonlu alfabe Fix ve tüm diller kümesi P ( A * ) üzerinde sonlu uzunlukta kelimeden oluşan A . A açısından ifade edebileceğiniz her şey budur . Şimdi dillerin bir aileyi düşünün FP ( A * ) . Bunu ilgilendiğiniz kavramlar olarak düşünebilirsiniz . Sıklıkla önem verdiğiniz kavramlar ailesini düzeltmeniz gerekir, çünkü diğerlerinin de işaret ettiği gibi, kavramın temsili ve veri sunumu son derece önemlidir.birP(bir*)birbirFP(bir*)

f:N-bir*

benN-f(ben)=T, bazı T içinde F.

Bu nedenle, olumlu verilerin sunumu, genellikle bazı ek adalet koşullarının atıldığı hedef kavramın numaralandırılmasıdır. Benzer şekilde, dilde olup olmadıklarına bağlı olarak kelimeleri etiketleyen bir sunum isteyebilirsiniz. Yine, tüm kelimelerin adaletini ve kapsamını sağlamak için ek koşullar ekleyebilirsiniz.

R,epMR,epL(M)

p:N-R,epL(p(ben))f(j)jbenkjkL(p(j))=L(p(j+1))

Bunun, belirli bir öğrenme modelinin yalnızca tek bir resmileştirmesi olduğunu vurgulayayım. Ama bu, ilgilendiğiniz soruları sormaya ve incelemeye başlamadan önce sıfırdır. Öğrenme modeli, öğrenci ve öğretmen arasındaki etkileşime izin verilerek zenginleştirilebilir. Rasgele dil aileleri yerine, çok spesifik dilleri ve hatta belirli gösterimleri (monoton Boole işlevleri gibi) düşünebiliriz. Her modelde öğrenebileceğiniz şeyler ile öğrenmenin karmaşıklığı arasında bir fark vardır. İşte temel bir imkansızlık sonucunun bir örneği.

Altın [1967] Tüm sonlu dilleri ve en az bir süper sonlu dili içeren hiçbir dil ailesi, yalnızca olumlu verilerden pasif olarak öğrenilemez.

Bu sonucu yorumlarken çok dikkatli olunmalıdır. Örneğin, Dana Angluin 80'lerde

k

k

Angluin [1987] Normal diller, denklik sorgularını yanıtlayan ve karşı örnekler sağlayan bir öğretmenden öğrenilebilir. Algoritma, minimum DFA durumları kümesinde ve maksimum karşı örnek örneğinin uzunluğunda polinomdur.

Bu oldukça güçlü ve olumlu bir sonuçtur ve son zamanlarda birkaç uygulama bulmuştur. Bununla birlikte, her zaman olduğu gibi, aşağıdaki makalenin başlığı zaten önerdiği gibi, ayrıntılar önemlidir.

Minimum tutarlı DFA problemi, polinom içinde ve Pitt ve Warmuth, 1989'da tahmin edilemez.

Şimdi merak ediyor olabilirsiniz , bunlardan herhangi biri sorunuzla nasıl ilgili? Benim cevabım, probleminizin matematiksel bir tanımının tasarım alanının çok büyük olması ve bu alanda seçtiğiniz belirli noktanın alacağınız cevapların türünü etkileyeceğidir. Yukarıdakilerin, öğrenme sorununun nasıl resmileştirileceğine dair kapsamlı bir anket olması amaçlanmamıştır. Sadece araştırmak isteyebileceğiniz yönü göstermek içindir. Alıntı yaptığım tüm referanslar ve sonuçlar son derece tarihli ve alan o zamandan beri çok şey yaptı. Sorunuzu kesin bir şekilde formüle etmek ve aradığınız cevabın zaten mevcut olup olmadığını belirlemek için yeterli arka planı elde etmek için başvurabileceğiniz temel ders kitapları vardır.


Bu harika @Vijay D, bunun için teşekkürler.
Cris Stringfellow

Bu kötü biçimlendirilmiş bir soru. Aşağıdaki cevabım (ve yorumlarım) nedenini gösteriyor. ML primerleri tanıyabilir, ancak herhangi bir pratik anlamda çok uzun sürmez. Bu hayvanın doğası böyledir.
Dominic Cerisano

12

Bir öğrenme algoritmasının başarısı eleştirel olarak temsile bağlıdır. Girdiyi algoritmaya nasıl sunuyorsunuz? Aşırı bir durumda, sayıları asal faktörlerin dizileri olarak sunduğunuzu varsayalım - bu durumda öğrenme oldukça önemsizdir. Başka bir uçta, sayıları ikili dizeler olarak göstermeyi düşünün. Bildiğim tüm standart öğrenme algoritmaları burada başarısız olur. İşte işe yarayacak olanı: tüm pozitif örnekleri kabul eden ve tüm negatif olanları reddeden en küçük Turing makinesini bulun. [Alıştırma: bunun evrensel bir öğrenici olduğunu kanıtlayın.] Bununla ilgili bir sorun, görevin Turing ile hesaplanamaz olmasıdır. Bir şeyleri perspektife sokmak için, sadece ikili temsile dayalı olarak öncelikliliği tanımayı öğrenebilir misiniz ?


Miller Rabin algoritmasını 'öğrenirsem' ikili ikili tabanlı ilkelliği tanımayı öğrenebilirim. Ama böyle şeylerin ötesine geçmek ve başka bir şey olup olmadığını görmek istiyorum. Bahsettiğiniz görev Turing uyumlu değil mi?
Cris Stringfellow

6
Örneğin, hedef işlev sınıfına değinmeden burada bir öğrenme problemi hakkında nasıl konuşabileceğini anlamıyorum.
Lev Reyzin

1
Lev, tabii ki - ama fonksiyon sınıflarının tartışılması sorunun kapsamının ötesinde olacağını düşündüm ... :)
Aryeh

-1

Bu problem modern araştırmanın bir parçasıdır: giriş ve çıkış verileri verildiğinde, girdiden çıktı üreten en basit algoritmayı bulun. RNN ağları Turing-complete'tur, bu nedenle teorik olarak sonsuz SGD ile bu koda eşdeğer olan RNN'ye girebilirsiniz:

bool isPrime(int n, int d) {
    if(n<2)
        return 0;
    if(d == 1)
        return true;
    else 
    {
        if(n % d == 0) 
            return false;
        else
            return isPrime(n, d - 1);
    }
}

bu veri kümesinde: 0 => 0, 1 => 0, 2 => 1, 3 => 1, 4 => 0, 5 => 1, ... vb.

Sorun şu ki, SGD yakınsaması hakkında pratik olarak güvenilir bir teorimiz veya yakınsama veya sinir ağı derinliği için gereken zaman tahminleri yoktur. Ancak son araştırmalar, benzer sorunların çözülebileceğini gösteriyor:

https://en.wikipedia.org/wiki/Neural_Turing_machine

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/10/curr_opin_sys_biol_17.pdf

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/cav13.pdf

anahtar kelimeleri aramak için google bilgini kullanın ...


-3

Makine öğrenimi, hesaplama karmaşıklığı yasalarına tabidir.

Temel çarpanlara ayırma problemi NP karmaşıklık sınıfındadır, muhtemelen NP açısından bile zordur (kanıtlanmamıştır).

Bu nedenle, primerleri saptamak, makine öğrenimindeki en zor problemler arasındadır ve bu yaklaşımla hiç mümkün olmayabilir.

Kuantum bilgisayarlar (QC) polinom zamanında yapabilir, ancak Shor'lar makine öğrenimi değil kaba-kuvvet determinizmidir.

Muhtemelen Shor'lara dayanan bir QC öğrenme algoritması bir yaklaşımdır. Bunu önererek sadece kayaları bir araya getiriyorum.


1
PRIMES P'de, bu yüzden “asalları tespit etmek” ML'deki en zor problemler arasında - ya da bilgisayar biliminin herhangi bir dalında olduğunu söyleyemem. Cevabımda ve altındaki yorumlarda açıklandığı gibi “her şey temsil ile ilgili” eve çok daha yakın geliyor.
Aryeh

Afedersiniz, P ≠ NP! PRIMES ko-NP'dir ve P'de çözmek için şu anda herhangi bir bilgisayar paradigmasında - özellikle de makineyi öğrenmenizden - nasıl temsil ederseniz edin, - tamamen uygun olmayan bir Galaktik algoritma gerekir. Herhangi bir pratik anlamda NP ve muhtemelen NP-zordur, teşekkürler.
Dominic Cerisano

1
@Birkensocks, Primality testini Faktoring ile sınırlandırıyor gibi görünüyor. "PRIMES P'de" aslında ilkliği kontrol etmek için bir polinom-zaman algoritması sağlayan kağıdın adıdır, en.wikipedia.org/wiki/AKS_primality_test . Ayrıca, Faktoring'in NP ve ko-NP'de olduğunu, NP-sert olması pek olası olmadığını unutmayın, örneğin bkz. Blog.computationalcomplexity.org/2002/09/…
Rahul Savani

Evet sanırım bunu zaten söyledim ...
Dominic Cerisano
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.