KNN Algoritması Tabanlı Mobil Devam Takip Yazılımı Mehmet BİLEN 1, Tuncay YİĞİT 2, Ali Hakan IŞIK 3 1 Mehmet Akif Ersoy Üniversitesi 2 Süleyman Demirel Üniversitesi 3 Mehmet Akif Ersoy Üniversitesi mbilen@mehmetakif.edu.tr, tuncayyigit@sdu.edu.tr, alihakan@mehmetakif.edu.tr Özet: Gelişen teknoloji ile birlikte mobil cihazlar birçok farklı alanda yaygın bir şekilde kullanılmaktadır. Mobil cihazlar sahip oldukları özel yeteneklerden dolayı eğitim ortamlarında da sıklıkla tercih edilmektedir. Bu çalışmada, mobil cihazlar kullanılarak öğrencilerin devam takibini sağlamak için etkileşimli ve gerçek zamanlı çalışan bir mobil yazılım geliştirilmiştir. Bu yazılım sayesinde devam takibi daha düzenli ve etkili bir şekilde yapılabilmektedir. Ayrıca devamsızlık takibi için kullanılması gereken süre ve iş yükü azaltıldığından eğitim öğretim için ayrılan süre daha verimli kullanılmış olacaktır. Geliştirilen yazılım, web sayfası ve mobil uygulama olmak üzere iki kısımdan oluşmaktadır. Verilerin takip edilmesi ve yönetilmesi için geliştirilen web sayfası.net" uygulama geliştirme platformunda C# programlama dili kullanılarak geliştirilmiştir. Mobil uygulama yazılımı IOS platformunda Objective-C dili kullanılarak geliştirilmiştir. Bu yazılım öğrencilerin kayıt olması, konum bilgisinin alınması vb. işlevi yerine getirmektedir. İki farklı platformu haberleştirmek için SOAP web servisleri kullanılmıştır. Çalışmada, KNN (K Nearest Neighbour) algoritması kullanılarak öğrenci koordinatlarına en yakın olan binalar tespit edilmektedir. Anahtar Sözcükler: Devam takibi, KNN, IOS, C#, Objective-C KNN Algorithm Based Mobile Attendance Tracking Software Abstract: Mobil devices are widely used in different areas with developing technology. In education environments, mobile devices are often preferred due to their distinguished features. In this study, a real time and interactive mobile software is developed to monitor school attendance of students by using mobile devices. Monitoring of school attendance can be done more effective and regular through developed software. In addition, time allocated for education can be used more efficiently due to reducing in absence control time and workload. Developed software is composed of two modules including a web page and a mobile application. The web page which is developed for tracking and managing data is designed in.net application development environment using C# programming language. The mobile application software is designed in IOS platform through Objective-C language. This software performs obtaining of student registration, retrieving of location data, and etc. SOAP web services are used for communicate between two different platform. In this study, buildings which are closest to the students coordinates are used to determine KNN (K Nearest Neighbour) algorithm. Keywords: Attendance tracking, KNN, IOS, C#, Objective-C 1.GİRİŞ Günümüzde, mobil cihaz kullanımı her zamankinden daha önemli hale gelmiştir. İlk kullanımında sadece kısa mesaj atmak, arama yapmak için kullanılan mobil cihazlara şuan günün her anında ihtiyaç duyulmaktadır. Mobil cihazların bireysellik, taşınabilirlik, kolay kullanım ve kolay ulaşılabilirlik gibi sahip olduğu niteliklerin çoğu bir bilgisayarda bulunmamaktadır. Buna bağlı olarak mobil cihaz kullanımı kısa sürede yaygınlaşmış ve yaygınlaşmaya da devam etmektedir [1]. IDC (International Data Corporation) verilerine göre 2010 yılında dünya çapında 305 milyon akıllı mobil cihaz satılmıştır. 2011 yılında %62 lik bir artışla 494 milyon adet satış rakamına ulaşılmıştır. Aynı verilere göre 2015 yılında 1 milyar mobil cihazın satılacağı ön görülmektedir [2]. Mobil teknolojilerde yaşanan gelişmeler hemen hemen her sektörde hızlı bir şekilde artmaktadır. Mobil cihazların özellikle veriye erişimi kolaylaştırması bakımından kullanım alanlarından biri de eğitim ve öğretimdir [3]. Mobil uygulamaların dağıtımını yapan Google Play Store ve Apple Store da eğitim kategorisi altında binlerce
uygulama mevcuttur. Bu kategori altında sadece eğitime odaklı uygulamalar olduğu gibi aynı zamanda eğitim ve öğretime yardımcı faaliyetler için geliştirilmiş uygulamalar da bulunmaktadır. Fakat henüz birçok ihtiyaç için hazırlanmış bir uygulama bulunmamaktadır. Devamsızlık takibinin yapılması için gerekli olan uygulama da bu ihtiyaçlardan biridir. Devamsızlık takibinde, öğretim elemanlarına getirmiş olduğu iş yükünün azaltılması, verilerin analiz edilmesinin kolaylaştırılması, kağıt tüketiminin azaltılması gibi bir çok gereksinim söz konusudur. Bu çalışma da bu ihtiyaçların giderilmesi için bir mobil uygulama geliştirilmiştir. Bu çalışma 4 başlık şeklinde hazırlanmıştır. İlk kısımda mobil teknolojinin dünyada ve Türkiye deki yeri ve devamsızlık kontrolünün mobil teknolojiler ile çözümlenmesinin sağlayacağı faydalara değinilmiştir. İkinci kısımda, geliştirilen sistemin detayları anlatılmıştır. Üçüncü başlıkta ise, çalışma esnasında elde edilen bulgular paylaşılarak tartışılmıştır. Son başlıkta ise sonuçlar verilerek gelecekte yapılması planlanan çalışmalardan bahsedilmiştir. 2. MATERYAL ve METOD Geliştirilen sistem Şekil 2.1 de gösterildiği gibi bir web sayfası ve bir mobil uygulamadan oluşmaktadır. Mobil uygulama devamsızlık kontrolü için GPS (Global Positioning System; Küresel Konumlama Sistemi) uydusundan aldığı verileri kullanmaktadır. Web sayfası ve mobil uygulama arasındaki veri alış verişi bir SOAP web servisi tarafından gerçekleştirilmektedir. Web sayfası ise yoklama tutanakları, öğrenci ve ders bilgileri gibi tüm verileri yönetebilmekte ve bu verileri bir XML dosyası içerisinde tutmaktadır. Şekil 2.1 Geliştirilen sistemin yapısı 2.1 Mobil Uygulamanın Özellikleri Mobil uygulama Mac-OSX işletim sistemi üzerinde XCode editörü ile Objective-C dili kullanarak geliştirilmiştir. Uygulama IOS işletim sistemine sahip tüm telefon ve tabletlerde çalışabilmektedir. Uygulamanın akış diyagramı Şekil 2.2 de gösterilmektedir.
Başla Kullanıcı bilgileri girişi Kullanıcı kayıtlı mı? Konum Bilgisi Al SMS doğrulama kodunu bekle Haritada Göster Doğrulama kodunu gir Konum ve saat bilgisi uyuşan ders var mı? Ders Seçim i Öğrenci Yoklama Bilgisi Al Şekil 2.2. Mobil uygulama akış diyagramı Uygulama ilk açıldığında kullanıcının MAC adresi sorgulanarak daha önce kayıtlı olup olmadığı kontrol edilmektedir. Eğer kullanıcının daha önce sistemde kaydı yoksa, kullanıcı Şekil 2.3.a daki yeni kayıt ekranına yönlendirilmektedir. Kayıt işlemi tamamlandıktan kullanıcının isteği doğrultusunda ister kısa mesaj servisi ile Şekil 2.3.b deki gibi doğrulama işlemi yapılabilmekte istenirse web sayfası üzerinden bir yöneticinin onaylaması beklenilebilmektedir. Doğrulama işlemini tamamlamayan kullanıcılara dersleri görüp devamsızlık takip işleminde imza atma yetkileri verilmemektedir.
(a) (b) Şekil 2.3 Yeni kayıt oluşturma ve doğrulama ekranı Kayıt ve doğrulama işlemini başarı ile tamamlayan kullanıcılar mobil cihazlarındaki GPS algılayıcısını açık hale getirerek konumlarını sorgulayıp haritada görebilmektedir (Şekil 2.4.a). Kullanıcının konum verisi ile yoklama yapılmaya uygun derslerin konumları uyuşmakta ise kullanıcının seçim yapabilmesi için bir ekran daha aktif olmaktadır (Şekil 2.4.b). Bu aşamada kullanıcı girmekte olduğu dersi seçerek yoklama tutanağını sisteme gönderebilmektedir. (a) (b) Şekil 2.4 Harita üzerinde konum gösterimi ve ders seçim ekranı
2.2 Web Sayfasının Özellikleri Devamsızlık takibi ve diğer tüm verilerin yönetiminde kullanılan web sayfası Visual Studio uygulama geliştirme platformu içerisinde ASP.NET sayfası şeklinde nesne yönelimli bir programlama dili olan C# kullanılarak geliştirilmiştir. Bu sayfa kullanılarak devamsızlık takibi yapılacak tüm binalar, dersler, ders sorumluları, öğrenci hesapları kontrol edilebilmektedir (Şekil 2.5). Yönetilen veriler ve kullanıcı bilgileri Şekil 2.6 üzerinde gösterildiği gibi ayrı ayrı XML dosyalarının içerisinde tutulmaktadır. Şekil 2.5 Web sayfası ile verilerin yönetimi Şekil 2.6 Verilerin XML dosyası üzerinde tutulması 2.3 Konum bilgisinin doğrulanması GPS bir navigasyon sistemidir ve dünya yörüngesine yerleştirilmiş 21 esas ve 3 aktif yedek olmak üzere toplam 24 uyduya sahiptir. Uyduların yörüngeleri ve yörüngedeki yerleri, dünyanın her yerinde günün 24 saatinde ufkun üzerinde aynı anda en az 4 uydu görülecek şekilde planlanmıştır [4]. İstemci cihaz bu uydulardan aldığı sinyali ve sinyalin gecikme sürelerini hesaplayarak dünya üzerinde hangi enlem ve boylam üzerinde olduğunu hesaplayabilmektedir. Geliştirilen uygulamada elde edilen konum bilgisi kullanılarak öğrencinin hangi bina içerisinde olduğu hesaplanmaya çalışılmaktadır. Bu hesaplama şu işlem adımlarını içermektedir; KNN (K Nearest Neighbour; K En Yakın Komşular) algoritması kullanılarak öğrenci koordinatlarının en yakın olduğu binalar ve öğrenciler tespit edilmektedir. Basit ama etkili bir algoritma olan KNN in temel mantığı sınıflandırılacak veriye en yakın K adet örneğin sınıf verisine bakarak yeni veriye çoğunluğun ait olduğu sınıfa atamaktır [5]. Örneklerin birbirine olan yakınlıklarının hesaplaması için birçok uzaklık ölçüm yaklaşımı mevcuttur. Çalışmada EU (Eucludian Distance Metric: Öklid Uzaklık Ölçümü) kullanılarak Eşitlik 1. de gösterildiği gibi uzaklıklar tespit edilmiştir [6].
d st = n j=1 (x sj y tj ) 2 (1) x s ve y t değişkenleri uzaklıkları hesaplanmak istenen değerlerin tutulduğu vektörlerdir. n öznitelik sayısını j ise her bir öznitelik değerinin indis numarasını döndürmektedir. Kullanıcının konum bilgisindeki Enlem (Longtitude) ve Boylam (Latitude) öznitelikleri ile uzaklığı hesaplanmak istenilen bina ve başka bir öğrenci konum bilgisinden farkları alınarak toplanmaktadır. Son olarak toplamın karekökü alınarak iki konum arasındaki uzaklık hesaplanmış olmaktadır. Tüm uzaklıklar küçükten büyüğe doğru sıralanarak en yakın olan K adet değer seçilmektedir. Buradaki K değeri belirlenirken örnek sayısı dikkate alınmaktadır. Hiçbir örnek yok iken K değeri 1 seçilmekte, örnek sayısı ile doğru orantılı olarak K parametresi de 10 a kadar artabilmektedir. En yakın komşuların belirlenmesinden sonra son olarak öğrencinin bina yarıçapı içerisinde olup olmadığı kontrol edilerek hangi bina içerisinde olduğu ve hangi dersleri seçebileceği doğrulanmış olmaktadır. 3. TARTIŞMA Mobil cihazlar her yıl daha fazla kullanıcı tarafından satın alınmaktadır. Türkiye deki verilere baktığımızda genç nüfusun %50 yi aşan bir kısmının mobil cihazları kullandığı görülmektedir (Şekil 3.1). Barker ve Asmundson ın 2013 yılında yayınladığı rapora göre Türkiye de mobil cihazların internete bağlanma oranı %91 dir [6]. Bu oran geliştirilen uygulamanın kullanılma ihtimalini artırmaktadır. Bunun yanında mobil cihaz kullanmayan öğrenciler için sınıf ortamında web arayüzünden devamsızlık kontorlü yapılabilmektedir. 60 50 40 30 20 10 0 18-24 25-34 35-44 45-54 Tüm Nüfus 2011 2012 2013 Şekil 3.1 Türkiye deki nüfusun mobil cihazları kullanım yüzdesi [7] 4. SONUÇ Bu çalışmada devamsızlık kontrolünün etkileşimli ve gerçek zamanlı olarak sağlanabilmesi için web ara yüzü ve mobil uygulamaya sahip kullanışlı ve etkili bir sistem geliştirilmiştir. Ara yüz.net platformunda nesne yönelimli programlama dili olan C# kullanılarak bir asp.net web sayfası olarak tasarlanmıştır. Mobil uygulama ise IOS platformu için Objective-C dili kullanılarak, her öğrenci tarafından rahatça ulaşılabilecek, kullanımı kolay bir şekilde tasarlanmıştır. Devamsızlık kontrolünün yapılabilmesi için kullanıcıların MAC adresleri, Gsm numaraları ve bulundukları konum bilgileri sistem içerisinde kullanılarak yoklamanın doğruluğunun sağlanması amaçlanmıştır. Bu kontrol işleminde KNN gibi basit ama etkili bir algoritmanın yardımıyla bu doğruluğun artırılması sağlanmıştır. Devamsızlık takibinin ders için ayrılan süre içerisinde yapılmasından dolayı kaybolan sürenin hazırlanan sistem ile en aza indirilmesi sağlanarak eğitim ve öğretim faaliyetleri için daha fazla zaman yaratılmıştır. Eğiticilerin iş yüklerinin ve devamsızlık kontrolü için kullanılan kâğıt
miktarının azaltılması da sistemin çıktıları arasındadır. Geliştirilen sistem bu alanda yapılan ilk çalışmalardan biridir. Sistemin pilot uygulaması yapıldıktan sonra geliştirilip diğer mobil platformlar içinde uygun hale getirilecektir. 5. KAYNAKLAR [1] Bicen, H., and Kocakoyun, S., "The Evaluation Of The Most Used Mobile Devices Applications By Students." Procedia - Social and Behavioral Sciences, 89:756-760 (2013) [2] IDC. Worldwide Smartphone 2012-2016 Forecast Update. (erişim 15.01.2013). http://www.idc.com/getdoc.jsp?containerid=23519 3#.UP-6bR26fSk (2012). [3] Kutluk, F., A., and Gülmez, M., "A research about mobile learning perspectives of university students who have accounting lessons." Procedia - Social and Behavioral Sciences, 116:291-297 (2014) [4] Karaburun, A., GPS ile Elektronik Uzaklık Ölçeklerinin Karşılaştırılması İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, (1998). [5] Miitchell, T., Machine Learning. McGraw Hill, New York (1997). [6] Karimifard, S., Ahmadian,A., Khosnevisan, M., and Nambakhs, M., S., "Morphological heart arrhytmia detection using Hermitian basis functions and KNN classifier." 28th IEEE EMBS Annual International Conference. New York, 1367-1370 (2006) [6] Barker, J, Asmundson, P., State of Global Mobile Consumer: Connectivity is core. (erişim 11.10.2014). http://www.deloitte.com/mobileconsumer (2013) [7] Şendere, O., Türkiye'nin Son Üç Yıldaki Akıllı Telefon Kullanım Raporu (erişim 11.15, 2014). http://www.webtrendleri.com/raporlar/turkiyeninson-uc-yildaki-akilli-telefon-kullanim-raporu (2013)