Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by discipline "Tietojenkäsittelytiede"

Sort by: Order: Results:

  • Levitski, Andres (2016)
    With the increase in bandwidths available for internet users, cloud storage services have emerged to offer home users an easy way to share files and extend the storage space available for them. Most systems offer a limited free storage quota and combining these resources from multiple providers could be intriguing to cost-oriented users. In this study, we will implement a virtual file system that utilizes multiple different commercial cloud storage services (Dropbox, Google Drive, Microsoft OneDrive) to store its data. The data will be distributed among the different services and the structure of the data will be managed locally by the file system. The file system will be run in user space using FUSE and will use APIs provided by the cloud storage services to access the data. Our goal is to show that it is feasible to combine the free space offered by multiple services into a single easily accessible storage medium. Building such a system requires making design choices in multiple problem areas ranging from data distribution and performance to data integrity and data security. We will show how our file system is designed to address these requirements and will then conduct several tests to measure and analyze the level of performance provided by our system in different file system operation scenarios. The results will also be compared to the performance of using the distinct cloud storage services directly without distributing the data. This will help us to estimate the overhead or possible gain in performance caused by the distribution of data. It will also help us to locate the bottlenecks of the system. Finally, we will discuss some of the ways that could be used to improve the system based on test results and examples from existing distributed file systems.
  • Osmani, Lirim (2013)
    With the recent advances in efficient virtualization techniques in using commodity servers cloud computing has emerged as a powerful technology to meet new requirements for supporting a new generation of computing services based on utility model. However barriers to widespread adoption still exists and the dominant platform is yet to be seen in years to come. Hence the challenge of providing scalable cloud infrastructures requires a continuous exploration of new technologies and techniques. This thesis describes an experimental investigation of integrating two such open source technologies, OpenStack and GlusterFS, to build our cloud environment. We designed a number of test case scenarios that help us answer the questions around performance, stability and scalability of the cloud infrastructure deployed. Additionally, the work based on this thesis was accepted to the Conference on Computing in High Energy and Nuclear Physics (CHEP2013), and the paper is due for publishing.
  • Soyoye, Fiyinfoluwa (2020)
    Voice-Based Proactive Information Retrieval can support social interactions by augmenting conversations and removing the need for explicit search activity. Previous work introduces the SearchBot, a proactive search agent used to collect data about search behaviour during social interactions. Although prior analyses show that it positively influences the conversations of its users, the research leaves a gap in understanding how it affects their other behaviours. This thesis aims to bridge this gap by analyzing data from a previous study and characterizing the influence of the SearchBot on the behaviours and activities of its users. Our findings show that study participants displayed an increased frequency of engagement with the SearchBot system than with a more traditional search system. In addition, our exploration of the different types of search activities that users perform shows that SearchBot users are able to avoid the most cognitively expensive one (query formulation and typing). The findings also reveal patterns of interaction between the SearchBot system and its users in terms of speech patterns and search behaviours. We discuss the implications of our findings and provide suggestions for future work.
  • Hämäläinen, Heikki (2016)
    Tämä työ tutkii Clojure-ohjelmointikieltä, joka on erityisesti rinnakkaisohjelmointiin suunniteltu Lisp-kielen murre. Clojure tukee vahvaa liitosta Java-ympäristöön ja sillä kirjoitetut ohjelmat suoritetaan JVM-virtuaalikoneella. Tutkielmassa käydään läpi Lisp-kielten historia, rinnakkaisohjelmoinnin yleiset haasteet ja funktionaalisen ohjelmointiparadigman perusteet. Lisäksi käsitellään Java-kielen ja JVM-virtuaalikoneen ja Clojure-kielen rinnakkaisohjelmointipiirteet. Tutkielman analyysiosassa verrataan Clojuren ja Javan rinnakkaisuusratkaisuja muun muassa tehokkuuden ja käytettävyyden osalta. Clojuren rinnakkaisuusratkaisuista transaktiomuisti osoittautui laskennallisesti hyvin raskaaksi. Lisäksi rinnakkaisratkaisujen lukottomuudesta seuraa se, että tietyt rinnakkaisohjelmointiongelmat ovat hankalia toteuttaa ilman, että käytetään Javan rinnakkaisratkaisuja. Erityisesti synkronisten rinnakkaisratkaisujen osalta kielessä olisi kehittämisen varaa. Javaan verrattuna Clojuren rinnakkaisuusratkaisut ovat hieman yksinkertaisempia käyttää. Tämä johtuu kuitenkin pitkälle Clojuren dynaamisesta tyypityksestä ja funktionaalisesta perusrakenteesta.
  • Kesseli, Henri (2013)
    Embedded systems are everywhere. The variety of different types of embedded systems and purposes are wide. Yet, many of these systems are islands in an age where more and more systems are being connected to the Internet. The ability to connect to the Internet can be taken advantage in multiple ways. One is to take advantage of the resources cloud computing can offer. Currently, there are no comprehensive overviews how embedded systems could be enhanced by cloud computing. In this thesis we study what cloud enhanced embedded systems are and what their benefits, risks, typical implementation methods, and platforms are. This study is executed as an extended systematic mapping study. The study shows that the interest from academia and practice in cloud enhanced embedded systems has been growing significantly in recent years. The most prevalent research area is wireless sensor networks followed by the more recent research area Internet of things. Most of the technology is available for implementing cloud enhanced embedded systems but comprehensive development tools such as frameworks or middlewares are scarce. Results of the study indicate that existing embedded systems and other non-computing devices would benefit from connectivity and cloud resources. This enables the development of new applications for consumers and industry that would not be possible without cloud resources. As an indication of this we see several systems developed for consumers such as remotely controlled thermostats, media players that depend on cloud resources, and network attached storage systems that integrate with cloud access and discovery. The academic literature is full of use cases for cloud enhanced embedded systems and model implementations. However, the actual integration process as well as specific engineering techniques are rarely explained or scrutinized. Currently, the typical integration process is very custom to the application. There are few examples of efforts to create specific development tools, more transparent protocols, and open hardware to support the development of ecosystems for cloud enhanced embedded systems.
  • Pulkkinen, Markku (2020)
    Organizations are adopting cloud technologies at an increasing rate. Significant share of growth of cloud deployments is coming from application migrations to cloud computing. Migrating existing legacy applications to cloud computing platform is not a trivial task. A migration methodology will help migrating applications to cloud more effectively and with lower risk than doing it by trial and error. A part of the cloud migration process is the selection and execution of a migration strategy amongst the possible, situational and commonly used options. The migration strategy defines many of the migration process activities since they depend on cloud architecture and service and deployment models, which are implicitly set by the migration strategy. Many of the existing cloud migration methods don’t specify the factors that lead to migration strategy selection. The migration strategy selection is a critical part of migration planning involving multiple organisations and several individuals. This thesis presents categories of migration strategy factors derived from a cloud migration methodology and process framework review and validates the factors by doing a deductive thematic analysis against qualitative case study interview data. By having a clarity and a way to address the migration strategy factors, will increase the migration success rate and reduce planning time.
  • Malmivirta, Titti (2020)
    Continuous thermal imaging is a way to measure psycho-physiological signals in humans. Psycho-physiological signals refer to physical signals caused by some psychological or mental situation or change. One of the technical challenges with the thermal psycho-physiological signal measurement is that the devices used to measure the temperature changes need to be sensitive and accurate enough to actually detect them. This is generally true for laboratory equipment, but the current relatively cheap and small mobile devices, including uncooled thermal cameras, could be used to make this kind of measurements cheaper, less intrusive and mobile. Currently the customer-priced mobile devices still tend to produce a lot of noise and other inaccuracies to measurements. The focus of this thesis is to evaluate the usefulness of the FLIR One thermal camera integrated in the Caterpillar Cat S60 phone for cognitive load measurement and the possibility to improve the measurement accuracy with additional calibration correction. We developed a deep learning based calibration correction method as an attempt to improve the quite noisy initial measurements of the thermal camera. Then an experiment measuring cognitive load was organised. The calibration correction method was used to reduce errors in the data from the cognitive load experiment to see if the performance of the thermal camera can be improved enough for accurate cognitive load detection. Our results show that while our calibration correction method does improve the measurement accuracy when compared to the ground truth, the fluctuations in the measurements do not decrease enough to improve the performance of the thermal camera with regards to the cognitive load sensing.
  • Hannikainen, Jaakko (2020)
    Ohjelmointikielen valinta on tärkeä osa ohjelmistoprojektien toteutusta. Vaikka ohjelmointikielet uudistuvat nopeaan tahtiin, nykypäivänä on yhä tavallista valita ohjelmiston toteutukseen C-ohjelmointikieli, joka on standardoitu yli 30 vuotta sitten. Tutkielmassa tutkitaan syitä, miksi C on nykypäivänä vieläkin laajassa käytössä uudempien ohjelmointikielten sijaan. Tutkielmassa C:hen verrattaviksi ohjelmointikieliksi valitaan Ada, C++, D, Go sekä Rust. Kaikki viisi kieltä ovat tehokkaita. Tämän lisäksi jokaisen kielten historiassa on ollut tavoitteena korvata C:n käyttö. Ohjelmointikieliä verrataan C:hen suorituskyvyn, muistinkäytön sekä C-yhteensopivuuden osalta. Tämän lisäksi tutkielmassa selvitetään tärkeimpiä C:n ominaisuuksia sekä C:n kehitettävissä olevia ominaisuuksia. Tuloksia käytetään uuden Purkka-ohjelmointikielen suunnitteluun. Muut ohjelmointikielet todetaan suorituskykymittauksissa C:tä hitaammiksi. Tämän lisäksi muiden ohjelmointikielten ominaisuudet, kuten automaattisen muistinhallinnan, todetaan aiheuttavan ongelmia C-yhteensopivuudelle. C:n tärkeimmiksi ominaisuuksiksi nousevat esiin yksinkertaisuus, tehokkuus sekä alustariippumattomuus. Nämä ominaisuudet otetaan huomioon Purkka-kielen suunnittelussa, jossa painotetaan näiden lisäksi yhteensopivuutta C-ohjelmointikielen kanssa. Tutkielmaa varten kehitetty Purkka-kieli on suunniteltu C:n kaltaiseksi ohjelmointikieleksi, jossa on muutettu C:n syntaksia yksinkertaisemmaksi ja johdonmukaisemmaksi. Suorituskykymittauksissa todetaan, että Purkan muutokset C:hen eivät aiheuta suoritusaikaisia rasitteita. Koska Purkka-kieli käännetään C:ksi, se on mahdollisimman yhteensopiva nykyisten kääntäjien kanssa.
  • Al-Hello, Muhammed (2012)
    Biological cell is complicated and complex environment, in which thousands of entities interact surprisingly among each other. This integrated device continuously receives internal and external signals to perform the most vital processes to keep the continuation of life. Even though thousands of interactions are catalysed in very small spaces, biologists assert there are no coincidences or accidental events. On the other hand, fast discoveries in biology and the rapid evolution in the data pool make it even more difficult to construct concrete perspective that scientifically interprets all observations. Thereby, co-operation has become necessary between biologists, mathematicians, physicists and computer engineers. The goal of this virtual corporation is pursuance what is known as modelling biological network. The final thesis is aiming to make comparisons across different computational tools, which are built for modeling biological network. Additionally, technical themes, such as reaction kinetic, are explained beforehand. These topics represent backbone in the software functionality. Beside the technical issues, the study will compare different features such as GUI, command line, importing/exporting files, etc.
  • Davoudi, Amin (2018)
    In the Internet age, malware poses a serious threat to information security. Many studies have been conducted on using machine learning for detecting malicious software. Although major breakthroughs have been achieved in this area, the problem has not been completely eradicated. In this thesis, we are going through the concept of utilizing machine learning for malware detection and conduct several experiments with two different classifiers (Support Vector Machine and Naive Bayes) to compare their ability to detect malware based on Port-able Executable (PE) file format headers. A malware classifier dataset built with header field values of portable executable files was obtained from GitHub and used for experimental part of the thesis. We conducted 5 different experiments with several different trial settings. Various statistical methods have been used to assess the significance of the results. The first and second experiment show that using SVM and Naive Bayes classification methods for our dataset can result in high sensitivity rate. In the rest of the experiments, we focus on ac-curacy rate of both classifiers with different settings. The results show that although there were no big differences in the accuracy rates of the classifiers, the value of variance of ac-curacy rates is greater in Naive Bayes than in SVM. The study investigates ability of two different methods to classify information in their distinctive way. It also provides evidences that show that the learning-based approach provides a means for accurate automated analysis of malware behavior which helps in the struggle against malicious software.
  • Guo, Haipeng (2016)
    Along with the proliferation of smartphones, smartphone context-aware applications are gaining more and more attention from manufactures and users. With the capability to infer user's context information i.e., if the user is in a meeting, driving, running or at home, smartphone applications can react accordingly. However, limiting factors such as limited battery capacity, computing power and inaccuracy of inference caused by the in-accurate machine learning models and sensors hinder the large deployment of context-aware applications. In this master thesis, I develop CompleSense, a cooperative sensing framework designed for Android devices that facilitates the establishment and management of cooperation group so that developers can further exploit the potentials of cooperative sensing without worrying about the implementation of system monitoring, data throttling, aggregation and synchronization of data streams and wireless message passing via Wi-Fi. The system adopts Wi-Fi Direct technology for service advertisement and peer discovery. Once the cooperative group is formed, devices can share sensing and computing resources within short range via Wi-Fi connection. CompleSense allows developers to customize the system based on their own optimization needs, e.g., optimizing the trade-offs of cooperative sensing. System components are loosely coupled to ensure extensibility, resilience and scalability of the system, so that failure or change of a single component will not affect the remaining parts of the system. Developers can extend from the current system by adding customized data processing kernels, machine learning models and optimized sharing schemes. In addition to that, CompleSense abstracts the controlling logic of sensors, developers can easily integrate new sensors into the system by following a pre-defined a programming interface. The performance of CompleSense is evaluated by carrying out a cooperative audio similarity calculation task with varied number of clients which also confirms that CompleSense is feasible to be deployed for lower tier devices, such as Motorola Moto G.
  • Alnajjar, Khalid (2019)
    I reklam används sloganer för att förbättra återkallandet av den annonserade produkten av konsumenter och skilja den från andra på marknaden. Att skapa effektiva slagord är en resurskrävande uppgift för människor. I denna avhandling beskriver vi en ny metod för att automatiskt generera sloganer, med tanke på ett målkoncept (t ex bil) och en adjektivsegenskap för att uttrycka (t ex elegant) som input. Dessutom föreslår vi en metod för att generera nominella metaforer med hjälp av en metafor-tolkningsmodell för att möjliggöra generering av metaforiska slagord. Metoden för att generera sloganer extraherar skelett från befintliga sloganer, så fyller det ett skelett med lämpliga ord genom att använda flera språkliga resurser (som ett förvar av grammatiska och semantiska relationer och språkmodeller) och genetiska algoritmer samtidigt som man optimerar flera mål såsom semantiska relateradhet, språkkorrigering och användning av retoriska enheter. Vi utvärderar metaforen och slogangenereringsmetoderna med hjälp av en tänktalkoplattform. På en 5-punkts Likert-skala ber vi online-domare att bedöma de genererade metaforerna tillsammans med tre andra metaforer som genererades med andra metoder och visa hur bra de kommunicerar den eftersökta betydelsen. Slogangenereringsmetoden utvärderas genom att be crowdsourced-domare att bedöma genererade sloganer från fem perspektiv, vilka är 1) hur bra är sloganet relaterat till ämnet, 2) hur korrekt är sloganets språk, 3) hur metaforiskt är sloganet, 4) hur engagerande, attraktivt och minnesvärt är det och 5) hur bra är sloganet överlag. Dessa frågor är utvalda för att undersöka effekterna av relateradhet till produkten och den markerade egenskapen, användningen av retoriska anordningar och språkets korrekthet på den övergripande uppskattningen av slogan. På samma sätt utvärderar vi befintliga sloganer som har skapats av äkta människor. Baserat på utvärderingarna analyserar vi metoden som helhet tillsammans med de enskilda optimeringsfunktionerna och ger insikter om befintliga sloganer. Resultaten från våra utvärderingar visar att vår metaforgeneringsmetod kan producera lämpliga metaforer. För slogangenereraren bevisar resultaten att metoden har varit framgångsrik i att producera minst en effektiv slogan för varje utvärderad input. Ändå finns det utrymme för att förbättra metoden, som diskuteras i slutet av avhandlingen.
  • Kruglaia, Anna (2016)
    Game design is a complicated, multifaceted creative process. While there are tools for developing computer games, tools that could assist with more abstract creative parts of the process are underrepresented in the domain. One of such parts is the generation of game ideas. Ideation (idea generation) is researched by the computational creativity community in the contexts of design, story and poetry generation, music, and others. Some of the existing techniques can be applied to ideation for games. The process of generating ideas was investigated by applying said techniques to actual themes from game jams. The possibility of using metaphors produced by Metaphor Magnet together with ConceptNet was tested and the results are presented as well.
  • Raitahila, Iivo (2019)
    The Internet of Things (IoT) consists of physical devices, such as temperature sensors and lights, that are connected to the Internet. The devices are typically battery powered and are constrained by their low processing power, memory and low bitrate wireless communication links. The vast amount of IoT devices can cause heavy congestion in the Internet if congestion is not properly addressed. The Constrained Application Protocol (CoAP) is an HTTP-like protocol for constrained devices built on top of UDP. CoAP includes a simple congestion control algorithm (DefaultCoAP). CoAP Simple Congestion Control/Advanced (CoCoA) is a more sophisticated alternative for DefaultCoAP. CoAP can also be run over TCP with TCP's congestion control mechanisms. The focus of this thesis is to study CoAP's congestion control. Shortcomings of DefaultCoAP and CoCoA are identified using empirical performance evaluations conducted in an emulated IoT environment. In a scenario with hundreds of clients and a large buffer in the bottleneck router, DefaultCoAP does not adapt to the long queuing delay. In a similar scenario where short-lived clients exchange only a small amount of messages, CoCoA clients are unable to sample a round-trip delay time. Both of these situations are severe enough to cause a congestion collapse, where most of the link bandwidth is wasted on unnecessary retransmissions. A new retransmission timeout and congestion control algorithm called Fast-Slow Retransmission Timeout (FASOR) is congestion safe in these two scenarios and is even able to outperform CoAP over TCP. FASOR with accurate round-trip delay samples is able to outperform basic FASOR in the challenging and realistic scenario with short-lived clients and an error-prone link.
  • Waltari, Otto Kustaa (2013)
    Advanced low-cost wireless technologies have enabled a huge variety of real life applications in the past years. Wireless sensor technologies have emerged in almost every application field imaginable. Smartphones equipped with Internet connectivity and home electronics with networking capability have made their way to everyday life. The Internet of Things (IoT) is a novel paradigm that has risen to frame the idea of a large scale sensing ecosystem, in which all possible devices could contribute. The definition of a thing in this context is very vague. It can be anything from passive RFID tags on retail packaging to intelligent transducers observing the surrounding world. The amount of connected devices in such a worldwide sensing network would be enormous. This is ultimately challenging for the current Internet architecture which is several decades old and is based on host-to-host connectivity. The current Internet addresses content by location. It is based on point-to-point connections, which eventually means that every connected device has to be uniquely addressable through a hostname or an IP address. This paradigm was originally designed for sharing resources rather than data. Today the majority of Internet usage consists of sharing data, which is not what it was originally designed for. Various patchy improvements have come and gone, but a thorough architectural redesign is required sooner or later. Information-Centric Networking (ICN) is a new networking paradigm that addresses content by name instead of location. Its goal is to replace the current where with what, since the location of most content on the Internet is irrelevant to the end user. Several ICN architecture proposals have emerged from the research community, out of which Content-Centric Networking (CCN) is the most significant one in the context of this thesis. We have come up with the idea of combining CCN with the concept of IoT. In this thesis we look at different ways on how to make use of the hierarchical CCN content naming, in-network caching and other information-centric networking characteristics in a sensor environment. As a proof of concept we implemented a presentation bridge for a home automation system that provides services to the network through CCN.
  • Tilli, Tuomo (2012)
    BitTorrent is one of the most used file sharing protocols on the Internet today. Its efficiency is based on the fact that when users download a part of a file, they simultaneously upload other parts of the file to other users. This allows users to efficiently distribute large files to each other, without the need of a centralized server. The most popular torrent site is the Pirate Bay with more than 5,700,000 registered users. The motivation for this research is to find information about the use of BitTorrent, especially on the Pirate Bay website. This will be helpful for system administrators and researchers. We collected data on all of the torrents uploaded to the Pirate Bay from 25th of December, 2010 to 28th of October, 2011. Using this data we found out that a small percentage of users are responsible for a large portion of the uploaded torrents. There are over 81,000 distinct users, but the top nine publishers have published more than 16% of the torrents. We examined the publishing behaviour of the top publishers. The top usernames were publishing so much content that it became obvious that there are groups of people behind the usernames. Most of the content published is video files with a 52% share. We found out that torrents are uploaded to the Pirate Bay website at a fast rate. About 92% of the consecutive uploads have happened within 100 seconds or less from each other. However, the publishing activity varies a lot. These deviations in the publishing activity may be caused by down time of the Pirate Bay website, fluctuations in the publishing activity of the top publishers, national holidays or weekdays. One would think that the publishing activity with so many independent users would be quite level, but surprisingly this is not the case. About 85% of the files of the torrents are less than 1.5 GB in size. We also discovered that torrents of popular feature films were uploaded to the Pirate Bay very fast after their release and the top publishers appear to be competing on who releases the torrents first. It seems like the impact of the top publishers is quite significant in the publishing of torrents.
  • Hemminki, Samuli (2012)
    In this thesis we present and evaluate a novel approach for energy-efficient and continuous transportation behavior monitoring for smartphones. Our work builds on a novel adaptive hierarchical sensor management scheme (HASMET), which decomposes the classification task into smaller subtasks. In comparison to previous work, our approach improves the task of transportation behavior monitoring on three aspects. First, by employing only the minimal set of necessary sensors for each subtask, we are able to significantly reduce power consumption of the detection task. Second, using the hierarchical decomposition, we are able to tailor features and classifiers for each subtask, improving the accuracy and robustness of the detection task. Third, we are able to extend the detectable motorised modalities to cover most common public transportation vehicles. All of these attributes are highly desirable for real-time transportation behavior monitoring and serve as important steps toward implementing the first truly practical transportation behavior monitoring on mobile phones. In the course of the research, we have developed an Android application for sensor data collection and utilized it to collect over 200 hours of transportation data, along with 2.5 hours of energy consumption data of the sensors. We apply our method on the data to demonstrate that compared to current state-of-art, our method offers higher detection accuracy, provides more robust transportation behavior monitoring and achieves significant reduction in power consumption. For evaluating results with respect to the continuous nature of the transportation behavior monitoring, we use event and frame-based metrics presented by Ward et al.
  • Kinnunen, Petri (2020)
    Computer programs are common in our daily environment and new robotic devices emerge constantly. One of the key skills for the future is understanding the general purpose as well as intricate details of both concepts. Programs written in conventional programming languages are purely text with syntax cryptic to an unexperienced observer and errors can easily be made in the writing process, which is far from ideal basis to introduce programming or robotics to children on elementary school level. We set to investigate how a visual learning environment could reduce this chasm between the skills of the young and the perceived difficulty of computer technology and with what assortment of technologies and working methods such platforms, both programming and robotic, could be produced in a project with multiple parties. A joint endeavor was started between two research groups in different universities and the education services of a municipality in Finland. In the project, a visual programming environment was created where the users can assemble programs by stacking and manipulating colorful blocks to form a command flow. The set of functions are traditional with calculations, variables and loops, but also include commands to pilot a robotic platform with wheels, arms and a facial expression indicating display. This robot is a product of the project also, based on a commercial design. The venture can be concluded a success. The learning environment and the roving robot were created in the course of the project and architectural design and selected technologies proved sensible. The empirical exploration accumulated knowledge for academic research.
  • Timonen, Janne (2020)
    This thesis examines designing and implementing adaptive visual cues for a social virtual reality meditation environment. The system described here adapts into user’s bio- and neurofeedback and uses that data in visual cues to convey information of physiological and affective states during meditation exercises supporting two simultaneous users. The thesis shows the development process of different kinds of visual cues and attempts to pinpoint best practices, design principles and pitfalls regarding the visual cue development in this context. Also examined are the questions regarding criteria for selecting correct visual cues and how to convey information of biophysical synchronization between users. The visual cues examined here are created especially for a virtual reality environment which differs as a platform from traditional two dimensional content such as user interfaces on a computer display. Points of interests are how to embody the visual cues into the virtual reality environment so that the user experience remains immersive and the visual cues convey information correctly and in an intuitive manner.
  • Davis, Keith III (2020)
    We study the use of data collected via electroencephalography (EEG) to classify stimuli presented to subjects using a variety of mathematical approaches. We report an experiment with three objectives: 1) To train individual classifiers that reliably infer the class labels of visual stimuli using EEG data collected from subjects; 2) To demonstrate brainsourcing, a technique to combine brain responses from a group of human contributors each performing a recognition task to determine classes of stimuli; 3) To explore collaborative filtering techniques applied to data produced by individual classifiers to predict subject responses for stimuli in which data is unavailable or otherwise missing. We reveal that all individual classifier models perform better than a random baseline, while a brainsourcing model using data from as few as four participants achieves performance superior to any individual classifier. We also show that matrix factorization applied to classifier outputs as a collaborative filtering approach achieves predictive results that perform better than random. Although the technique is fairly sensitive to the sparsity of the dataset, it nonetheless demonstrates a viable proof-of-concept and warrants further investigation.