As the world celebrates the 150th anniversary of the publication of On the Origin of Species this year, scientists continue to think deeply about what comes next. But the complexity of evolution still makes forecasting hard. "As Yogi Berra once said, ‘Prediction is very difficult. Especially about the future,’" says Stephen Stearns, an evolutionary biologist at Yale University.
- Bryan O'Sullivan
Cornel West’s work was once bold, challenging, exciting. The past tense here is unavoidable. His critical edge and creative powers might yet be reborn (he is 56). But in the wake of his latest book, Brother West: Living and Loving Out Loud, this hope requires a considerable leap of faith. Published by Hay House, the book also bears a second subtitle: “A Memoir.” It is the most disappointing thing I have read in at least a year.
- Bryan O'Sullivan
As one of the most successful approaches to building recommender systems, collaborative filtering (CF) uses the known preferences of a group of users to make recommendations or predictions of the unknown preferences for other users. In this paper, we first introduce CF tasks and their main challenges, such as data sparsity, scalability, synonymy, gray sheep, shilling attacks, privacy protection, etc., and their possible solutions. We then present three main categories of CF techniques: memory-based, model-based, and hybrid CF algorithms (that combine CF with other recommendation techniques), with examples for representative algorithms of each category, and analysis of their predictive performance and their ability to address the challenges. From basic techniques to the state-of-the-art, we attempt to present a comprehensive survey for CF techniques, which can be served as a roadmap for research and practice in this area.
- Bryan O'Sullivan
Over the last couple of days, I have implemented a small benchmark suite which tries to measure the performance of various Haskell array libraries, with particular emphasis on finding out how well they are able to fuse things. It is now on Hackage under the very creative and imaginative name NoSlow (Haskell seems to have gained a tradition of naming benchmark suites nosomething).
- Bryan O'Sullivan