C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

coordinate_descent_types.h
1 /* file: coordinate_descent_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 /*
19 //++
20 // Implementation of the Coordinate descent algorithm types.
21 //--
22 */
23 
24 #ifndef __COORDINATE_DESCENT_TYPES_H__
25 #define __COORDINATE_DESCENT_TYPES_H__
26 
27 #include "data_management/data/numeric_table.h"
28 #include "data_management/data/homogen_numeric_table.h"
29 #include "services/daal_defines.h"
30 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
31 #include "algorithms/engines/mt19937/mt19937.h"
32 #include "algorithms/optimization_solver/objective_function/logistic_loss_batch.h"
33 
34 namespace daal
35 {
36 namespace algorithms
37 {
38 namespace optimization_solver
39 {
49 namespace coordinate_descent
50 {
51 
56 enum Method
57 {
58  defaultDense = 0,
59 };
60 
65 enum SelectionStrategy
66 {
67  cyclic,
68  random
69 };
73 namespace interface1
74 {
75 
82 /* [Parameter source code] */
83 struct DAAL_EXPORT Parameter : public optimization_solver::iterative_solver::Parameter
84 {
93  Parameter(
94  const sum_of_functions::BatchPtr &function,
95  size_t nIterations = 100,
96  double accuracyThreshold = 1.0e-05,
97  size_t seed = 777
98  );
99 
100  virtual ~Parameter(){}
101 
107  virtual services::Status check() const DAAL_C11_OVERRIDE;
108 
109  size_t seed;
111  engines::EnginePtr engine;
113  SelectionStrategy selection;
114  bool positive;
115  bool skipTheFirstComponents;
116 };
117 /* [Parameter source code] */
118 
125 /* [Input source code] */
126 class DAAL_EXPORT Input : public optimization_solver::iterative_solver::Input
127 {
128 private:
129  typedef optimization_solver::iterative_solver::Input super;
130 public:
131  Input();
132  Input(const Input& other);
133 
134  using super::set;
135  using super::get;
136 
144  virtual services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
145 };
146 /* [Input source code] */
147 
152 class DAAL_EXPORT Result : public optimization_solver::iterative_solver::Result
153 {
154 public:
155  DECLARE_SERIALIZABLE_CAST(Result);
156  typedef optimization_solver::iterative_solver::Result super;
157 
158  Result() {}
159  using super::set;
160  using super::get;
161 
170  template <typename algorithmFPType>
171  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method);
172 
181  virtual services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par,
182  int method) const DAAL_C11_OVERRIDE;
183 };
184 typedef services::SharedPtr<Result> ResultPtr;
185 /* [Result source code] */
186 
188 } // namespace interface1
189 using interface1::Parameter;
190 using interface1::Input;
191 using interface1::Result;
192 using interface1::ResultPtr;
193 
194 } // namespace coordinate_descent
195 } // namespace optimization_solver
196 } // namespace algorithm
197 } // namespace daal
198 #endif
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter
Parameter base class for the Coordinate descent algorithm
Definition: coordinate_descent_types.h:83
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter::engine
engines::EnginePtr engine
Definition: coordinate_descent_types.h:111
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:152
daal::algorithms::optimization_solver::coordinate_descent::SelectionStrategy
SelectionStrategy
Definition: coordinate_descent_types.h:65
daal::algorithms::optimization_solver::coordinate_descent::interface1::Input
Input class for the Coordinate descent algorithm
Definition: coordinate_descent_types.h:126
daal::algorithms::optimization_solver::coordinate_descent::random
Definition: coordinate_descent_types.h:68
daal::algorithms::optimization_solver::coordinate_descent::defaultDense
Definition: coordinate_descent_types.h:58
daal_defines.h
daal::algorithms::optimization_solver::coordinate_descent::cyclic
Definition: coordinate_descent_types.h:67
daal::algorithms::optimization_solver::coordinate_descent::interface1::Parameter::seed
size_t seed
Definition: coordinate_descent_types.h:109
daal::algorithms::optimization_solver::coordinate_descent::Method
Method
Definition: coordinate_descent_types.h:56
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:99

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