Student Courses Recommendation Using Ant Colony Optimization Janusz Sobecki and Jakub M. Tomczak Institute of Informatics, Wroclaw University of Technology Wyb.Wyspianskiego 27, 50-370 Wroclaw, Poland
[email protected],
[email protected]
Abstract. In the paper we present recommendation of student courses using Ant Colony Optimization (ACO). ACO is proved to be effective in solving many optimization problems, here we show that ACO also in the problem of prediction of final grades students receives on completing university courses is able to deliver good solutions. To apply ACO in any recommender system we need special problem representation in form of a graph, where each node represents a decision in the problem domain.
1 Introduction The main goal of the recommendation systems (RS) is to deliver customized information to a great variety of users of ever increasing web-based systems population. RS are used to solve problems coming from different domains, such as [1,6]: net-news filtering, web recommender, personalized newspaper, sharing news, movie recommender, document recommender, information recommender, e-commerce, purchase, travel and store recommender, e-mail filtering, music recommender and music list recommender. Here we will present quite new application of RS in the student course recommendation using Ant Colony Optimization (ACO). ACO is a natural computation algorithm that mimics the behaviour of living ants. ACO was proposed by Italian scholar M. Dorigo [2]. In this paper ACO is applied as an information filtering method in RS. We can distinguish the following information filtering methods [6]: demographic (DF), collaborative (CF), content-based (CBF) and hybrid (HA). Other authors [7] present also case-based reasoning (CBR) and rulebased filtering (RBF) [10]. ACO enables to introduce a new type of HA method which is called integrated HA. In this paper we concentrate on application of Ant Colony Optimization (ACO) for recommendation of student courses. In the following section we present the short recommendation systems overview and the area of application. In the section 3 the ACO as well as its application to hybrid filtering are presented. The section 4 presents the experiment carried out on real-life dataset. The final section presents conclusions and future work in the area of the user interface recommendation. N.T. Nguyen, M.T. Le, and J. Świątek (Eds.): ACIIDS 2010, Part II, LNAI 5991, pp. 124–133, 2010. © Springer-Verlag Berlin Heidelberg 2010
Student Courses Recommendation Using Ant Colony Optimization
125
2 University Courses Recommendation The today’s web-based information systems are successful because of delivering of the customized information for their users. The systems with functionality of that kind are often called recommendation systems (RS) [6]. There are many different applications of recommendation systems. One of the most popular of their applications is movie or video recommendation, such as: Hollywood Video, jimmys.tv, MovieLens, Everyone’s a Critic and Film Affinity. The other very popular applications are following: information retrieval, browsing, interface agent and different shopping recommender systems [6]. In this paper we would like to present quite novel application for courses recommendation for university students. This is common in most of the universities all over the world that their students may choose smaller or greater part of the courses to study in each semester. Sometimes they can also choose the teacher or the terms and place. In the increasing number of universities the process of enrolment is managed using computer information systems, mainly web-based ones. This is also the case at Wroclaw University of Technology, where since several semesters students use computer system called EdukacjaCL, which goal is to computerize the whole information system concerning education process. So the process of enrolment is only a part of the system. The main idea of courses recommendation is to deliver for each student prediction of grade for all the courses so that he or she has an opportunity to enroll. This is obvious that each student would prefer to enroll only for the courses which give more chances to be completed with the positive result. The recommendation is performed using integrated hybrid approach (HA) information filtering that is based on ACO. We can distinguish three basic types of filtering: demographic (DF), content-based (CBF) and collaborative (CF). DF uses stereotype reasoning [5] and is based on the information stored in the user profile that contains different demographic features [6]. According to [5], stereotype reasoning is a classification problem that is aimed at generating initial predictions about the user. CBF takes descriptions of the content of the previously evaluated items to learn the relationship between a single user and the description of the new items [6]. CF delivers predictions (filtering) about the recommended items by collecting and using information about tastes of other users. Most of CF based recommender systems use user item rating matrix applied for both: identifying similar users and recommend items highly ranked by those users. All the basic methods have some disadvantages, for example DF delivers too general predictions and does not provide any adaptation to user interests changing over time; CBF depends on so called an objective description of the recommended items and it tends to overspecialize its recommendations; and finally CF gives poor prediction when the number of other similar users is small. The disadvantages of each of the above mentioned recommendation approaches could be overcome by applying HA. For example the disadvantage of the insufficient number of the similar users at the early stages of the system operation using CF may be overcome by the application of the demographic stereotype reasoning. In [10] the following HA methods were enumerated: weighted, switching, mixed, feature combination, cascade, feature augmentation and meta-level. In this paper we present a new integrated HA based on ACO that was applied in the area of user interface recommendation and movie recommendation [9].
126
J. Sobecki and J.M. Tomczak
3 ACO Filtering Method Ant Colony Optimization (ACO) is a new natural computation algorithm from mimic the behaviours of ants colony, and proposed by Italian scholar M. Dorigo [2]. The original intention of ACO is to solve the complicated combination optimization problems, such as traveling salesman problem (TSP). ACO is based on observations about ant colonies and their mutual behaviour. The behaviour of a single ant is quite simple, but in the case of the whole ant colony it is more complicated and therefore ACO is able to complete complicated task [3]. The main idea of using ant colony metaphor is that living ants, despite their being almost blind, are able to find their way from the nest to food and back. They are able to do it because ant colony communicates through of a chemical substance called pheromone. As the ant moves from the nest to food, the pheromone is released on its path. Ants are able to perceive this pheromone and recognize its density. These ants have a larger probability to move along the path that has the greater hormone density [3]. In the recommendation system the determination of the prediction may be solved as a finding the best path in the oriented acyclic weighted graph G=(V,E,τ,η), where V is the set of vertices, E is the set of edges and functions τ,η:E→[0,1] are called trail and visibility, respectively. The best path is defined as a path from the start node to the finish node that is determined according the following procedure [2]: 1.
2. 3.
All ants remember already visited vertices using an ordered list called tabu list (TL) (graph is oriented and acyclic, so it guaranties that each vertex is visited only once). At every step the ant chooses, using a probabilistic rule, a vertex to move to among those not in the TL. After a tour has been completed the ant uk lays a trail in form of tuple (uk,τij) on edge e(i,j) used (trail is the analog of pheromone left by the ant uk) and clears its tabu list.
The probabilistic rule used for selection the vertex j in the second step is based on the selection rule presented in [2]:
τ ijα ⋅η ijβ , P( j ) = ∑τ ilα ⋅ηilβ l∉TL
where τij is the amount of trail on edge e(i,j) and ηij is called visibility of a node j from the node i, α є [0,1], and β є [0,1] describe importance of trail and visibility in calculating probability. The procedure mentioned above is rather general. To apply it in the area of prediction of student grades we should first define the problem space (see fig. 1). At the Wroclaw University of Technology students may receive the following seven final grades from the highest (excellent) to the lowest (unsatisfactory): 5.5, 5.0, 4.5, 4.0, 3.5, 3.0 and 2.0.
Student Courses Recommendation Using Ant Colony Optimization
127
≥4.0
≥5.0
≥3.5
≥5.5
5.5
≥4.5
5.0
4.5
≥4.0
4.0
4.0
≥3.0
3.5
3.0
2.0
Fig. 1. Balanced tree of grades, in the circle nodes conditions are placed and in the rectangles – decisions (grades). In small rectangles exemplary probabilities are shown.
Procedure of ACO-based recommendation method ACO filtering method used for grades’ recommendation is as follows: 1. Define balanced tree of grades. 2. Calculate trail: a. Count empirical probability for each grade, pn, using M neighbours. b. On the edges, starting from the leaves, put trail equals to the pn for respective grades. c. On the edges, going from the leaves to the root, put trail equals to cumulative probability of grades below. 3. Calculate visibility: a. Count empirical probability for each grade, pn, using user’s content. b. On the edges from leaves put trail equals to the pn for respective grades. c. On the edges, going up to the root, put trail equals to cumulative probability of grades below. 4. Search paths from root to the leaf using one ant due to the following steps: a. Calculate probability of moving from i-th node to j-th node:
b. Due to the calculated probability go to next node.
128
J. Sobecki and J.M. Tomczak
5. Perform STEP 4 K-times. 6. If K > 1, then calculate mean value from K decisions and make a grade from it. STOP Else – STOP. Remark 1. Number K stays for number of ants. Remark 2. There could be free variants of ACO-based method: 1) ACO with walking using maximum probability. 2) ACO with random walking using edges’ probabilities and K = 1. 3) ACO with random walking using edges’ probabilities and K > 1.
4 Experiment The verification of the ACO-based recommendation method (see previous section) of courses grades prediction was conducted with the real data from the University Information System EdukacjaCL. We used the database with 479359 grades of 9055 courses that was attended by 13574 students and was thought by 1815 teachers in years from 1997 to 2009. In the database we have also the following information about each student: Student Identification Number (attribute 1), Course Identification Number, Course Type, Grade Type, Teacher Identification Number, Course Grade, Semester (att. 8), Studies Specialization (att. 9), Studies Type (att. 10), Recruitment Grade (att. 11), Recruitment Number (att. 12). From these data we can calculate the following mean values for each type of course and type of grade concerning each student: grade from lectures with final exam (att. 2), grade from lectures with pass exam (att. 3), grade from exercises (att. 4), grade from laboratories (att. 5), grade from projects (att. 6), grade from seminars (att. 7). As a recommendation task the grade from the lecture with final exam was chosen. We used three algorithms based on ACO: 1. With choosing maximal probability. 2. With one ant and random walking using edges’ probabilities. 3. With K ants and random walking using edges’ probabilities. ACO methods were compared with following filtering methods: 1. 2. 3.
4.
Random recommender (Random) – recommendation (a grade) is given randomly with uniform probability density function. Content-Based recommender (CBF) – recommendation is given as a mean value of other items in the student’s profile (attributes 3-7). Collaborative Filtering using demographic information recommender (CF1) – recommendation is given as a mean value of grades from N neighbours (neighbourhood is calculated using attributes 8-12 by weighted 0-1 similarity measure). Collaborative Filtering using Euclidean metric recommender (CF2) - recommendation is given as a mean value of grades from N neighbours (neighbourhood is calculated using attributes 3-7 with Euclidean similarity measure).
Student Courses Recommendation Using Ant Colony Optimization
5.
129
Collaborative Filtering recommender (CF3) - recommendation is given as a mean value of grades from N neighbours (neighbourhood is calculated using attributes 3-7 as in CF2 and 8-12 as in CF1).
We applied the following measures for comparison of the above mentioned methods [4]: Mean Absolute Error (MAE), Normalized Mean Absolute Error (NMAE), Prediction Accuracy (PA), Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Standard Error Variance (SEV), Classification Accuracy (classAcc) that measures how many predictions were exactly the same as actual grades in the test set. All methods were implemented in Matlab® environment. The program was launched 10 times for each method with different training set (70% of original dataset) and test set (30% of original dataset). Dataset was divided into training and test sets randomly. All values of performance measures are mean values from 10 program launches. Values of parameters were as follows: α = 0.4, β = 0.4, number of neighbours was set as 20. After parameter tuning it turned out that for all methods the same values were the best. Moreover, number of neighbours more than 20 gave no better results. Further, for ACO, more than 100 ants gave no better results. The results are presented in Table 1 and 2, and in the following Figures 2 – 5. Table 1. Results for three variants of ACO and Random as a comparison
Measure
Random
MAE NMAE PA MSE RMSE SEV classAcc
1.25 0.36 0.64 2.45 1.56 0.94 0.03
ACO, max prob. 0.52 0.15 0.85 0.58 0.76 0.56 0.375
ACO, 1 ant 0.76 0.22 0.78 1.095 1.05 0.72 0.28
ACO, 100 ants 0.41 0.12 0.88 0.38 0.61 0.45 0.42
Table 2. Results of PA and classAcc for ACO, CBF, CF1, CF2, CF3
Measure PA classAcc
ACO, 100 ants 0.88 0.42
CBF
CF1
CF2
CF3
0.82 0.08
0.87 0.11
0.87 0.11
0.88 0.13
Presented results show that the best method is ACO with 100 ants and with random walk. However, it is slightly better than CF3, CF1 or CF2 in PA measure, but other measures, and especially classAcc, prove the best performance of ACO-based method. A little bit more attention should be paid to classAcc. This measure shows how many grades were predicted exactly the same as actual grades from the test set. Result for ANT with maximum probability (around 35%, see Table 1) and ANT with 100
130
J. Sobecki and J.M. Tomczak
Fig. 2. Measures’ (MAE, NMAE, MSE, RMSE, SEV) values for CBF recommender and AntColony-Based with random probability walk with 100 ants
Fig. 3. Measures’ (MAE, NMAE, MSE, RMSE, SEV) values for CF1 recommender and AntColony-Based with random probability walk with 100 ants
ants and random walk (around 42%, see Table 1 and 2) are extremely high in such difficult task as grade recommendation. Especially that in our experiment student is described only by few attributes. Thus interesting is if classAcc could have higher value for more detailed student description. However, this issue has to be postpone for further research.
Student Courses Recommendation Using Ant Colony Optimization
131
Fig. 4. Measures’ (MAE, NMAE, MSE, RMSE, SEV) values for CF2 recommender and AntColony-Based with random probability walk with 100 ants
Fig. 5. Measures’ (MAE, NMAE, MSE, RMSE, SEV) values for CF3 recommender and AntColony-Based with random probability walk with 100 ants
Also comparison of the other measures: MAE, NMAE, MSE, RMSE, SEV, shows that ACO method was the best. All of the presented measures show that ACO method behaves more stable than any other recommender. First of all, MAE characterizes what is the difference between real a value and predicted one. Value of that measure for ACO-based methods is around 0.4 (see Table 1), which means that in mean sense
132
J. Sobecki and J.M. Tomczak
the recommendation differs from the real value less than half of a grade. Besides, SEV determines the standard variation of errors, in other words it shows how many good predictions are made and how many – bad ones. In the case if a predictor gives good results but SEV is big then it is unreliable. However, due to this measure ACO method is also the best (with around 0.45 in comparison to around 0.5 for the rest of tested methods).
5 Summary In this paper a new approach for recommendation based on ant colony metaphor was presented. This method was presented on the example of grades’ prediction in webbased education information system. The obtained results are better that those presented for collaborative filtering used in the movie recommendation presented in [8]. This approach was also used in other domains such as user interface and movie recommendation [9], so this approach could be also used in other applications, such as: service selection and service recommendation in SOA systems. Besides, results showed in Table 1 and 2 and Figures 2 – 5 allow us to claim that ACO-based method is promising. However, more research should be carried out with different datasets and for different applications, but we say that ACO-based method enables to overcome most of the disadvantages of classical approaches and gives higher values of performance measures. In further works other applications should be taken into consideration. Moreover, it could be interesting to examine the aspect of description precision (number of attributes), e.g. of a student, for the performance measures of ACO-based method.
Acknowledgements This work has been partially supported by the Polish Ministry of Science and Higher Education within the European Regional Development Fund, Grant No. POIG.01.03.01-00-008/08.
References [1] Chen Q., Aickelin U, Movie Recommendation Systems using an artificial immune system. Poster Proceedings of ACDM 2004, Engineers’ House, Bristol, UK (2004) [2] Colorni, A., Dorigo, M., Maoli, F., Maniezzo, V., Righini, G., Trubian, M.: Heuristics from Nature for Hard Combinatorial Optimization Problems. International Transactions in Operational Research 3(1), 1–21 (1996) [3] Gao, W.: Study on Immunized Ant Colony Optimization. In: Third International Conference on Natural Computation (ICNC 2007), vol. 4, pp. 792–796 (2007) [4] Herlocker, J.L., Konstan, J.A., Terveen, L.G., Riedl, J.: Evaluating Collaborative Filtering Recommender Systems. ACM Transactions on Information Systems 22, 5–53 (2004) [5] Kobsa, A., Koenemann, J., Pohl, W.: Personalized Hypermedia Presentation Techniques for Improving Online Customer Relationships. Knowledge Eng. Rev. 16(2), 111–155 (2001)
Student Courses Recommendation Using Ant Colony Optimization
133
[6] Montaner, M., Lopez, B., de la Rosa, J.P.: A Taxonomy of Recommender Agents on the Internet. Artificial Intelligence Review 19, 285–330 (2003) [7] Nguyen, N.T., Sobecki, J.: Using Consensus Methods to Construct Adaptive Interfaces in Multimodal Web-based Systems. Universal Access in Inf. Society 2(4), 342–358 (2003) [8] Sarwar, B., Konstan, J., Borchers, A., Herlocker, J., Miller, B., Riedl, J.: Using Filtering Agents to Improve Prediction Quality in the GroupLens Research Collaborative Filtering System. In: CSCW 1998, Seattle Washington, USA, pp. 1–10 (1998) [9] Sobecki, J.: Ant colony metaphor applied in user interface recommendation. New Generation Computing 26(3), 277–293 (2008) [10] van Setten, M.: Supporting People in Finding Information. Hybrid Recommender Systems And Goal-Based Structuring, Enschede, The Netherlands, Telematica Instituut Fundamental Research Series 016 (2005)