C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 5

coordinate_descent_types.h
1 /* file: coordinate_descent_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Implementation of the Coordinate descent algorithm types.
19 //--
20 */
21 
22 #ifndef __COORDINATE_DESCENT_TYPES_H__
23 #define __COORDINATE_DESCENT_TYPES_H__
24 
25 #include "data_management/data/numeric_table.h"
26 #include "data_management/data/homogen_numeric_table.h"
27 #include "services/daal_defines.h"
28 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
29 #include "algorithms/engines/mt19937/mt19937.h"
30 #include "algorithms/optimization_solver/objective_function/logistic_loss_batch.h"
31 
32 namespace daal
33 {
34 namespace algorithms
35 {
36 namespace optimization_solver
37 {
47 namespace coordinate_descent
48 {
49 
54 enum Method
55 {
56  defaultDense = 0,
57 };
58 
63 enum SelectionStrategy
64 {
65  cyclic,
66  random
67 };
71 namespace interface1
72 {
73 
80 /* [Parameter source code] */
81 struct DAAL_EXPORT Parameter : public optimization_solver::iterative_solver::Parameter
82 {
91  Parameter(
92  const sum_of_functions::BatchPtr &function,
93  size_t nIterations = 100,
94  double accuracyThreshold = 1.0e-05,
95  size_t seed = 777
96  );
97 
98  virtual ~Parameter(){}
99 
105  virtual services::Status check() const DAAL_C11_OVERRIDE;
106 
107  size_t seed;
109  engines::EnginePtr engine;
111  SelectionStrategy selection;
112  bool positive;
113  bool skipTheFirstComponents;
114 };
115 /* [Parameter source code] */
116 
123 /* [Input source code] */
124 class DAAL_EXPORT Input : public optimization_solver::iterative_solver::Input
125 {
126 private:
127  typedef optimization_solver::iterative_solver::Input super;
128 public:
129  Input();
130  Input(const Input& other);
131 
132  using super::set;
133  using super::get;
134 
142  virtual services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
143 };
144 /* [Input source code] */
145 
150 class DAAL_EXPORT Result : public optimization_solver::iterative_solver::Result
151 {
152 public:
153  DECLARE_SERIALIZABLE_CAST(Result);
154  typedef optimization_solver::iterative_solver::Result super;
155 
156  Result() {}
157  using super::set;
158  using super::get;
159 
168  template <typename algorithmFPType>
169  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method);
170 
179  virtual services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par,
180  int method) const DAAL_C11_OVERRIDE;
181 };
182 typedef services::SharedPtr<Result> ResultPtr;
183 /* [Result source code] */
184 
186 } // namespace interface1
187 using interface1::Parameter;
188 using interface1::Input;
189 using interface1::Result;
190 using interface1::ResultPtr;
191 
192 } // namespace coordinate_descent
193 } // namespace optimization_solver
194 } // namespace algorithm
195 } // namespace daal
196 #endif
daal
Definition: algorithm_base_common.h:31
daal::algorithms::optimization_solver::coordinate_descent::defaultDense
Definition: coordinate_descent_types.h:56
daal::algorithms::optimization_solver::coordinate_descent::cyclic
Definition: coordinate_descent_types.h:65
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:97
daal::algorithms::optimization_solver::coordinate_descent::interface1::Result
Results obtained with the compute() method of the coordinate_descent algorithm in the batch processin...
Definition: coordinate_descent_types.h:150
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter::seed
size_t seed
Definition: coordinate_descent_types.h:107
daal_defines.h
daal::algorithms::optimization_solver::coordinate_descent::SelectionStrategy
SelectionStrategy
Definition: coordinate_descent_types.h:63
daal::algorithms::optimization_solver::coordinate_descent::Method
Method
Definition: coordinate_descent_types.h:54
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter
Parameter base class for the Coordinate descent algorithm
Definition: coordinate_descent_types.h:81
daal::algorithms::optimization_solver::coordinate_descent::interface1::Input
Input class for the Coordinate descent algorithm
Definition: coordinate_descent_types.h:124
daal::algorithms::optimization_solver::coordinate_descent::random
Definition: coordinate_descent_types.h:66
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter::engine
engines::EnginePtr engine
Definition: coordinate_descent_types.h:109

For more complete information about compiler optimizations, see our Optimization Notice.