  Integrating machine learning techniques into RDBMSs is an important task
since there are many real applications that require modeling (e.g., business
intelligence, strategic analysis) as well as querying data in RDBMSs. In this
paper, we provide an SQL solution that has the potential to support different
machine learning modelings. As an example, we study how to support unsupervised
probabilistic modeling, that has a wide range of applications in clustering,
density estimation and data summarization, and focus on
Expectation-Maximization (EM) algorithms, which is a general technique for
finding maximum likelihood estimators. To train a model by EM, it needs to
update the model parameters by an E-step and an M-step in a while-loop
iteratively until it converges to a level controled by some threshold or
repeats a certain number of iterations. To support EM in RDBMSs, we show our
answers to the matrix/vectors representations in RDBMSs, the relational algebra
operations to support the linear algebra operations required by EM, parameters
update by relational algebra, and the support of a while-loop. It is important
to note that the SQL'99 recursion cannot be used to handle such a while-loop
since the M-step is non-monotonic. In addition, assume that a model has been
trained by an EM algorithm, we further design an automatic in-database model
maintenance mechanism to maintain the model when the underlying training data
changes.We have conducted experimental studies and will report our findings in
this paper.
