Enstitüler / Institutes
Permanent URI for this communityhttps://hdl.handle.net/11727/1390
Browse
3 results
Search Results
Item Makine öğrenmesi teknikleriyle yazılım uyum metriklerinin tahmini(Başkent Üniversitesi Fen Bilimler Enstitüsü, 2022) Haner Kırğıl, Elif Nur; Erçelebi Ayyıldız, TülinGünümüzde yazılıma olan ihtiyaç arttıkça, oluşturulan yazılımların kalitesini ölçmek de gerekli hale gelmiştir. Yazılım kalitesini ölçmek için literatürde çeşitli metrikler bulunmaktadır. Bu metriklerin bazıları sınıf bazında ölçüm yapmaktadır. Sınıflar nesne yönelimli programlamanın temel birimleridir. Sınıflarda bulunan metotların ve özniteliklerin birbiri ile uyumunu ölçen uyum metriği yazılım kalitesine doğrudan etki etmektedir. Uyumun temel amacı her sınıfın tek bir amaca hizmet etmesi gerektiği kuralını sağlamaktır. Sınıflar gerçekleştirim aşamasında uyuma dikkat edilerek oluşturulduğunda, bakım onarım aşamasında her amaç için tek bir sınıfa bakılacağından zaman ve maliyet açısından fayda sağlanacaktır. Literatürde yazılımın uyumunu ölçen birçok metrik ve araç bulunmaktadır. Her metrik farklı yöntemlerle ve farklı konuları dikkate alarak uyumu hesaplamaktadır. Uyumu hesaplamak için her ne kadar araç kullanımı yaygın olsa da araç kullanmak zaman ve maliyet gerektiren bir durumdur. Ayrıca araçların deneme versiyonları ile istenilen tüm metriklere her durumda erişilemeyebilir. Bildiğimiz kadarıyla şu ana kadar, yazılım uyum metriklerini makine öğrenmesi teknikleri ile tahmin etmeye çalışan herhangi bir çalışma bulunmamaktadır. Bu çalışmada Lack of Cohesion in Methods (LCOM2), Tight Class Cohesion (TCC), Loose Class Cohesion (LCC) ve Low Level Design Class Cohesion (LSCC) uyum metrikleri Rastgele Orman (Random Forest), REPTree, K En Yakın Komşu (K Nearest Neighbor – KNN), Doğrusal Regresyon (Linear Regression), Çok Katmanlı Algılayıcı (Multilayer Perceptron – MLP) ve Destek Vektör Makinesi (Support Vector Machine – SVM) yöntemleri kullanılarak tahmin edilmeye çalışılmıştır. Bu sayede uyum metriği daha hızlı ve kolay bir şekilde elde edilebilmektedir. LCOM2 metriği 0 ve 1 arasında normalize edilmediği için LCOM2 metriğine ait veri kümesine normalizasyon işlemi ve aykırı/uç değer analizi yapılmıştır. Bu işlemlerden sonra elde edilen analiz sonuçlarının tamamı verilmiştir. Alınan sonuçlara göre en iyi performanslar, LCOM2 metriği için uç değer analizinden sonra 5,080 hata değeri, normalizasyon işleminden sonra 0,079 hata değeri KNN algoritması kullanılarak, TCC için 0,231 hata değeri KNN algoritması kullanılarak, LCC için 0,259 hata değeri REPTree algoritması kullanılarak ve LSCC için 0,149 hata değeri REPTree algoritması ile elde edilmiştir. Today, as the need for software increases, it has become necessary to measure the quality of these software. There are various metrics in the literature to measure software quality. Some of these metrics measures on a class basis. Classes are the basic units of object oriented programming. The cohesion metrics, which measures the compatibility of the methods and attributes in the classes with each other, directly affects the software quality. The main purpose of cohesion is to provide the rule that every class should serve a single purpose. When classes are created by paying attenion to cohesion, a single class will be traced for each purpose during the maintenance phase, so it is profitable in terms of time and cost. There are many metrics and tools in the literature that measure cohesion. Each metric calculates cohesion with different methods and considering different issues. Although it is common to use tools to calculate the cohesion, using a tool requires time and cost . In addition, with the trial versions of the tools, all desired metrics may not be accessible in all cases. As far as we know, there is no study that tries to predict cohesion metrics with machine lerning techniques so far. In this study, Lack of Cohesion in Methods (LCOM2), Tight Class Cohesion (TCC), Loose Class Cohesion (LCC) and Low Level Design Class Cohesion (LSCC) metrics were tried to be estimated using Random Forest, REPTree, K Nearest Neighbor – KNN, Linear Regression, Multilayer Perceptron (MLP) and Support Vector Machine (SVM). In this way, the cohesion metric is obtained more quickly and easily. Since the LCOM2 metric was not normalized between 0 and 1, normalization and outlier analysis were performed on the dataset of the LCOM2 metric. All of the analysis results obtained after these processes. According to the results obtained, the best performances were obtained for the LCOM2 metric with an error value of 5.080 after outlier analysis, 0.079 error value after normalization using KNN algorithm, using the KNN algorithm with an error value 0.231 for TCC, using the REPTree algorithm with an error value 0.259 for LCC and using the REPTree algorithm with an error value 0.149 for LSCCItem İnsan hareketlerinin kinect sensör kullanılarak sınıflandırılması(Başkent Üniversitesi Fen Bilimler Enstitüsü, 2022) Açış, Büşra; Güney, SeldaSon yıllarda sağlık ve güvenlik gibi birçok alanda insan hareketlerini sınıflandırmaya yönelik çalışmalar yapılmaktadır. Son yıllarda kullanım alanı daha çok gelişen görüntü işleme ve sınıflandırma algoritmaları bu alanda da kullanılmaya başlanmıştır. Bu sınıflandırma algoritmalarının öncül yöntemleri makine öğrenmesi ve derin öğrenmedir. Bu çalışmada, Kinect sensör kullanılarak elde edilen veri seti üzerinde insan hareketlerinin sınıflandırılması yapılmıştır. Kullanılan veri seti içerisinde gerçek zamanlı insan duruş bilgilerinin ve görüntülerinin bulunduğu literatürde hazır halde bulunan CAD60 veri setidir. Bu veri setinde, farklı insanların farklı hareketlerini/duruşlarını içeren veriler bulunmaktadır. Bu çalışma kapsamında, MATLAB uygulaması kullanılarak derin öğrenme tabanlı ve makine öğrenme tabanlı yöntemlerle insan hareketlerini sınıflandırma yapılmıştır. Ham veri seti üzerinde, geriye doğru öznitelik seçme (BFS) ile elde edilen verilerle ve Uzun Kısa Süreli Bellek (Long Short Term Memory – LSTM) ile öznitelik çıkarma ile elde edilen verilere makine öğrenmesi tabanlı metotlar uygulanarak sınıflandırma çalışmaları yapılmıştır. Bunu yanı sıra LSTM, Evrişimsel Sinir Ağları (Convolutional Neural Network, CNN) ile sıfırdan öğrenme (learn from scratch) ve öğrenme aktarımı (transfer learning) yöntemi ile insan hareketleri sınıflandırılmıştır. Bu altı yöntemin sonunda elde edilen başarı değerleri birbirleri ile kıyaslanmıştır ve maksimum başarı değeri LSTM ile öznitelik çıkarma yönteminde elde edilmiştir. In recent years, studies have been carried out to classify human movements in many areas such as health and safety. Image processing and classification algorithms, which have been used more in recent years, have started to be used in this field as well. The predecessor methods of these classification algorithms are machine learning and deep learning. In this study, the classification of human movements was made on the data set obtained using the Kinect sensor. It is the CAD60 dataset, which is available in the literature, which contains real-time human posture information and images in the data set used. In this dataset, there are data containing different movements/stances of different people. Within the scope of this study, human movements were classified using deep learning-based and machine learning-based methods using MATLAB application. Classification studies were carried out by applying machine learning-based methods to the data obtained by backward feature selection (BFS) and feature extraction with Long Short Term Memory (LSTM) on the raw data set. In addition, human movements are classified with LSTM, Convolutional Neural Networks (CNN), learn from scratch and transfer learning method. The success values obtained at the end of these six methods were compared with each other and the maximum success value was obtained in the feature extraction method with LSTM.Item Yapay zeka yöntemleri ile finansal zaman serileri öngörüleri(Başkent Üniversitesi Sosyal Bilimler Enstitüsü, 2020) Arda, Efe; Küçükkocaoğlu, GürayBilgisayar bilimlerinin sunduğu yöntemler, veriye erişme, veri işleme ve depolama yönünden finans alanındaki gereksinimleri karşılamada insanlara kıyasla kuvvetli avantajlara sahiptir. Bilgisayar bilimlerinin bir alt dalı olan yapay zeka sunduğu nöral ağ, genetik algoritmalar ve makine öğrenmesi gibi yöntemlerle finans alanında ortaya çıkan trend analizi, zaman serisi analizi, portföy yönetimi, dolandırıcılık tespiti, risk yönetimi ve hisse değeri öngörüleri gibi problemlere etkin çözümler sunmaktadır. Bu çok disiplinli tezin amacı, finansal zaman serilerini belirli yapay zeka programlarına öğreterek gelecek tahminleri üretmek ve elde edilen bu öngörülerin performansını gerçekleşen değerlerle kıyaslayarak incelemektir. Tez çalışması kapsamında yedi farklı yapay zeka yöntemi programlanmıştır. Veri seti olarak 2014-2016 senelerini kapsayan 775 iş günü boyunca Borsa İstanbul’da işlem gören, işlem hacmi ve piyasa değeri en yüksek 30 şirketin hisse senedi kapanış fiyatları kullanılmıştır. Algoritmaların performanslarının öğrenme süreleri ile değişiklik göstereceği beklentisi sebebi ile öncelikle verilerin %80’ine tekabül eden 603 günlük veri öğrenme için kullanılmış, kalan %20’si olan 152 günlük veri yöntemlerin test edilmesinde kullanılmak üzere algoritmaların tahmininde kullanılmıştır. “Uzun vade tahminleri” olarak yapılan bu çalışmada “Hızlı Orman Yüzdelik Dağılımı” algoritmasının en düşük hata oranına sahip olduğu tespit edilmiştir. Tezin bir sonraki adımında verilerin %90’ına tekabül eden 680 günlük veri öğrenme için kullanılmış, kalan %10’u olan 75 günlük kısmı test amacı ile kullanılmıştır. “Orta vade tahminleri” olarak yapılan bu çalışmada “Destekli Karar Ağacı Regresyonu” algoritmasının en düşük hata oranına sahip olduğu tespit edilmiştir. Son olarak verilerin %99’ına tekabül eden 747 günlük veri öğrenme için kullanılmış, kalan %1’i olan 8 gün test amacı ile kullanılmıştır. “Kısa vade tahminleri” olarak yapılan bu çalışmada “Nöral Ağ Regresyonu” ve “Poisson Regresyonu” algoritmalarının en düşük hata oranlarına sahip olduğu tespit edilmiştir. Sonuç olarak yapay zeka yöntemlerinin finansal zaman serileri öngörüleri için etkili yöntemler sunduğu ortaya konmuştur. The methods provided by the field of computer science have considerable advantages in domains of reaching, storing and processing data to satisfy the requirements of finance field compared to humans. A subdomain of computer science; artificial intelligence provides methods such as neural networks, genetic algorithms and machine learning to find effective solutions to financial problems / goals such as trend prediction, portfolio management, fraud detection, risk management and stock prediction. This multidisciplinary thesis aims to teach certain artificial intelligence algorithms the financial time series data, provide future forecasts and compare these forecasts to original values to examine their performance. Seven different artificial intelligence algorithms have been programmed for this thesis. A dataset of 775 business days between 2014-2016 consisting of closing prices of companies that have İstanbul Stock Exchanges 30 highest trading volume and market value are used. Due to the expectation of different algorithms to provide different performance depending on the number of learning / forecasting days, firstly %80 of the data equaling 603 days have been used for training, and the remaining %20 of the data equaling 152 days have been forecasted by the algorithms. Simulating “Long Term Forecasts”, “Fast Forest Quantile Regression” algorithm has shown the least error percentage. Secondly %90 of the data equaling 680 days have been used for training, and the remaining %10 of the data equaling 75 days have been forecasted by the algorithms. Simulating “Medium Term Forecasts”, “Boosted Decision Forest” algorithm has shown the least error percentage. Lastly %99 of the data equaling 747 days have been used for training, and the remaining %1 of the data equaling 8 days have been forecasted by the algorithms. Simulating “Short Term Forecasts”, “Poisson Regression” and “Neural Network Regression” algorithms has shown the least error percentage. The thesis concludes by confirming artificial intelligence algorithms can be used as effective tools for financial time series forecasting.