jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
gmm_compressor.cpp
Go to the documentation of this file.
1 // Jubatus: Online machine learning framework for distributed environment
2 // Copyright (C) 2013 Preferred Networks and Nippon Telegraph and Telephone Corporation.
3 //
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License version 2.1 as published by the Free Software Foundation.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 
17 #include "gmm_compressor.hpp"
18 
19 #include <cmath>
20 
21 namespace jubatus {
22 namespace core {
23 namespace clustering {
24 namespace compressor {
25 
27  const weighted_point& p,
28  double min_dist,
29  const weighted_point& bp,
30  double bp_score,
31  double weight_sum,
32  double squared_min_dist_sum) {
33  return std::ceil(weight_sum * (
34  5.0 / bp_score
35  + min_dist * min_dist * p.weight / squared_min_dist_sum));
36 }
37 
38 } // namespace compressor
39 } // namespace clustering
40 } // namespace core
41 } // namespace jubatus
pair< size_t, double > min_dist(const common::sfv_t &p, const vector< common::sfv_t > &P)
Definition: util.cpp:182
double get_probability(const weighted_point &p, double min_dist, const weighted_point &nearest_bp, double bp_score, double weight_sum, double squared_min_dist_sum)