Lines Matching refs:inputs

68 float MulticlassPA::Score(const vector<float>& inputs,
70 // CHECK_EQ(inputs.size(), parameters.size());
72 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
73 result += inputs[i] * parameters[i];
78 float MulticlassPA::SparseScore(const vector<pair<int, float> >& inputs,
81 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
82 //DCHECK_GE(inputs[i].first, 0);
83 //DCHECK_LT(inputs[i].first, parameters.size());
84 result += inputs[i].second * parameters[inputs[i].first];
89 float MulticlassPA::L2NormSquare(const vector<float>& inputs) const {
91 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
92 norm += inputs[i] * inputs[i];
98 const vector<pair<int, float> >& inputs) const {
100 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
101 norm += inputs[i].second * inputs[i].second;
106 float MulticlassPA::TrainOneExample(const vector<float>& inputs, int target) {
109 float target_class_score = Score(inputs, parameters_[target]);
112 float other_class_score = Score(inputs, parameters_[other_class]);
117 float twice_norm_square = L2NormSquare(inputs) * 2.0;
127 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
129 parameters_[target][i] += rate * inputs[i];
131 parameters_[other_class][i] -= rate * inputs[i];
139 const vector<pair<int, float> >& inputs, int target) {
142 float target_class_score = SparseScore(inputs, parameters_[target]);
145 float other_class_score = SparseScore(inputs, parameters_[other_class]);
150 float twice_norm_square = SparseL2NormSquare(inputs) * 2.0;
160 for (int i = 0; i < static_cast<int>(inputs.size()); ++i) {
162 parameters_[target][inputs[i].first] += rate * inputs[i].second;
164 parameters_[other_class][inputs[i].first] -= rate * inputs[i].second;
196 int MulticlassPA::GetClass(const vector<float>& inputs) {
201 float score_i = Score(inputs, parameters_[i]);
210 int MulticlassPA::SparseGetClass(const vector<pair<int, float> >& inputs) {
215 float score_i = SparseScore(inputs, parameters_[i]);