Daha çox

Nöqtələrdən düz xətt çəkmək üçün səmərəli bir alqoritm nədir?


Məndə belə olan bəzi kəsikli anket məlumatları var:

XYZ 2970969.635 359725.0088 83.4242 1-x 2970968.278 359722.2182 83.2591 1-x 2970941.771 359670.127 83.0655 1-x 2970961.369 359708.6424 83.4785 1-x 2970950.888 359688.048 85.2994 1-x 2970955.084 359696.2922 83.6479 1-x 2970953.47 359693.1165 84.9628 1-x 2970948.813 359683.977 83.1451 1-x pt_dt 2970931.904 359650.7413 83.1042 1-x

X və Y-dən bal toplamaq üçün istifadə etdiyim zaman xəritədəki nöqtələri belə görə bilərəm:

İndi etməyim lazım olan şey, xətti ardıcıllıqla (yəni soldan sağa və ya sağdan sola) almaqdır ki, kəsişmə profili kimi xidmət edə biləcək bir 3D xətt yarada bilərəm.

Mövcud alqoritmim hər cüt cüt arasındakı məsafəni hesablamaqdır (pt_dt ilə göstərilən verilən bir kəsik üçün). Maksimum məsafəyə malik cütlük ən kənar nöqtələrdir. Sonra nöqtələri ən kənar nöqtələrdən birinə olan məsafəyə əsasən düzəldirəm. Bu alqoritmi pythonda tətbiq etdim və işləyir.

Bu alqoritm O (n2); Mənim bütün məlumatlarım təxminən 5000 belə anketdən ibarətdir, buna görə azaltacağım hər hansı bir mürəkkəblik faydalı olacaqdır.

Bunu etmək üçün daha səmərəli bir yol və ya alqoritm varmı?


Andre'nin şərhini nəzərə alaraq və öyrənmək üçün başqa bir istifadəçinin cavabını dəyişdirərək nümunə məlumatlarınızdan 3D Xətt yaratdım. Ümid edirəm sizə və ya başqasına faydalı ola bilər:

X, Y, Z, pt_dt 2970969.635,359725.0088,83.4242,1-x 2970968.278,359722.2182,83.2591,1-x 2970941.771,359670.127,83.0655,1-x 2970961.369,359708.6424,83.4785,1-x 2970988.87 -x 2970955.084,359696.2922,83.6479,1-x 2970953.47,359693.1165,84.9628,1-x 2970948.813,359683.977,83.1451,1-x 2970931.904,359650.7413,83.1042,1-x

idxal csv idxal numpy kimi np cəhd edin: ImportError xaricində osgeo import ogr, osr SHP_FILENAME = "output.shp" CSV_FILENAME = "exp_data.csv" r = csv.reader (açıq (CSV_FILENAME, 'r'), ayırıcı = ",", quotechar = Yoxdur) başlıq = dict (((str, i) i üçün, sayda str (r.next ()))) #print başlığı # yaddaş satırlarına məlumat satırlarını yükləyin = [satır üçün sıra r-də # # y-dən böyükdürsə x ilə sıralanır. əks təqdirdə y np_rows = np.array (satır) np_rows = np.delete (np_rows, header ['pt_dt'], axis = 1) np_rows = np_rows.astype (np.float) rows.sort (key = lambda x: x [0] əgər np_rows.ptp (ox = 0) [0]> np_rows.ptp (ox = 0) [1] başqa x [1]) # Yeni shapefile yaradın ogr.UseExceptions () sr = osr.SpatialReference () sr.ImportFromEPSG (900913) ds = ogr.GetDriverByName ('ESRI Shapefile'). CreateDataSource (SHP_FILENAME) layer = ds.CreateLayer ("data", sr, ogr.wkbLineString25D) # Yeni bir sətir həndəsi xətti yaradın type = ogr.wkbLineString25D) line.SetCoordinateDimension (3) # satırda GPS nöqtələri əlavə edin lon_idx, lat_idx, Z_idx = header ['X'], header ['Y'], header ['Z'] in row in row: line .AddPoint (float (row [lon_idx]), float (row [lat_idx]), float (row [Z_idx])) # shapefile xüsusiyyətinə yeni bir xüsusiyyət olaraq sətir əlavə edin = ogr.Feature (feature_def = layer.GetLayerDefn () ) xüsusiyyət.SetGeometryDirectly (xətt) qat.CreateFeature (xüsusiyyət) # Təmizləmə xüsusiyyəti.Destroy () ds.Destroy ()

Veriləri kiçiltməklə alqoritmləri sürətləndirmək

Kompüter elmində günün ən məşhur sözü "böyük məlumatlar" dır. GPS alıcıları, akselerometrlər və smartfonlardakı kameralar kimi ucuz, İnternetə qoşulmuş sensorların çoxalması, potensial istifadəsi hələ öyrənilməmiş bir məlumatın partlaması deməkdir. Böyük ölçüdə, bu, bütün bu məlumatların işlənməsinin həddən artıq vaxt apara biləcəyindən irəli gəlir.

Əksər kompüter alimləri, daha da səmərəli alqoritmlər hazırlayaraq böyük məlumatları daha yaxşı anlamağa çalışırlar. Lakin bu ay Hesablama Maşınları Dərnəyinin Coğrafi İnformasiya Sistemlərindəki İnkişafa dair Beynəlxalq Konfransında təqdim olunan bir məqalədə MIT tədqiqatçıları əksinə yanaşaraq məlumatları təqdim etməyin yeni bir yolunu təsvir edir, beləliklə yaddaşda daha az yer tutur, lakin hələ də ola bilər ənənəvi yollarla işlənmişdir. Əhəmiyyətli hesablama sürətləndirilməsi vəd edilsə də, yanaşma mövcud böyük alqoritmlərlə işləyə biləcəyi üçün digər böyük məlumat metodlarına nisbətən daha çox tətbiq oluna bilər.

Yeni sənəddə tədqiqatçılar texnikalarını GPS alıcıları tərəfindən yaradılan iki ölçülü yer məlumatlarına tətbiq edirlər; bu da texnikanın necə işlədiyini açıq şəkildə göstərən çox təbii bir tətbiqdir. Kompüter elmləri və mühəndisliyi professoru və MIT-in Kompüter Elmləri və Süni Zəka Laboratoriyasının müdiri Daniela Rusun izah etdiyi kimi, GPS qəbulediciləri hər 10 saniyədə bir mövqe oxuyur və bu da hər gün bir gigabayt məlumat əlavə edir. Trafik qaydalarını çıxarmaq üçün on minlərlə avtomobildən GPS məlumatlarını işlətməyə çalışan bir kompüter sistemi sürətlə aşdı.

Ancaq bir avtomobilin keçdiyi marşrutu analiz edərkən ümumiyyətlə marşrut boyunca hər nöqtənin dəqiq koordinatlarını nəzərə almaq lazım deyil. Əsas məlumat avtomobilin bu nöqtələr arasındakı yolu düz bir xəttlə yaxınlaşdırmaq üçün döndüyü nöqtələrdir. Yeni alqoritm budur.

Rus qrupundakı bir postdoc və yeni sənədin aparıcı müəllifi Dan Feldman, alqoritmin əsas cəhətini, məlumatları anında sıxa bilməkdir. Məsələn, bir avtomobildən aldığı ilk meqabayt məlumatı sıxa bilər, sonra başqa bir meqabayt qurana qədər gözləyin və yenidən sıxılsın, sonra başqa bir meqabayt gözləyin və s. Və buna baxmayaraq məlumatların son nümayişi demək olar ki, qorumuşdu alqoritm sıxılmadan əvvəl bütün məlumatların gəlməsini gözləmiş kimi çox məlumat.

Xətt çəkmək

Feldman deyir ki, müəyyən mənada nöqtələr arasındakı yolların yaxınlaşdırılması problemi, reqressiya təhlili ilə həll olunan problemə bənzəyir, statistikada geniş yayılmış bir məlumat nöqtəsinə bir sətir tapan bir prosedur. Bununla yanaşı, böyük bir fərq, tədqiqatçıların alqoritminin məlumat nöqtələrinə ən uyğun olan bir sıra xətt seqmentləri tapmasıdır.

Feldmanın izah etdiyi kimi, xətt seqmentlərinin sayının seçilməsi dəqiqlik və mürəkkəblik arasında mübahisəni nəzərdə tutur. Feldman, "N nöqtəniz varsa, k" - sətir seqmentlərinin sayı - "1 ilə N arasındakı bir rəqəmdir və k artırdığınız zaman səhv daha kiçik olacaq" deyir. “Yalnız hər iki nöqtəni birləşdirsəniz, səhv sıfıra bərabər olacaq, lakin o zaman yaxşı bir yaxınlaşma olmayacaq. Doğrusal regresiya kimi k-ı 1-ə bərabər götürsəniz, bu çox kobud bir təxmini olacaqdır. ” Beləliklə, alqoritmin ilk vəzifəsi xətt seqmentlərinin sayı ilə səhv arasında optimal qarşılıqlı əlaqəni tapmaqdır.

Növbəti addım, k sətri seqmentlərinin ən yaxşı dəstini hesablamaqdır - verilənlərə ən uyğun olanlar. Ancaq bundan sonrakı addım həlledici addımdır: Hər bir dağılma nöqtəsinə ən uyğun olan xətt seqmentinin riyazi təsvirini saxlamağa əlavə olaraq, alqoritm nöqtələrin təsadüfi seçilməsinin dəqiq koordinatlarını da saxlayır. Xəttdən daha çox düşən nöqtələrin seçmə ehtimalı daha yüksəkdir, lakin nümunə götürülən nöqtələrə nümunə götürmə şansı ilə tərs mütənasib bir ağırlıq da verilir. Yəni, xəttə yaxın nöqtələrin seçmə ehtimalı daha azdır, lakin onlardan biri seçildiyi təqdirdə daha çox çəki verilir, çünki daha çox seçilməmiş nöqtələrə dayanır.

Alqoritmin anında məlumatları sıxmasını təmin edən xətti yaxınlaşmalar və təsadüfi nümunələrin bu birləşməsi. Nümunələr əsasında alqoritm, yeni məlumatlar gəldikdə, ehtiyac olarsa, optimal xətt seqmentlərini yenidən hesablaya bilər.

Məmnuniyyət zəmanətlidir

Sıxılma zamanı bəzi məlumatlar itir, ancaq Feldman, Rus və məqalənin üçüncü müəllifi olan aspirant Cynthia Sung, ortaya çıxan səhvin aşağı bir eşik altında qalacağına dair ciddi riyazi zəmanətlər verə bildilər. Bir çox böyük məlumat kontekstində bir az səhv bir təxmini, ümumiyyətlə yerinə yetirilə bilməyən bir hesablamadan daha yaxşıdır.

Prinsipcə, eyni yanaşma GPS qəbulediciləri tərəfindən qeydə alınan ikidən daha çox ölçüdə hər cür məlumatla işləyə bilər. Məsələn, hər bir GPS oxunuşu ilə bir maşın həm də temperaturu və hava təzyiqini qeyd edə bilər və qabaqdakı yolun anını çəkə bilər. Hər bir əlavə ölçmə birdən çox ölçüdə bir nöqtənin başqa bir koordinatı olacaqdır. Sonra, sıxılma həyata keçirildikdə, təsadüfi seçilmiş nöqtələrə anlar və atmosfer məlumatları daxil ediləcəkdir. Verilənlər, məsələn, trafik qaydaları çıxarmaqla yanaşı, xəritədə hər hansı bir yol zolağını xarakterizə edən fotoşəkillər çəkən bir kompüter sistemi üçün əsas rolunu oynaya bilər.

Texnikanın yeni tətbiqlərini müəyyənləşdirməkdə məqsəd, nöqtə dağılmalarının xətti yaxınlaşmalarının aydın mənaya malik olduğu halları tapmaqdır. GPS məlumatları üçün bu sadədir: Hər bir sətir seqmenti növbələr arasında gedən təxmini yolu təmsil edir. Feldman'ın araşdırdığı yeni tətbiqetmələrdən biri, hər bir satır seqmentinin bir mənzərəni və xətt seqmentləri arasındakı kəsişmələrin kəsikləri təmsil etdiyi video məlumatların təhlili. Orada da məlumatların son təqdimatı avtomatik olaraq hər səhnədən nümunə çərçivələrini əhatə edəcəkdir.

Berkeley-dəki Kaliforniya Universitetinin sistem mühəndisliyi dosenti Alexandre Bayenin dediyinə görə, MIT tədqiqatçılarının yeni sənədi “bir GPS siqnalından təkrarlanan nümunələrin çıxarılması və bu məlumatlardan istifadə edərək GPS axını üçün xəritələr hazırlamaq üçün“ sahəyə öncülük edir ”. məlumatlar. ”

Kompüter elmləri ifadəsi ilə Bayen izah edir ki, daha böyük bir dəstə kimi işlənə bilən azaldılmış bir məlumat dəstinə “koreset” deyilir. "Koreset böyük məlumat problemlərinə yaxşı bir həlldir, çünki siqnalın semantik cəhətdən vacib hissələrini səmərəli şəkildə çıxardırlar və yalnız bu məlumatları işləmək üçün istifadə edirlər" Bayen deyir. "Bu vacib hissələr elə seçilmişdir ki, alqoritmi korset məlumatları üzərində işləmək, alqoritmi bütün məlumat dəsti üzərində işlətməkdən bir qədər pisdir və bu səhv zəmanət verilən həddədir."


Mündəricat

Bresenhamın xətt alqoritmi 1962-ci ildə IBM-də inkişaf etdirən Jack Elton Bresenhamın adını daşıyır. 2001-ci ildə Bresenham yazırdı: [1]

IBM-in San Jose inkişaf laboratoriyasında hesablama laboratoriyasında çalışırdım. Calcomp plotter, 1407 daktilo konsolu vasitəsilə bir IBM 1401-ə əlavə edilmişdir. [Alqoritm] 1962-ci ilin yayında, ehtimal ki, bir ay və ya daha əvvəl istehsal olunmaqda idi. O dövrdəki proqramlar sərbəst şəkildə şirkətlər arasında mübadilə olunurdu, beləliklə Calcomp (Jim Newland və Calvin Hefte) nüsxələri var idi. 1962-ci ilin payızında Stanford-a qayıdandan sonra bir nüsxəsini Stanford komp mərkəzi kitabxanasına qoydum. Xətt çəkmə qaydasının təsviri 1963-cü ildə Kolorado ştatının Denver şəhərində keçirilmiş ACM milli konqresində təqdimat üçün qəbul edildi. Heç bir mühakimə olunmadığı bir il idi, yalnız ACM-nin Rabitə sayında məruzəçilərin gündəmi və mövzular. IBM Systems Journal-dan bir nəfər təqdimatımı təqdim etdikdən sonra məndən məqaləni dərc edə biləcəyinizi soruşdu. Xoşbəxtliklə razılaşdım və 1965-ci ildə çap etdilər.

Bresenhamın alqoritmi dairələr, elipslər, kub və kvadrat bezier əyriləri və bunların yerli yumşaqlığa qarşı versiyaları istehsal etmək üçün genişləndirilmişdir. [2]

Aşağıdakı konvensiyalardan istifadə ediləcək:

  • soldan yuxarı (0,0), piksel koordinatlarının sağ və aşağı istiqamətdə artması (məs. (7,4) səviyyəsindəki pikselin (7,5) səviyyəsindəki pikselin üstündə olması) və
  • piksel mərkəzlərinin tam koordinatları var.

Bresenhamın alqoritmi tam ədədi seçir y idealına ən yaxın olan piksel mərkəzinə uyğun (kəsirli) y eyni üçün x ardıcıl sütunlarda y eyni qala bilər və ya 1 artıra bilər. Son nöqtələr arasındakı xəttin ümumi tənliyi aşağıdakı kimi verilir:

Sütunu bildiyimiz üçün x, piksel sırası, y, bu kəmiyyəti ən yaxın tam ədədə yuvarlaqlaşdırmaqla verilir:

Praktikada alqoritm artan y koordinatını izləmir m = ∆y / ∆x hər dəfə x hər mərhələdə bir xətti bir-bir artırır və bu xəttin pikseldən çıxdığı nöqtədən (b) pikselin yuxarı kənarına qədər olan məsafənin mənfi olduğunu göstərir. Bu dəyər əvvəlcə y 0 - 0.5 < displaystyle y_ <0> -0.5> olaraq təyin edilir (pikselin mərkəzi koordinatlarını istifadə etdiyinə görə) və artırılır m hər dəfə x koordinat bir artırılır. Xəta daha böyük olarsa 0.5, bilirik ki, xətt bir piksel yuxarıya doğru irəliləyib və bizimkini artırmalıyıq y yeni pikselin üstündən məsafəni təmsil etmək üçün səhvləri əlaqələndirin və yenidən tənzimləyin - bu səhvdən birini çıxarmaqla edilir. [3]

Bresenhamın alqoritmini çıxarmaq üçün iki addım atılmalıdır. İlk addım bir xətt tənliyini tipik yamac kəsmə formasından fərqli bir şeyə çevirmək və sonra bu yeni tənlikdən istifadə edərək səhv toplama fikrinə əsaslanan bir xətt çəkməkdir.

Xətt tənliyi Düzəliş edin

Bir xəttin yamac-kəsmə forması belə yazılır

burada m yamac, b isə y kəsmədir. Bu, yalnız x funksiyadır və bu tənliyi həm x, həm də y funksiyası kimi yazmaq faydalı olardı. Cəbri manipulyasiya və yamacın "qaçışdan qalxma" və ya Δ y / Δ x < displaystyle Delta y / Delta x> olduğunu tanıma.

Bu son tənliyin x və y funksiyaları olmasına imkan verdikdə, belə yazmaq olar

f (2, 2) = x - 2 y + 2 = (2) - 2 (2) + 2 = 2 - 4 + 2 = 0

və nöqtə (2,3) sətirdə deyil

f (2, 3) = (2) - 2 (3) + 2 = 2 - 6 + 2 = - 2

və nə də nöqtə (2,1)

f (2, 1) = (2) - 2 (1) + 2 = 2 - 2 + 2 = 2

Diqqət yetirin (2,1) və (2,3) nöqtələri xəttin əks tərəflərindədir və f (x, y) müsbət və ya mənfi qiymətləndirir. Xətt bir təyyarəni yarıya bölür və mənfi f (x, y) olan yarı müstəviyə mənfi yarı müstəviyə, digər yarısına da müsbət yarı müstəviyə deyilə bilər. Bu müşahidə türevin qalan hissəsində çox vacibdir.

Alqoritm Düzəliş

Aydındır ki, başlanğıc nöqtəsi xətt üzərindədir

yalnız ona görə ki, sətir bütöv koordinatlarda başlayacaq və bitirəcəkdir (tam olmayan bitiş nöqtələri ilə bir xətt çəkmək istəmək tamamilə ağlabatan olsa da).

Bitişik şəkildə yaşıl (3,2) və (3,3) iki namizəd nöqtəsi ilə xətt üzərində seçilmiş mavi nöqtə (2,2) göstərilir. Qara nöqtə (3, 2.5) iki namizəd nöqtəsi arasındakı orta nöqtədir.

Tam arifmetik Düzəliş üçün alqoritm

Alternativ olaraq, ballar arasındakı fərq orta nöqtələrdə f (x, y) qiymətləndirmək əvəzinə istifadə edilə bilər. Bu alternativ metod ümumilikdə üzən nöqtəli hesabdan daha sürətli olan tam ədədi hesablamağa imkan verir. Alternativ metodu əldə etmək üçün fərqi aşağıdakı kimi müəyyənləşdirin:

İlk qərar üçün, başlanğıc nöqtəsində f (x 0, y 0) = 0 < displaystyle f (x_ <0>, y_ <0>) = 0> olduğu üçün bu formulyasiya orta nöqtə metoduna bərabərdir. Bu ifadəni sadələşdirmək aşağıdakıları verir:

Alqoritm üçün bütün nəticə çıxarıldı. Bir performans məsələsi, D-nin başlanğıc dəyərindəki 1/2 faktordur. Bütün bunlar yığılmış fərqin işarəsi ilə əlaqəli olduğundan, nəticəsiz hər şey 2-yə vurula bilər.

Bu, yalnız tam ədədi istifadə edən bir alqoritmlə nəticələnir.

Bu süjetin nəticəsi sağda göstərilir. Çizimə xətlərin kəsişməsində (mavi dairələr) və ya piksel qutularını (sarı kvadratlar) dolduraraq baxmaq olar. Asılı olmayaraq, hiylə qurmaq eynidir.

Bütün hallar Redaktə edin

Lakin yuxarıda qeyd edildiyi kimi, bu yalnız oktant sıfır üçündür, yəni x ilə iterasiya başına tam 1, y isə 0 və ya 1 artdıqda 0 ilə 1 arasındakı bir qradent ilə başlanğıcdan başlayır.

Alqoritmin y-nin artmasına və ya azalmasına ehtiyac olub olmadığını yoxlayaraq 0 ilə -1 arasındakı gradiyanları əhatə etmək üçün genişləndirilə bilər (yəni dy & lt 0)

X və y oxunu dəyişdirərək pozitiv və ya mənfi dik qradiyentlər üçün bir tətbiq olaraq yazmaq olar

Tam bir həll üçün x1 & gt x0 və ya y1 & gt y0 olub olmadığını müəyyənləşdirməli və rəsmdən əvvəl giriş koordinatlarını tərsinə çevirməlidir.

Video yaddaşına birbaşa daxil olan aşağı səviyyəli tətbiqetmələrdə, şaquli və üfüqi xətlərin xüsusi hallarının yüksək dərəcədə optimallaşdırıla biləcəyi üçün ayrıca işlənməsi tipik olardı.

Bəzi versiyalarda X və y koordinatları arasındakı müsbət və mənfi səhvləri tarazlaşdıraraq bütün sekizli xətt çəkmələrini yerinə yetirmək üçün Bresenhamın tam artımlı səhv prinsiplərindən istifadə olunur. [2] Nəzərə alın ki, sifarişin başqa sözlə zəmanət verilməməsi, xəttin (x0, y0) -dən (x1, y1) -ə və ya (x1, y1) -dən (x0, y0) -ə qədər çəkilə biləcəyini unutmayın.

Bresenham alqoritmi bir az dəyişdirilmiş rəqəmsal diferensial analizator kimi təfsir edilə bilər (üst-üstə düşməyən çoxbucaqlı rasterləşdirmə üçün tələb olunan 0 əvəzinə 0,5 səhv həddidir).

Bölmə əməliyyatları yerində artan bir səhv istifadə prinsipi qrafikdə digər tətbiqlərə malikdir. Bu texnika ilə toxuma eşlenen poliqonların raster taraması zamanı U, V koordinatlarını hesablamaq mümkündür. [4] Bəzi PC oyunlarında görülən voxel heightmap proqram təmin edən mühərrikləri də bu prinsipdən istifadə etdi.

Bresenham ayrıca bir Run-Slice (Run-Length-dən fərqli) hesablama alqoritmini nəşr etdirdi. Bu metod bir sıra ABŞ patentlərində təmsil edilmişdir:

5,815,163 Hesablama zamanı xətt dilimlərinin çəkilməsi üsulu və aparatı
5,740,345 Səmərəli rəng indeksləşdirmə sistemi ilə sıxılmış formatda saxlanan kompüter qrafik məlumatlarını göstərmək üçün metod və aparat
5,657,435 Qeyri-xətti miqyaslandırma imkanları ilə dilim xətti çəkmə mühərrikini işə salın
5,627,957 İnkişaf etmiş işləmə imkanları ilə dilim xətti çəkmə mühərrikini işə salın
5,627,956 Uzanma qabiliyyətləri ilə dilim xətti çəkmə mühərrikini işə salın
5,617,524 Gölgələmə imkanları ilə dilim xətti çəkmə mühərrikini işə salın
5,611,029 Xətti olmayan kölgələmə imkanları ilə dilim xətti çəkmə mühərrikini işə salın
5,604,852 Parametrik əyrinin video ekranında göstərilməsi üçün metod və aparat
5,600,769 İnkişaf etmiş kəsmə texnikaları ilə dilim xətti çəkmə mühərrikini işə salın

Qalın xətləri idarə edən alqoritmə bir uzantı Alan Murphy tərəfindən IBM-də yaradıldı. [5]


Proyeksiya xüsusiyyətləri

Bütün xəritə proqnozları Yer səthindəki quru hissələrini (və su anbarlarını) bir şəkildə təhrif edir. Buna baxmayaraq, proqnozlar xəritələrdəki xüsusiyyətlər arasındakı müəyyən əlaqələri qorumaq üçün dizayn edilə bilər. Bunlara ekvivalent proyeksiyalar (areal əlaqələrini qoruyan), konformal proyeksiyalar (açısal münasibətlər), azimutal proyeksiyalar (istiqamətli əlaqələr) və bərabər məsafəli proyeksiyalar (məsafəli münasibətlər) daxildir. Seçdiyiniz proyeksiya, xəritənizin məqsədi nəzərə alınmaqla qorunması üçün ən vacib xüsusiyyətlərdən asılı olacaqdır.

Ekvivalent

Ekvivalent proqnozlar qoruyur areal münasibətlər. Bu o deməkdir ki, torpaq kütlələrinin ölçüləri ilə müqayisələr (məsələn, Şimali Amerika və Avstraliyaya qarşı) bərabər ərazi xəritələrində düzgün şəkildə aparıla bilər. Təəssüf ki, ərazi münasibətləri davam etdirildikdə, torpaq kütlələrinin şəkilləri qaçılmaz olaraq pozulacaq - hər ikisini də saxlamaq mümkün deyil.

Aşağıdakı Şəkil 5.5.1-də şəklin təhrif edilməsi ən çox xəritənin yuxarı və alt hissələrində özünü göstərir. Çünki Yerin qütbləri (Şimal və Cənub) ekvatorla eyni uzunluqda xətt kimi təmsil olunur. Xatırladaq ki, dünyadakı uzunluq xətləri qütblərdə birləşir. Bu yaxınlaşma nöqtələri əvəzinə xətlər şəklində göstərildikdə, torpaq kütlələri Şərq-Qərbə uzanır, yəni eyni ərazini qoruyub saxlamaq üçün əks istiqamətdə sıxılmalıdır. Aşağıdakı xəritədə Rusiya (və digər quru massassaları) uyğun ölçüdə təmsil olunur (xəritədəki digər quru massajları ilə müqayisədə), lakin formaları əhəmiyyətli dərəcədə pozulmuşdur.

Ekvivalentliyin proyeksiya xassəsi, bəlkə də xüsusiyyətlərini, ərazini böyük dərəcədə pozan məşhur proyeksiya ilə qarşılaşdırmaqla başa düşülür (şəkil 5.5.2).

Mercator proyeksiyası, xüsusilə ekvatordan uzaq yerlərdə sahələrin əhəmiyyətli dərəcədə təhrif olunmasına səbəb olur. Yerli açıları qorumaq üçün, ekvatordan yola çıxarkən paralellər (enlik xətləri) daha da uzaqlaşdırılır. Thetruesize.com veb saytı bu təsiri nümayiş etdirir.

Buna baxmayaraq, Mercator bəzi məqsədlər üçün faydalıdır. Tarixən naviqasiya üçün istifadə edilmişdir - xəritədə çəkilən hər hansı bir düz xətt daimi bir kompas yatağı olan bir marşrutu təmsil etdiyi üçün marşrutlaşdırma üçün səmərəlidir (məsələn, Qərbdə). Bu “daimi kompas daşıyıcı xətti” ümumiyyətlə rumb xətti və ya loksodrom adlanır. Mercator a qeyri-rəsmi proyeksiya.

Qeyri-rəsmi

Qeyri-rəsmi proqnozlar yerli qorumaq bucaqlar. Miqyas faktoru (xəritə miqyası) xəritədə dəyişsə də, xəritədəki istənilən nöqtədən, miqyas faktoru bütün istiqamətlərdə eyni nisbətdə dəyişir, buna görə də açısal əlaqələri qoruyur. Bir sörveyer Yer səthindəki iki yer arasındakı bir bucağı təyin etsəydi, konformal bir proyeksiyada eyni iki yer arasında göstərilən bucağa uyğun olardı.

Daha əvvəl də qeyd edildiyi kimi, konformal proqnozların bucağı qoruyan xüsusiyyəti onları naviqasiya üçün faydalı edir. Yer üzündə sabit bir kompas yatağını izləyən hər hansı bir yola a deyilir rumb xətt, və ya loxodrome. Merkator proyeksiyasına əsaslanan xəritədə çəkilən hər hansı bir düz xətt rum xəttidir. Rhumb xətləri və loxodromlar naviqasiyanı asanlaşdırır, çünki naviqatorlar xəritədə düz xətt marşrutu seçməyə və kompas istiqamətlərini buna uyğun olaraq təyin etməyə üstünlük verirlər.

Naviqasiya üçün faydalı olmasına baxmayaraq, rhumb xətləri iki nöqtə arasındakı ən qısa məsafəni göstərmir. Dünyadakı iki nöqtə arasındakı ən qısa nöqtəyə a deyilir böyük dairə marşrutu. Rum xətlərindən fərqli olaraq, bu cür xətlər konformal bir proyeksiyada əyri görünür (Şəkil 5.5.4). Əlbətdə ki, Providensdən Romaya ən qısa yol edir əslində düz bir xətt: ancaq səyahət etmək üçün Yer səthinin altından keçməlisən. Dünyadakı iki nöqtə arasındakı ən qısa məsafədən danışarkən, praktiki olaraq Yer səthində və ya yuxarıda səyahət etməkdən bəhs edirik.

Gnomonic xəritə proyeksiyası, proyeksiyada çəkilən hər hansı bir düz xəttin böyük bir dairə marşrutu olduğu maraqlı xüsusiyyətə malikdir. Gnomonik proyeksiya bir nümunəsidir azimutal proyeksiya.

Azimutal

Azimutal proqnozlar xəritənin mərkəzindən başqa hər hansı bir nöqtəyə doğru istiqamətlərin saxlanıldığı düzənli proqnozlardır. Stereoqrafik proyeksiya azimutal proyeksiyanın başqa bir nümunəsidir. Yalnız gnomonik proyeksiyada hər düz xətt böyük bir dairə marşrutu olsa da, birbaşa xəritənin mərkəzindən çəkilmiş bir düz xətt istənilən azimutal proyeksiyada böyük bir dairədir.

Azimutal proyeksiyaların ən çox yayılmış növləri gnomonik, stereoqrafik, Lambert azimutal bərabər sahə və orfoqrafik proyeksiyalardır. Azimutal proyeksiya növləri arasındakı əsas fərq proyeksiya nöqtəsinin yerləşməsidir. Aşağıdakı Şəkil 5.5.7-də gnomonik proyeksiya proyeksiya nöqtəsi Yerin mərkəzi olduqda baş verir. Stereoqrafik xəritələr, təyyarənin tangens nöqtəsinə qarşı Yer tərəfində bir proyeksiya nöqtəsinə malikdir və orfoqrafiya xəritəsinin proyeksiya nöqtəsi sonsuzdur.

Bərabərdir

Bərabərdir proqnozlar qorumaq kimi tez-tez faydalıdır məsafə münasibətlər. Ancaq xəritənin bütün nöqtələrində məsafəni saxlamırlar. Bunun əvəzinə, bərabər məsafəli proyeksiya xəritədəki bir və ya iki nöqtədən (proyeksiyadan asılı olaraq) xəritədəki hər hansı digər nöqtəyə və ya müəyyən xətlər üzrə həqiqi məsafəni göstərir.

Azimutal bərabər məsafəli proyeksiyada (şəkil 5.5.8, solda) məsafə xəritənin mərkəzindən (qara nöqtə ilə göstərilmişdir) başqa bir nöqtəyə qədər düzgün ölçülə bilər. İki nöqtəli bərabər məsafəli proyeksiyada (Şəkil 5.5.8, sağda) hər hansı iki nöqtədən xəritədəki hər hansı digər nöqtəyə (və beləliklə, bir-birinə) doğru məsafə ölçülə bilər. Yuxarıdakı nümunədə bu iki nöqtə (30⁰S, 30⁰W) və (30⁰N, 30⁰E). Bu dəyərlər xəritəni proyeksiyalayarkən CİS proqramına parametr kimi verilirdi - proyeksiya fərdiləşdirmə adlanan bir proses. Öz proyeksiyanızı fərdiləşdirərkən xəritənizin məqsədi ilə uyğun yerləri seçəcəksiniz.

Bütün bərabər məsafəli xəritələr dairəvi formada deyildir. Məsələn, silindrik bərabər məsafəli proyeksiya bərabər məsafəlidir, burada düzgün məsafələr istənilən meridian boyunca ölçülə bilər. Silindirik bərabər məsafəli proyeksiya Ekvatoru standart paralel olaraq istifadə etdikdə, gratikül ızgara kvadratlarından meydana gəlmiş kimi görünür və sadəliyi və faydalılığı səbəbindən məşhur bir xəritə proyeksiyası olan Plate Carrée adlanır.

Tələbə Yansıması

Bir uçuş yolu planlaşdırdığınızı və Alyaskadan Nyu-Yorka ən qısa yolu tapmaq tapşırığınız olduğunu düşünün. Hansı xəritədən istifadə edərdiniz? Niyə? Marşrutu çəkmək üçün ilk istifadə etdiyiniz xəritə səyahət edərkən istifadə edəcəyiniz xəritədən fərqli olacaqmı?

İndiyə qədər areal (ekvivalent), açısal (konformal), məsafə (bərabər məsafəli) və istiqamətli (azimutal) əlaqələri qoruyan xəritələri müzakirə etdik. Əvvəlki nümunələrdə göstərildiyi kimi, müəyyən xüsusiyyətləri qoruyan xəritələr başqalarının hesabına edilir. Məsələn, xüsusiyyət sahələrini əhəmiyyətli dərəcədə təhrif etmədən açısal əlaqələri qorumaq mümkün deyil. Bu səbəbdən başqa bir proyeksiya sinfi mövcuddur - uzlaşma proqnozları.

Güzəşt

Güzəştli proqnozlar heç bir mülkiyyəti tamamilə qoruyub saxlamır, əksinə müxtəlif xüsusiyyətlər arasındakı təhrif tarazlığını təmin edir. Məşhur bir nümunə aşağıda Şəkil 5.5.10-da göstərilən Robinson Proyeksiyasıdır. Bu proyeksiyada quru kütlələrinin forma və ölçülərinə görə bir spesifik mülkiyyəti tamamilə qoruyan bir proyeksiyadakı görünüşləri ilə müqayisədə yer üzündə görünənlərə daha çox oxşar göründüyünə diqqət yetirin (məsələn, Mercator).

Fasilə proyeksiya xassəsi deyil, lakin kəsilmiş proqnozlar bəzi Xəritəçəkmə kontekstlərində də faydalı ola bilər. Goode homolosinin kəsilmiş proyeksiyası kimi kəsilmiş xəritələr (xəritə 5.5.11) düz bir səthə basılan “narıncı qabığı” xatırladır, xəritə proyeksiyaları üçün ümumi bir metafora.

Bu proyeksiyanın kəsilmiş təbiəti su obyektlərini ciddi şəkildə təhrif edir (bölməklə) və bu da okean məlumatları ilə əlaqəli xəritələr və ya Yerin (bağlı) səthindəki marşrutları görüntüləmək istəyənlər üçün faydalı olmazdı. Bununla belə, bu təhriflər xəritənin ərazi ölçüləri və formalarının daha dəqiq bir şəkildə göstərilməsinə imkan verir. Diqqət yetirin ki, Şəkil 5.5.11-də göstərilən proyeksiyadakı bölmələr su üzərindədir, o qədər də populyar olmasa da, quru bölgüsü də mümkündür.


11 Cavablar 11

Tamamilə yanılmırsınız, alqoritmi yaxşılaşdırmaq üçün daha çox / daha yaxşı məlumat toplamaq alqoritmdən kiçik irəliləmələri sıxışdırmaqdan daha asan olacaq.

Lakin, praktik olaraq, həqiqətən böyük bir məlumat dəsti əldə etmək çətin olduğu bir çox parametr var.

Əlbətdə ki, nəzarəti altında olan yanaşmalardan istifadə etdikdə və ya etiketlər avtomatik olaraq yaradıldıqda (məsələn, bir istifadəçinin bir linki vurub-vurmamasına baxmayaraq Google olsanız) həqiqətən böyük məlumat dəstləri əldə etmək asandır. Bununla birlikdə, bir çox praktik problem nümunələri etiketləmək üçün insan vaxtına (vaxtı bahalı ola bilər) etibar edir. Hər hansı bir insan işi görə bildikdə (məsələn, köpək və ya pişik etiketləmək və ya ImageNet üçün başqa bir şey etiketləmək) bu, milyonlarla şəklə ölçülənə bilər, ancaq tibbi şəkilləri təsnif etmək üçün həkimlərə pul verdiyiniz zaman on minlərlə (və ya bəlkə də 100.000) etiketli şəkillər olduqca böyük bir verilənlər bazasıdır. Və ya hər etiket üçün kimyəvi bir sınaq keçirməyiniz lazımdırsa.

Əlavə olaraq, mümkün real dünya nümunələrinin və ya sayının təbii olaraq məhdud olduğu hallar ola bilər (məsələn, ABŞ prezident seçkilərinin qaliblərini proqnozlaşdırmaq üçün təlim məlumatları, seysmik məlumatlardan vulkan püskürmələrini proqnozlaşdırmaq və s.) indiyə qədər yalnız bu qədər məlumatlara sahib ola bilərik).

Mən pərakəndə proqnozlaşdırmada işləyirəm. Sabah Y mağazasında X məhsuluna olan tələbi proqnozlaşdırmanız lazım olduqda, yalnız məhdud bir miqdarda məlumat əldə edə bilərsiniz: ehtimal ki, bu məhsulun bu mağazadakı satışının son iki illik dəyəri və ya potensial olaraq bütün məhsulların satışı Çapraz öyrənmə modeli istifadə edirsinizsə bütün mağazalar. Ancaq hər halda, sadəcə edə bilməzsən yaratmaq yeni məlumatlar. (Və yeni məlumatlar yaratmaq, əslində supermarketinizi idarə etmək və satışlarınızı və ehtiyatlarınızı qeyd etməkdən ibarətdir, buna görə bu əhəmiyyətsiz bir məsələ deyil.)

Ayrıca, dünya miqyasında görünməmiş bir pandemiya sizi vurursa, o zamandan əvvəlki məlumatlarınızın dəyəri birdən həqiqətən şübhəli olur, bu səbəbdən praktik istifadə üçün məlumatlarınızın miqdarı kəskin şəkildə azaldı.

Əlbətdə ki, müəyyən istifadə hallarının praktik olaraq məhdudiyyətsiz məlumatlara sahib olduğu və ya dərhal məlumat yarada biləcəyi haqlısınız. Bir nümunə şahmat və ya oyun kimi oyunlar oynamaq üçün şəbəkələri öyrətməkdir: sadəcə modellərinizin bir çox halının bir-birinə qarşı oynamasına icazə verə bilərsiniz (möhkəmləndirmə öyrənmə).

Bu günlərdə böyük məlumat yığmaq olduqca asan olduğu doğru olsa da, bu yaxşı məlumat olduğu anlamına gəlmir. Böyük məlumat dəstləri ümumiyyətlə İnternetdə sərbəst şəkildə mövcud olan mənbələri qıraraq toplanır, məsələn, mətn məlumatları üçün Reddit postu, xəbər məqalələri, Wikipedia girişləri, şəkillər üçün insanlar tərəfindən yerləşdirilən hər cür şəkillər, ola bilən videolar üçün. YouTube'da yerləşdirilən şeylər olun. Diqqət yetirin ki, bu cür məlumatlarla bağlı bir çox potensial problem var.

Birincisi, etiketsizdir. Etiketlemek üçün birinin bunu etməsi lazımdır. Ən çox, bunu Amazon Mechanical Turk işçiləri edirlər ki, bu tapşırıq üçün çox az miqdarda pul verilir, buna görə də bunu düzgün yerinə yetirmək üçün motivasiya olmur və təsadüfi şəkilləri etiketləmək üçün daxili motivasiya yoxdur. Etiketleyicilerin etiketləmə üçün lazımi biliklərə sahib olmasına dair zəmanətiniz yoxdur (məsələn, vəhşi heyvanları və ya avtomobil markalarını tanımadıqlarını etiketləmələri istənilir). Bunu özünüz edə bilərsiniz, ancaq çox vaxta ehtiyacınız olacaq və bu da insan səhvlərinin olmayacağına zəmanət vermir. Etiketlemeyi avtomatik olaraq edə bilərdiniz, amma sonra & quotclever & quot maşın öyrənmə alqoritminiz, & quotdumb & quot; heuristic tərəfindən verilən yazılardan öyrənəcək, əgər heurist işləsəydi, daha mürəkkəb bir alqoritmi təqlid etməyi öyrənməyinizə ehtiyac olardı.

İkincisi, bu məlumatlar qərəzlidir. Mətn məlumatlarının əksəriyyəti İngilis dilləri ilə məhdudlaşır. İnsanların fotoşəkilləri ilə əks olunan görüntü məlumat dəstlərinin əksəriyyətində ağ dərili şəxslər təsvir olunur. Memarlıq şəkilləri olan məlumat dəstlərinin əksəriyyəti ABŞ və ya Avropadan olan şəhərləri göstərir. Bunlar həqiqətən təmsil olunmur, əgər istifadə ediləcək bir maşın öyrənmə modeli yaratmırsınızsa yalnız ABŞ-da yaşayan İngilis dilli kişilər tərəfindən.

Bir dəfə məndən arxeoloji əsərləri istehsal prosesinə görə siniflərə qoyan bir model qurmağım istəndi. Böyük bir problem: bəzi siniflər üçün yalnız dörd nümunə var idi. Və bir çox əsər qırılır, ona görə də aldığımız nümunələr üçün də bütün ölçülər məlum deyildi (ümumi uzunluğu kimi).

Bəli, & quotsmall data & quot həqiqətən problemdir. Bu işdə daha çox məlumat əldə etmək arxeoloqları yenidən Orta Asiya dağlarında qazmağa göndərmək və mənalı tapdığım əsərlərin bütün xüsusiyyətlərini ölçmək demək idi. Bu zaman əsərləri qırılanları deyil, tək bir parça halında tapsalar yaxşıdır! -)

Here are a couple thoughts to add to what has been posted so far.

You might be interested in taking a look at the famous machine learning paper, Domingos, P. (2012). "A Few Useful Things to Know about Machine Learning". Communications of the ACM (pdf). It should contain some food for thought. Specifically, here are three relevant subsections:

    DATA ALONE IS NOT ENOUGH
    Generalization being the goal has another major consequence: data alone is not enough, no matter how much of it you have. Consider learning a Boolean function of (say) 100 variables from a million examples. There are $2^<100>$
  1. FEATURE ENGINEERING IS THE KEY
    At the end of the day, some machine learning projects suc- ceed and some fail. What makes the difference? Easily the most important factor is the features used. If you have many independent features that each correlate well with the class, learning is easy. On the other hand, if the class is a very complex function of the features, you may not be able to learn it. Often, the raw data is not in a form that is amenable to learning, but you can construct features from it that are. .
  1. MORE DATA BEATS A CLEVERER ALGORITHM
    Suppose you’ve constructed the best set of features you can, but the classifiers you’re getting are still not accurate enough. What can you do now? There are two main choices: design a better learning algorithm, or gather more data (more examples, and possibly more raw features, subject to the curse of dimensionality). Machine learning researchers are mainly concerned with the former, but pragmatically the quickest path to success is often to just get more data. As a rule of thumb, a dumb algorithm with lots and lots of data beats a clever one with modest amounts of it. .

The other thing I would say is that the idea that "a human needs 1-2 to reach comparable classification accuracy" is because the human is not a blank slate. A person has a wealth of experience (i.e., many prior data) and rich conceptual knowledge that can be brought to bear on learning a classification. (Sections 4 and 8 from Domingoes are related to this idea of background knowledge and knowing what to attend to.) To connect these facts to training a (deep learning or other) model, you could consider that pre-training a model sometimes helps quite a bit (although this is less done nowadays) and likewise that Bayesian models with sufficiently good priors should also perform better. Having said those things, section 9 from Domingoes implies we may be able to be sufficiently successful without those, due to the increasing volumes of data that you describe.

There's some ambiguity in saying a data set is large. To improve predictive performance of an algorithm, you need more observations. You need to increase your sample size ( $n$ ) and not the number of things you measured/observed daxilində an experimental unit.

These can be hard to come by depending on the field of research: In clinical science there are privacy, security and most importantly ethical concerns with gathering more observations.

There are even cases where it is simply impossible to get more observations of independent experimental units. If you want to use prediction for some rare disease, or a nearly extinct species, there are hard constraints on how 'large' your data set can be.

Would an ML algorithm that is, say, 100x more data-efficient, while being 1000x slower, be useful?

You have almost answered your own question.

There are multiple factors at play here:

  • The cost of gathering a data point
  • The cost of training a model with an additional data point
  • The cost of making the model learn more from a data point
  • The benefit gained from training the model with an additional data point

You are seeking to maximize the expression (benefits - costs). If you measure or estimate these factors accurately enough, and convert to comparable units (such as monetary equivalents perhaps), you'll find it easy to determine what to improve most easily.

As others have said, there are various applications with completely different such factors.

People who work on data-efficient algorithms often bring up robotics for "motivation". But even for robotics, large datasets can be collected, as is done in this data-collection factory at Google:

What if I want to (for example) use reinforcement learning on a task involving underwater robotics to classify arctic ocean fronts? Or train a vision module to classify extremely rare objects in space through a fly-by probe? I may have very limited data and the cost of gathering new data may be extremely expensive. Often in robotics simulators are not accurate enough (especially when natural phenonmena are involved) to really generate accurate training data (this is called the sim2real problem).

Additionally, gathering real-life data for every possible task you would like your robot to accomplish can be prohibitive, especially if you want a wide variety of tasks accomplished by something like an in-home robot.

To all the other answers I'd add that in Deep Learning, Neural Architecture Search benefits immensely from data efficiency. Think about it: each data point bir trained network.

If your NAS setup requires $N$ data points (networks), and each network requires $D$ samples to be trained, that's $ND$ forward- and backpropagations overall: if you reduce $D$ by a ratio of $k$ , that's $k$ -many more architectures that you can explore with the same resources.

Of course, it isn't always that straightforward: This CVPR2021 paper by Mundt et al shows that the architectures themselves act as Deep Priors which don't need to be fully trained, if initialized correctly (as a nice counterpoint to the vast few-shot learning literature):

To generalize a bit what @FransrRodenburg says about sample size: many data sets have structure from various influencing factors. In particular, there are certain situation that lead to what is called nested factors in statistics (clustered data sets, hierarchical data sets, 1 : n relationships between influencing factors) and in this situation the overall sample size is often very limited, while data is abundant at lower levels in the data hierarchy.

I'm spectroscopist and chemometrician, here are some examples:

I did my PhD about classification of brain tissues for tumor (boundary) recognition.

  • I got hundreds of spectra from each piece of tissue,
  • but the number of patients were only order of magnitude 100.
  • For one of the tumor types I was looking at, primary lymphomas of the central nervous system, surgery is only done if the bulk of the tumor causes trouble. After 7 years, our cooperation partners had collected 8 pieces from 5 patients. (For comparison: during the same time, samples of about 2000 glioblastomas were collected for us) The application scenario btw was guiding a biopsy needle, which needs to be done far more often - but one wouldn't remove additional brain tissue samples for research purposes there.
    BTW: we had a huge problem finding good controls (normal brain tissue). Guess why.

I have a data set of about 8 TB hyperspectral imaging data containing a few thousand cacao beans collected at various stages of fermentation (they are classified according to color), from a few varieties, from 4 regions. And exactly n = 1 harvest year.

Yes, there are companies who collect large data sets, data bases covering, thousands of farms on several continents. Still AFAIK the largest have "only" a few decades of harvesting periods.

rare ones, that may not be worth automating (leave something for humans!).

The difficulty of getting samples (I'm talking of the physical pieces of material) does not necessarily say much about the need or the economic potential of the automated application. See e.g. the tumour example

During that tumor work I met a bunch of pathologists with whom I talked about their needs.

  • Some of them expressed needs rougly along your lines: "If I had an instrument that would automatically deal with the 95 % easy samples, I could concentrate on the rare/special/complicated/interesting cases"
  • Others were thinking pretty much of the opposite: "I can get through a routine cases within seconds - it's the rare/special/complicated/interesting cases where I'd really appreciate additional information."

(side note: one of the most important mistakes I see regularly is that the application scenario isn't specified in sufficient detail, resulting in something that mixes e.g. the two scenarios above and in the end doesn't meet the requirements of anyone.)

Random thoughts, although does not fully answer the question.

There seems to be a wastage of information in training new models on new data even if it is plentiful. Using an analogy with another general purpose technology, fitting new models is not totally dissimilar to reinventing the wheel. Bayesian and transfer learning seem to offer solutions in adding to cumulative data and knowledge, and hence to an extent can help mitigate this. Would the problem of replication crisis be as deep if Bayesian techniques had been used more and thus data containing surprisng results had to overcome the inertia of previous studies?

As @svavil highlights, it is the accumulation of prior training that has accumulated in the past that allows (seemingly?) impressive results in the present. Training efficiency can be obtained by incorporating new data on top of previous data by transfer learning, and neural networks because of their usage in many different domains seem to be amenable to transfer learning (is this right?) and transfer learning is sometimes (usually?) going to mean potentially some efficiencies. Further aggregating of different neural networks seems to also mean potential efficiency of say training a lidar data set by a neural network and then concatenating (word used in a non-technical way!) this neural network to a radar trained neural network.

As per the answer by @Tim, biased data can be a problem, and reusing a known good data set, say as a starting point for transfer learning may be helpful in mitigating a bias problem. As an aside, biased data presumably increases the problem if you accidently skew the bias-variance tradeoff too much for the former (low bias, high variance), and thus generalization will be even worse. Note here there are two types of bias used in the above sentence, and feel free to comment on this although is just an aside here.

So the question may be able to be reversed, techniques that add to accumulated knowledge are helpful, and they also tend to be efficient when new data is added to them.


Questions & Answers

Q1. Movie Recommendation systems are an example of:

  1. Təsnifat
  2. Clustering
  3. Reinforcement Learning
  4. Regression

Generally, movie recommendation systems cluster the users in a finite number of similar groups based on their previous activities and profile. Then, at a fundamental level, people in the same cluster are made similar recommendations.

In some scenarios, this can also be approached as a classification problem for assigning the most appropriate movie class to the user of a specific group of users. Also, a movie recommendation system can be viewed as a reinforcement learning problem where it learns by its previous recommendations and improves the future recommendations.

Q2. Sentiment Analysis is an example of:

  1. Regression
  2. Təsnifat
  3. Clustering
  4. Reinforcement Learning

Sentiment analysis at the fundamental level is the task of classifying the sentiments represented in an image, text or speech into a set of defined sentiment classes like happy, sad, excited, positive, negative, etc. It can also be viewed as a regression problem for assigning a sentiment score of say 1 to 10 for a corresponding image, text or speech.

Another way of looking at sentiment analysis is to consider it using a reinforcement learning perspective where the algorithm constantly learns from the accuracy of past sentiment analysis performed to improve the future performance.

Q3. Can decision trees be used for performing clustering?

Decision trees can also be used to for clusters in the data but clustering often generates natural clusters and is not dependent on any objective function.

Q4. Which of the following is the most appropriate strategy for data cleaning before performing clustering analysis, given less than desirable number of data points:

  1. Capping and flouring of variables
  2. Removal of outliers

Removal of outliers is not recommended if the data points are few in number. In this scenario, capping and flouring of variables is the most appropriate strategy.

Q5. What is the minimum no. of variables/ features required to perform clustering?

At least a single variable is required to perform clustering analysis. Clustering analysis with a single variable can be visualized with the help of a histogram.

Q6. For two runs of K-Mean clustering is it expected to get same clustering results?

K-Means clustering algorithm instead converses on local minima which might also correspond to the global minima in some cases but not always. Therefore, it’s advised to run the K-Means algorithm multiple times before drawing inferences about the clusters.

However, note that it’s possible to receive same clustering results from K-means by setting the same seed value for each run. But that is done by simply making the algorithm choose the set of same random no. for each run.

Q7. Is it possible that Assignment of observations to clusters does not change between successive iterations in K-Means

When the K-Means algorithm has reached the local or global minima, it will not alter the assignment of data points to clusters for two successive iterations.

Q8. Which of the following can act as possible termination conditions in K-Means?

  1. For a fixed number of iterations.
  2. Assignment of observations to clusters does not change between iterations. Except for cases with a bad local minimum.
  3. Centroids do not change between successive iterations.
  4. Terminate when RSS falls below a threshold.

All four conditions can be used as possible termination condition in K-Means clustering:

  1. This condition limits the runtime of the clustering algorithm, but in some cases the quality of the clustering will be poor because of an insufficient number of iterations.
  2. Except for cases with a bad local minimum, this produces a good clustering, but runtimes may be unacceptably long.
  3. This also ensures that the algorithm has converged at the minima.
  4. Terminate when RSS falls below a threshold. This criterion ensures that the clustering is of a desired quality after termination. Practically, it’s a good practice to combine it with a bound on the number of iterations to guarantee termination.

Q9. Which of the following clustering algorithms suffers from the problem of convergence at local optima?

  1. K- Means clustering algorithm
  2. Agglomerative clustering algorithm
  3. Expectation-Maximization clustering algorithm
  4. Diverse clustering algorithm

Out of the options given, only K-Means clustering algorithm and EM clustering algorithm has the drawback of converging at local minima.

Q10. Which of the following algorithm is most sensitive to outliers?

A. K-means clustering algorithm

B. K-medians clustering algorithm

C. K-modes clustering algorithm

D. K-medoids clustering algorithm

Out of all the options, K-Means clustering algorithm is most sensitive to outliers as it uses the mean of cluster data points to find the cluster center.

Q11. After performing K-Means Clustering analysis on a dataset, you observed the following dendrogram. Which of the following conclusion can be drawn from the dendrogram?

A. There were 28 data points in clustering analysis

B. The best no. of clusters for the analyzed data points is 4

C. The proximity function used is Average-link clustering

D. The above dendrogram interpretation is not possible for K-Means clustering analysis

A dendrogram is not possible for K-Means clustering analysis. However, one can create a cluster gram based on K-Means clustering analysis.

Q12. How can Clustering (Unsupervised Learning) be used to improve the accuracy of Linear Regression model (Supervised Learning):

  1. Creating different models for different cluster groups.
  2. Creating an input feature for cluster ids as an ordinal variable.
  3. Creating an input feature for cluster centroids as a continuous variable.
  4. Creating an input feature for cluster size as a continuous variable.

Creating an input feature for cluster ids as ordinal variable or creating an input feature for cluster centroids as a continuous variable might not convey any relevant information to the regression model for multidimensional data. But for clustering in a single dimension, all of the given methods are expected to convey meaningful information to the regression model. For example, to cluster people in two groups based on their hair length, storing clustering ID as ordinal variable and cluster centroids as continuous variables will convey meaningful information.

Q13. What could be the possible reason(s) for producing two different dendrograms using agglomerative clustering algorithm for the same dataset?

A. Proximity function used

Change in either of Proximity function, no. of data points or no. of variables will lead to different clustering results and hence different dendrograms.

Q14. In the figure below, if you draw a horizontal line on y-axis for y=2. What will be the number of clusters formed?

Since the number of vertical lines intersecting the red horizontal line at y=2 in the dendrogram are 2, therefore, two clusters will be formed.

Q15. What is the most appropriate no. of clusters for the data points represented by the following dendrogram:

The decision of the no. of clusters that can best depict different groups can be chosen by observing the dendrogram. The best choice of the no. of clusters is the no. of vertical lines in the dendrogram cut by a horizontal line that can transverse the maximum distance vertically without intersecting a cluster.

In the above example, the best choice of no. of clusters will be 4 as the red horizontal line in the dendrogram below covers maximum vertical distance AB.

Q16. In which of the following cases will K-Means clustering fail to give good results?

  1. Data points with outliers
  2. Data points with different densities
  3. Data points with round shapes
  4. Data points with non-convex shapes

K-Means clustering algorithm fails to give good results when the data contains outliers, the density spread of data points across the data space is different and the data points follow non-convex shapes.

Q17. Which of the following metrics, do we have for finding dissimilarity between two clusters in hierarchical clustering?

  1. Single-link
  2. Complete-link
  3. Average-link

All of the three methods i.e. single link, complete link and average link can be used for finding dissimilarity between two clusters in hierarchical clustering.

Q18. Which of the following are true?

  1. Clustering analysis is negatively affected by multicollinearity of features
  2. Clustering analysis is negatively affected by heteroscedasticity

Clustering analysis is not negatively affected by heteroscedasticity but the results are negatively impacted by multicollinearity of features/ variables used in clustering as the correlated feature/ variable will carry extra weight on the distance calculation than desired.

Q19. Given, six points with the following attributes:

Which of the following clustering representations and dendrogram depicts the use of MIN or Single link proximity function in hierarchical clustering:

A.

B.

C.

D.

For the single link or MIN version of hierarchical clustering, the proximity of two clusters is defined to be the minimum of the distance between any two points in the different clusters. For instance, from the table, we see that the distance between points 3 and 6 is 0.11, and that is the height at which they are joined into one cluster in the dendrogram. As another example, the distance between clusters <3, 6>and <2, 5>is given by dist(<3, 6>, <2, 5>) = min(dist(3, 2), dist(6, 2), dist(3, 5), dist(6, 5)) = min(0.1483, 0.2540, 0.2843, 0.3921) = 0.1483.

Q20 Given, six points with the following attributes:

Which of the following clustering representations and dendrogram depicts the use of MAX or Complete link proximity function in hierarchical clustering:

A.

B.

C.

D.

For the single link or MAX version of hierarchical clustering, the proximity of two clusters is defined to be the maximum of the distance between any two points in the different clusters. Similarly, here points 3 and 6 are merged first. However, <3, 6>is merged with <4>, instead of <2, 5>. This is because the dist(<3, 6>, <4>) = max(dist(3, 4), dist(6, 4)) = max(0.1513, 0.2216) = 0.2216, which is smaller than dist(<3, 6>, <2, 5>) = max(dist(3, 2), dist(6, 2), dist(3, 5), dist(6, 5)) = max(0.1483, 0.2540, 0.2843, 0.3921) = 0.3921 and dist(<3, 6>, <1>) = max(dist(3, 1), dist(6, 1)) = max(0.2218, 0.2347) = 0.2347.

Q21 Given, six points with the following attributes:

Which of the following clustering representations and dendrogram depicts the use of Group average proximity function in hierarchical clustering:

A.

B.
C.

D.

For the group average version of hierarchical clustering, the proximity of two clusters is defined to be the average of the pairwise proximities between all pairs of points in the different clusters. This is an intermediate approach between MIN and MAX. This is expressed by the following equation:

Here, the distance between some clusters. dist(<3, 6, 4>, <1>) = (0.2218 + 0.3688 + 0.2347)/(3 ∗ 1) = 0.2751. dist(<2, 5>, <1>) = (0.2357 + 0.3421)/(2 ∗ 1) = 0.2889. dist(<3, 6, 4>, <2, 5>) = (0.1483 + 0.2843 + 0.2540 + 0.3921 + 0.2042 + 0.2932)/(6∗1) = 0.2637. Because dist(<3, 6, 4>, <2, 5>) is smaller than dist(<3, 6, 4>, <1>) and dist(<2, 5>, <1>), these two clusters are merged at the fourth stage

Q22. Given, six points with the following attributes:

Which of the following clustering representations and dendrogram depicts the use of Ward’s method proximity function in hierarchical clustering:

A.

B.

C.

D.

Ward method is a centroid method. Centroid method calculates the proximity between two clusters by calculating the distance between the centroids of clusters. For Ward’s method, the proximity between two clusters is defined as the increase in the squared error that results when two clusters are merged. The results of applying Ward’s method to the sample data set of six points. The resulting clustering is somewhat different from those produced by MIN, MAX, and group average.

Q23. What should be the best choice of no. of clusters based on the following results:

The silhouette coefficient is a measure of how similar an object is to its own cluster compared to other clusters. Number of clusters for which silhouette coefficient is highest represents the best choice of the number of clusters.

Q24. Which of the following is/are valid iterative strategy for treating missing values before clustering analysis?

B. Nearest Neighbor assignment

C. Imputation with Expectation Maximization algorithm

All of the mentioned techniques are valid for treating missing values before clustering analysis but only imputation with EM algorithm is iterative in its functioning.

Q25. K-Mean algorithm has some limitations. One of the limitation it has is, it makes hard assignments(A point either completely belongs to a cluster or not belongs at all) of points to clusters.

Note: Soft assignment can be consider as the probability of being assigned to each cluster: say K = 3 and for some point xn, p1 = 0.7, p2 = 0.2, p3 = 0.1)

Which of the following algorithm(s) allows soft assignments?

Both, Gaussian mixture models and Fuzzy K-means allows soft assignments.

Q26. Assume, you want to cluster 7 observations into 3 clusters using K-Means clustering algorithm. After first iteration clusters, C1, C2, C3 has following observations:

What will be the cluster centroids if you want to proceed for second iteration?

Finding centroid for data points in cluster C1 = ((2+4+6)/3, (2+4+6)/3) = (4, 4)

Finding centroid for data points in cluster C2 = ((0+4)/2, (4+0)/2) = (2, 2)

Finding centroid for data points in cluster C3 = ((5+9)/2, (5+9)/2) = (7, 7)

Q27. Assume, you want to cluster 7 observations into 3 clusters using K-Means clustering algorithm. After first iteration clusters, C1, C2, C3 has following observations:

What will be the Manhattan distance for observation (9, 9) from cluster centroid C1. In second iteration.

Manhattan distance between centroid C1 i.e. (4, 4) and (9, 9) = (9-4) + (9-4) = 10

Q28. If two variables V1 and V2, are used for clustering. Which of the following are true for K means clustering with k =3?

  1. If V1 and V2 has a correlation of 1, the cluster centroids will be in a straight line
  2. If V1 and V2 has a correlation of 0, the cluster centroids will be in straight line

If the correlation between the variables V1 and V2 is 1, then all the data points will be in a straight line. Hence, all the three cluster centroids will form a straight line as well.

Q29. Feature scaling is an important step before applying K-Mean algorithm. What is reason behind this?

A. In distance calculation it will give the same weights for all features

B. You always get the same clusters. If you use or don’t use feature scaling

C. In Manhattan distance it is an important step but in Euclidian it is not

Feature scaling ensures that all the features get same weight in the clustering analysis. Consider a scenario of clustering people based on their weights (in KG) with range 55-110 and height (in inches) with range 5.6 to 6.4. In this case, the clusters produced without scaling can be very misleading as the range of weight is much higher than that of height. Therefore, its necessary to bring them to same scale so that they have equal weightage on the clustering result.

Q30. Which of the following method is used for finding optimal of cluster in K-Mean algorithm?

Out of the given options, only elbow method is used for finding the optimal number of clusters. The elbow method looks at the percentage of variance explained as a function of the number of clusters: One should choose a number of clusters so that adding another cluster doesn’t give much better modeling of the data.

Q31. What is true about K-Mean Clustering?

  1. K-means is extremely sensitive to cluster center initializations
  2. Bad initialization can lead to Poor convergence speed
  3. Bad initialization can lead to bad overall clustering

All three of the given statements are true. K-means is extremely sensitive to cluster center initialization. Also, bad initialization can lead to Poor convergence speed as well as bad overall clustering.

Q32. Which of the following can be applied to get good results for K-means algorithm corresponding to global minima?

  1. Try to run algorithm for different centroid initialization
  2. Adjust number of iterations
  3. Find out the optimal number of clusters

All of these are standard practices that are used in order to obtain good clustering results.

Q33. What should be the best choice for number of clusters based on the following results:

Based on the above results, the best choice of number of clusters using elbow method is 6.

Q34. What should be the best choice for number of clusters based on the following results:

Generally, a higher average silhouette coefficient indicates better clustering quality. In this plot, the optimal clustering number of grid cells in the study area should be 2, at which the value of the average silhouette coefficient is highest. However, the SSE of this clustering solution (k = 2) is too large. At k = 6, the SSE is much lower. In addition, the value of the average silhouette coefficient at k = 6 is also very high, which is just lower than k = 2. Thus, the best choice is k = 6.

Q35. Which of the following sequences is correct for a K-Means algorithm using Forgy method of initialization?

  1. Specify the number of clusters
  2. Assign cluster centroids randomly
  3. Assign each data point to the nearest cluster centroid
  4. Re-assign each point to nearest cluster centroids
  5. Re-compute cluster centroids

The methods used for initialization in K means are Forgy and Random Partition. The Forgy method randomly chooses k observations from the data set and uses these as the initial means. The Random Partition method first randomly assigns a cluster to each observation and then proceeds to the update step, thus computing the initial mean to be the centroid of the cluster’s randomly assigned points.

Q36. If you are using Multinomial mixture models with the expectation-maximization algorithm for clustering a set of data points into two clusters, which of the assumptions are important:

A. All the data points follow two Gaussian distribution

B. All the data points follow n Gaussian distribution (n >2)

C. All the data points follow two multinomial distribution

D. All the data points follow n multinomial distribution (n >2)

In EM algorithm for clustering its essential to choose the same no. of clusters to classify the data points into as the no. of different distributions they are expected to be generated from and also the distributions must be of the same type.

Q37. Which of the following is/are not true about Centroid based K-Means clustering algorithm and Distribution based expectation-maximization clustering algorithm:

  1. Both starts with random initializations
  2. Both are iterative algorithms
  3. Both have strong assumptions that the data points must fulfill
  4. Both are sensitive to outliers
  5. Expectation maximization algorithm is a special case of K-Means
  6. Both requires prior knowledge of the no. of desired clusters
  7. The results produced by both are non-reproducible.

All of the above statements are true except the 5 th as instead K-Means is a special case of EM algorithm in which only the centroids of the cluster distributions are calculated at each iteration.

Q38. Which of the following is/are not true about DBSCAN clustering algorithm:

  1. For data points to be in a cluster, they must be in a distance threshold to a core point
  2. It has strong assumptions for the distribution of data points in dataspace
  3. It has substantially high time complexity of order O(n 3 )
  4. It does not require prior knowledge of the no. of desired clusters
  5. It is robust to outliers
  • DBSCAN can form a cluster of any arbitrary shape and does not have strong assumptions for the distribution of data points in the dataspace.
  • DBSCAN has a low time complexity of order O(n log n) only.

Q39. Which of the following are the high and low bounds for the existence of F-Score?

The lowest and highest possible values of F score are 0 and 1 with 1 representing that every data point is assigned to the correct cluster and 0 representing that the precession and/ or recall of the clustering analysis are both 0. In clustering analysis, high value of F score is desired.

Q40. Following are the results observed for clustering 6000 data points into 3 clusters: A, B and C:

What is the F1-Score with respect to cluster B?

True Negative, TN = 600 + 1600 = 2200

False Positive, FP = 1000 + 200 = 1200

False Negative, FN = 400 + 400 = 800

Precision = TP / (TP + FP) = 0.5

F1 = 2 * (Precision * Recall)/ (Precision + recall) = 0.54


Efficient viewshed computation on terrain in external memory

The recent availability of detailed geographic data permits terrain applications to process large areas at high resolution. However the required massive data processing presents significant challenges, demanding algorithms optimized for both data movement and computation. One such application is viewshed computation, that is, to determine all the points visible from a given point səh. In this paper, we present an efficient algorithm to compute viewsheds on terrain stored in external memory. In the usual case where the observer’s radius of interest is smaller than the terrain size, the algorithm complexity is θ(scan(n 2 )) where n 2 is the number of points in an n × n DEM and scan(n 2 ) is the minimum number of I/O operations required to read n 2 contiguous items from external memory. This is much faster than existing published algorithms.

Bu abunə məzmununun önizləməsidir, təşkilatınız vasitəsilə giriş.


Videoya baxın: 12. Alqoritmin icraçısı #İnformatika #dərslik 4-cü sinif (Oktyabr 2021).