16b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua/* 26b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * Copyright (C) 2012 The Android Open Source Project 36b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * 46b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * Licensed under the Apache License, Version 2.0 (the "License"); 56b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * you may not use this file except in compliance with the License. 66b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * You may obtain a copy of the License at 76b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * 86b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * http://www.apache.org/licenses/LICENSE-2.0 96b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * 106b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * Unless required by applicable law or agreed to in writing, software 116b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * distributed under the License is distributed on an "AS IS" BASIS, 126b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * See the License for the specific language governing permissions and 146b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua * limitations under the License. 156b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua */ 166b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 176b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua// Contains definitions commom to all classification and ranking algorithms 186b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua// in this package. 196b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 206b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#ifndef LEARNING_STOCHASTIC_LINEAR_COMMON_DEFS_H_ 216b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define LEARNING_STOCHASTIC_LINEAR_COMMON_DEFS_H_ 226b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 236b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huanamespace learning_stochastic_linear { 246b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua// Defines standard types of regulariation methods. 256b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum RegularizationType { L0, L1, L2, L1L2, L1LInf }; 266b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 276b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua// Defines standard adaptation modes for which Stochastic Sub-Gradient 286b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua// methods are known to converge. 296b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum AdaptationMode { CONST, INV_LINEAR, INV_QUADRATIC, INV_SQRT }; 306b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum UpdateType { FULL_CS, CLIP_CS, REG_CS, SL, ADAPTIVE_REG }; 316b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum RankLossType { PAIRWISE, RECIPROCAL_RANK }; 326b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum KernelType { LINEAR, POLY, RBF }; 336b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Huaenum MulticlassUpdateType { MAX, RANK }; 346b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua} // namespace learning_stochastic_linear 356b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 366b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#ifdef ANDROID 376b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define uint32 uint32_t 386b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define int32 int32_t 396b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define uint64 uint64_t 406b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define int64 int64_t 416b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#include <cutils/log.h> 426b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#define CHECK_GT(x,y) if (x<y) ALOGE("CHECK_GT failed at file %s line %d", \ 436b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua __FILE__, __LINE__); 446b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#endif 456b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua 466b4eebc73439cbc3ddfb547444a341d1f9be7996Wei Hua#endif // LEARNING_STOCHASTIC_LINEAR_COMMON_DEFS_H_ 47