Data Mining Techniques in Ubiquitous Computing

0 downloads 0 Views 168KB Size Report
of data from multiple various sources (e.g., motion detectors, temperature sensors, etc.) ... This is the place for data mining and knowledge discovery techniques. ..... [17] Heckerman D.: A Tutorial on Learning with |Bayesian Networks, Technical ...
IWCIT’03

Data Mining Techniques in Ubiquitous Computing Michał Rój Warsaw University of Technology [email protected]

Abstract: Ubiquitous computing is a new era in the evolution of computers. After the mainframe and personal computers (PC) phases, the third phase, the phase of ubiquitous computing devices begins. This paper focuses on some techniques of dealing with streams of data from multiple various sources (e.g., motion detectors, temperature sensors, etc.) and getting relevant information from the data. Popular knowledge discovery/data mining techniques, namely Bayesian networks (used widely in the field of artificial intelligence), are employed as reasoning engines.

1 Introduction Ubiquitous computing (ubicomp in short) is an emerging area of contemporary information technology. Since its foundation in late '80s by Mark Weiser of Xerox PARC [1], the area has deeply changed from a visionary phase to a recognized research discipline. The area covers systems (environments) consisting of various, heterogeneous elements, esp. electronic devices, which surround people and are present in much greater numbers that they used to be. They are also much better integrated with people who use them. The ubicomp systems designers aim at the highest possible utility [2]. They claim that it is the technology that must adjust to the people’s needs, not vice versa. The utility thus can be for example: a fullyautomatized living place (Aware Home Project [3]) or, just being non-disruptive (Notification Platform of Microsoft [4]). Moreover, ubicomp systems seem very likely to support elderly and disabled people in the near future [5, 6]. To achieve those goals, some elements of computing systems must be hidden from users' eyes, and possibly may be integrated into the environment (like sensors, cameras, wireless servers). All those parts are working calmly in the background. This is why ubicomp is often referred to as calm technology [7]. A fully functional ubicomp system requires a great software support [8], namely: (1) libraries, containing sets of specific procedures, (2) frameworks, which provide a generic, flexible and scalable base for ubicomp applications, (3) toolkits (e.g., Context Toolkit [9]), which facilitate the process of creating ubicomp services providing common functionality and reusable components, (4) service infrastructure (i.e., middleware systems [10, 11]), offering a whole ready-to-work technology and tying all the elements together. Advanced data processing algorithms are also employed in such systems. Information (after having been collected) has to be analyzed. This is the place for data mining and knowledge discovery techniques. This paper is organized as follows: first, a sample system is introduced (Section 2), then a generic ubicomp system is presented (Section 3). Next, advantages of Bayesian networks to be employed as the reasoning engine are shown in Section 4. The paper is summarized in Section 5.

IWCIT’03

2 Sample ubicomp system Notification Platform [4] developed by The Decision Theory and Adaptive Systems Group (DTAS) at Microsoft Research is one of the most mature existing ubicomp system. The authors of the project highlight the psychological aspects of human-computer interaction. It is widely known that people have quite limited cognitive abilities: we cannot share our attention into many things, we easily get disrupted and finally, we hardly can remember short-term information, especially one supplied in great amounts. Since we are surrounded by many sources of potentially disruptive information sources, a super-system (taking over other systems) my be very useful. The system could collect information from its sub-systems and then make decisions whether to pass the pieces of information to the end user. The main purpose of Notification Platform (which is the super-system in this case) is to decide whether to inform the user about incoming messages (e.g., e-mail, instant-messaging information) or not. For every message collected by Notification Platform a so-called expected cost of delayed review is computed. If the cost is of a fewer value than a certain threshold, the message is going to be set aside, and must wait for more appropriate time. Otherwise, the message will be passed to the user immediately. There are two types if information that reach Notification Platform: contextual information and messages themselves. The context is taken into consideration when taking decisions about passing a message to the user (in context here we mean the answer to the following, or similar, questions: what is the user doing? is she focused on something? is she relaxed? smiling? laughing?). An important issue of this project is that the meaning of the messages also contribute to the context - the fact that a message has been classified as a spam message can greatly influence the expected cost of delayed review. Certainly, the main sources of contextual information are various sensors. By a sensor we understand not only a hardware sensor but any source of data (which can be a software module or even a whole application). For instance, Notification Platform examines the activity the operating system, which may be treated as a specific sensor in this case. Next, the lower level data is processed into higher level data. For instance, the information `there are 10 applications running and taking 12 per cent processor’ may be transformed into the information `the user is working hard’. Sensors used here include: cameras, microphones, calendar, personal electronic organizer, programs being run, computer mouse pointer and possibly many more. The cameras are used to get facial expressions of the user, thus the user's attention can be examined. Microphones are constantly in the listening mode getting additional information from the environment. Personal organizer's entries and all running programs are also valuable source of information and contribute to the overall context.

3 Generic multisensor ubiquitous computing system The application described in the previous chapter shares some features with several others, e.g., Smart Kiosk [12] and MIRA [13]. Initially, such systems use sensors to get relevant informations about the world of interest. In this article we discuss systems of the architecture shown in Fig. 1. Such a system is typically used to acquire so-called contextual information and is a good base to create context-aware applications [14], i.e., applications, which are aware of their actual situation (location, devices in proximity, etc.).

IWCIT’03

Sensor 1 Sensor 2

Context Engine

Sensor 3 Lower level context

Application / Service Top level context Higher level context

Figure 1: Generic multisensor ubiquitous computing system The left part of the figure shows a group of sensors. Every sensor generates a stream of data, which we call here lower level context. The data could be temperature, light level, orientation, a detected ID number, etc. Naturally, the information collected here (e.g., that the temperature at the sensor 1 is 20 degrees) may be directly conveyed to the context-aware application. Very often however, we use many sensors to acquire much more reliable context information [15]. Every sensor contributes to, what we call, higher level context. An example: we would like to know the temperature in a room. Since it is a sunny day, a single sensor could be reached by sunlight, thus affecting its sensed temperature. In a multisensor environment (say, a pair - a temperature and light sensor), there are more than one stream of data. Even a simple reasoning mechanism may take advantage of an additional light sensor to be warned: `be careful - it is sunny today’. Moreover, in case of multiple temperature sensors, only those most reliable ones may be used to compute the higher level context temperature. The context engine in the Fig. 1 (known also as an aggregator [9] or context synthesizer [16]) generates more abstract information than that acquired from sensors, e.g., `there are 3 to 5 people in the room’ or `Adam has just left’. The top level context is the highest abstraction level of the contextual information. It makes use of all data from sensors, user preferences, former behavior of the user and, sometimes, it even makes some predictions about user's future actions. For example, when in a room is about 27 degrees Celsius and the system detects that there is a small child in the room, the system would say: `It is far too hot’. Once acquiring such information, a cooling system might be turned on.

4 Using Bayesian networks to reason under uncertainty Context engines shown in Fig. 1 perform quite an important action: they reason under uncertainty. The uncertainty in the ubicomp systems comes from many sources. Firstly, sensors are usually not fully reliable. For instance, a motion detector may be able to detect people in 95 per cent of cases. On the other hand, some sensor may be more prone to cause false alarms, e.g., a face detector claims it has recognized a particular person while it has not. Yet another thing is that context engines acquire data from multiple sensors which all may be used to acquire a single information, e.g., two or more motion detectors contribute to information that a person is (or is not) in the room. The reasoning problem described here is usually referred to as classificaton.

IWCIT’03 Classification in ubicomp systems is non-trivial since two sensors can provide the context engine with totally different information. Additionally, as it occasionally happens, data from some subset of sensors is not accessible (we say in such cases then data is incomplete). Data can also be spoiled by some external influences (e.g., the influence of sun rays on a temperature sensor). Such data is referred to as noisy. The last issue is that ubicomp systems may be very big and complex. Accumulating evidence and taking advantage from as much information as possible requires employing special techniques. Bayesian networks (or belief networks, BNs) have been chosen for their attractive properties for an ubicomp environment [17]. BNs are acyclic directed graphs, consisting of nodes and arcs (that link the nodes together). Nodes represent random variables, while arcs dependences among them. Note that dependencies between variables do not rely on actual probabilities of variables. Moreover, in spite of the name, Bayesian networks do not require any Bayesian statistics (e.g., naive Bayes classifiers) to be employed in definition the dependences (but they usually are). A simple Bayesian network is depicted in Fig. 2. Genetic predispositions

Smoking

Lung cancer

Figure 2: Simple Bayesian network Arrows of the arcs show which node influences the other, e.g., if there is an arrow from the 'smoker' node to the 'lung cancer' node it means that smoking may cause lung cancer - not necessarily vice versa. But it does not forbid us to reason about smoking habits of a person given her medical record. Since Bayesian networks determines a joint probability for all variables (represented by nodes), two methods of reasoning are provided: top-down and bottom-up [18]. A top-down reasoning is when we know that a person smokes 50 cigarettes daily and we would like to know what are the odds that the person has a lung cancer. Bottomup reasoning is when be know that a person has lung cancer and we would like to know the probability that she smokes more than 50 cigarettes daily. The most important advantages of Bayesian networks are as follows: 



Bayesian networks provide an economical representation of data and relations among them: a node is usually related to up to several other nodes, and no other information is needed to compute the desired values. All those advantages make Bayesian networks potentially very good tool to be introduced to ubicomp systems. Bayesian networks can easily handle incomplete data. This point is especially important when the number of sensors in the system is not known a priori (e.g., due to dynamic, ad-hoc nature of the system) or in `unreliable' systems, where every stream of data may appear and disappear in time. Bayesian networks always give result (usually referred to as most probable explanation, MPE), even if that explanation may be quite uncertain. An example of dealing with missing data may be Monte-Carlo (sampling) method to compute a non-existent variable from the rest.

IWCIT’03 





Bayesian networks allow to learn about casual relationships. Many artificial intelligence/knowledge discovery techniques are not that flexible. Once learned, they cannot adjust their behavior to newly happened situations, especially short-term and casual. when combined with Bayesian statistical techniques, Bayesian networks allow using domain knowledge and data. It is crucial in context-aware systems, which usually use very detailed models of certain environments. Models of human behavior and physical phenomena may be linked with the Bayesian network in relatively easy way. In the example above we used some characteristics of sensors as domain knowledge. Bayesian networks help avoiding so-called over-fitting of data, which is a very common problem in machine learning. Over-fitting is usually caused by complexity of the model very adequate for specific test data but not for general data. BNs very often imply simplicity so over-fitting rarely appears.

5 Conclusions This paper discussed ubiquitous computing systems’ need for good reasoning techniques. Bayesian networks are a very interesting choice. They can be combined with other knowledge discovery technologies such as neural networks and fuzzy sets and techniques/algorithms that allow automatic network generation, introduce dynamism to the network, etc. However, the strengths and weaknesses of the methods and techniques available must be taken into consideration before they are going to be chosen as a reasoning engine for a ubicomp system. Ubicomp systems, in spite of their undoubted utility, raise many questions concerning privacy issues. Some of them seem to be of big-brotherish type. Many people may not be willing to be under constant computers' (and probably - other people's) surveillance. Even in such cases reasoning techniques could be employed to compute expected cost of loss of privacy versus increased utility and comfort of our lives.

6 References [1] [2] [3] [4] [5] [6] [7] [8]

Weiser, M.: The computer of the 21st century, Scientific American, 265, 1991, 3, 66-75 Jameson, A.: Modelling both the context and the user, Personal and Ubiquitous Communications, Springer Verlag, 5, 2001, 1, 29-33 Kidd C. D.: The Aware Home: A Living Laboratory for Ubiquitous Computing Research, CoBuild '99: Second International Conference on Cooperative Buildings, 1999, 191-198 Horvitz E.: Models of Sttention in Computing and Communication: From Principles to Applications, Communications of the ACM, ACM, 3, 2003, 46, 52-59 Patterson D. J.: Intelligent Ubiquitous Computing to Support Alzhaimer's Patients: Enabling the Congnitively Disabled, UbiComp 2002: Proceedings of the 4th International Conferenceon Ubiquitous Computing, 2002. Stanford V.: Using Pervasive Computing to Deliver Elder Care, IEEE Pervasive Computing, IEEE, 1, 2002, 1, 10-14 Brown J. S., Weiser M.: The Coming Age of Calm Technology, Technical report, Xerox Parc, October 1996 Lopez de Ipina D.: Visual Sensing and Middleware Support for Sentient Computing, PhD Thesis, University of Cambridge, January 2002

IWCIT’03 [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]

Dey A. K., Abowd G. D.: The Context Toolkit: Aiding the Development of Contextaware Applications, Workshop on Software Engineering for Wearable and Pervasive Computing, Limerick, Ireland, June 2000. Yau S. Y.: Reconfigurable Context-sensitive Middleware for Pervasive Computing, IEEE Pervasive Computing, IEEE, 1, 2002, 3, 33-40 Roman M.: A Middleware Infrastructure for Active Spaces, IEEE Pervasive Computing, IEEE, 1, 2002, 4, 74-83 Fieguth P. W., Rehg J. M., Murphy K. P.: Vision-based Speaker Detection Using Bayesian networks, Computer Vision and Pattern Recognition, June 1999, 110-116 Castro P., Muntz R.: Using Context to Assist in Multimedia Object Retrieval, First International Workshop on Multimedia Intelligent Storage and Retrieval, 1999. Dey A. K.:Understanding and Using Context, Personal and Ubiquitous Computing, Springer Verlag, 5, 2001, 1, 4-7, 2001 Schmidt A. et al: Multi-sensor Context-awareness in Mobile Devices and Smart Artifacts, Mobile Networks and Applications, 7, 2002, 5, 341-351 Campbell R. H., Ranganathan A.: A Middleware for Context-aware Agents in Ubiquitous Computing Environments, ACM/IFIP/USENIX International Middleware Conference, June 2003 Heckerman D.: A Tutorial on Learning with |Bayesian Networks, Technical report, Microsoft Research, March 1995. Murphy K.: A Brief Introduction to Graphical Models and Bayesian Networks, http://www.ai.mit.edu/~murphyk/bayes/bnintro.html, February 2003.