亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? logreg.cpp

?? source codes for "Orthant-Wise Limited-memory Quasi-Newton Optimizer for L1-regularized Objectives"
?? CPP
字號(hào):
#include "logreg.h"
#include <fstream>
#include <sstream>
#include <string>

using namespace std;

void skipEmptyAndComment(ifstream& file, string& s) {
	do {
		getline(file, s);
	} while (s.size() == 0 || s[0] == '%');
}

LogisticRegressionProblem::LogisticRegressionProblem(const char* matFilename, const char* labelFilename) {
	ifstream matfile(matFilename);
	if (!matfile.good()) {
		cerr << "error opening matrix file " << matFilename << endl;
		exit(1);
	}
	string s;
	getline(matfile, s);
	if (!s.compare("%%MatrixMarket matrix coordinate real general")) {
		skipEmptyAndComment(matfile, s);

		stringstream st(s);
		size_t numIns, numNonZero;
		st >> numIns >> numFeats >> numNonZero;

		vector<deque<size_t>> rowInds(numIns);
		vector<deque<double>> rowVals(numIns);
		for (size_t i = 0; i < numNonZero; i++) {
			size_t row, col;
			double val;
			matfile >> row >> col >> val;
			row--;
			col--;
			rowInds[row].push_back(col);
			rowVals[row].push_back(val);
		}

		matfile.close();

		ifstream labfile(labelFilename);
		getline(labfile, s);
		if (s.compare("%%MatrixMarket matrix array real general")) {
			cerr << "unsupported label file format in " << labelFilename << endl;
			exit(1);
		}

		skipEmptyAndComment(labfile, s);
		stringstream labst(s);
		size_t labNum, labCol;
		labst >> labNum >> labCol;
		if (labNum != numIns) {
			cerr << "number of labels doesn't match number of instances in " << labelFilename << endl;
			exit(1);
		} else if (labCol != 1) {
			cerr << "label matrix may not have more than one column" << endl;
			exit(1);
		}

		instance_starts.push_back(0);

		for (size_t i=0; i<numIns; i++) {
			int label;
			labfile >> label;
			bool bLabel;
			switch (label) {
					case 1:
						bLabel = true;
						break;

					case -1:
						bLabel = false;
						break;

					default:
						cerr << "illegal label: must be 1 or -1" << endl;
						exit(1);
			}

			AddInstance(rowInds[i], rowVals[i], bLabel);
		}

		labfile.close();
	} else if (!s.compare("%%MatrixMarket matrix array real general")) {
		skipEmptyAndComment(matfile, s);
		stringstream st(s);
		size_t numIns;
		st >> numIns >> numFeats;

		vector<vector<double>> rowVals(numIns);

		for (size_t j=0; j<numFeats; j++) {
			for (size_t i=0; i<numIns; i++) {
				double val;
				matfile >> val;
				rowVals[i].push_back(val);
			}

			instance_starts.push_back(values.size());
		}

		matfile.close();

		ifstream labfile(labelFilename);
		getline(labfile, s);
		if (s.compare("%%MatrixMarket matrix array real general")) {
			cerr << "unsupported label file format in " << labelFilename << endl;
			exit(1);
		}

		skipEmptyAndComment(labfile, s);
		stringstream labst(s);
		size_t labNum, labCol;
		labst >> labNum >> labCol;
		if (labNum != numIns) {
			cerr << "number of labels doesn't match number of instances in " << labelFilename << endl;
			exit(1);
		} else if (labCol != 1) {
			cerr << "label matrix may not have more than one column" << endl;
			exit(1);
		}

		instance_starts.push_back(0);
		for (size_t i=0; i<numIns; i++) {
			int label;
			labfile >> label;
			bool bLabel;
			switch (label) {
					case 1:
						bLabel = true;
						break;

					case -1:
						bLabel = false;
						break;

					default:
						cerr << "illegal label: must be 1 or -1" << endl;
						exit(1);
			}

			AddInstance(rowVals[i], bLabel);
		}

		labfile.close();
	} else {
		cerr << "unsupported matrix file format in " << matFilename << endl;
		exit(1);
	}
}

void LogisticRegressionProblem::AddInstance(const deque<size_t>& inds, const deque<double>& vals, bool label) {
	for (size_t i=0; i<inds.size(); i++) {
		indices.push_back(inds[i]);
		values.push_back(vals[i]);
	}
	instance_starts.push_back(indices.size());
	labels.push_back(label);
}

void LogisticRegressionProblem::AddInstance(const vector<double>& vals, bool label) {
	for (size_t i=0; i<vals.size(); i++) {
		values.push_back(vals[i]);
	}
	instance_starts.push_back(values.size());
	labels.push_back(label);
}

double LogisticRegressionProblem::ScoreOf(size_t i, const vector<double>& weights) const {
	double score = 0;
	for (size_t j=instance_starts[i]; j < instance_starts[i+1]; j++) {
		double value = values[j];
		size_t index = (indices.size() > 0) ? indices[j] : j - instance_starts[i];
		score += weights[index] * value;
	}
	if (!labels[i]) score *= -1;
	return score;
}


double LogisticRegressionObjective::Eval(const DblVec& input, DblVec& gradient) const {
	double loss = 1.0;

	if (l2weight > 0) {
		for (size_t i=0; i<input.size(); i++) {
			loss += 0.5 * input[i] * input[i] * l2weight;
			gradient[i] = l2weight * input[i];
		}
	} else {
		for (size_t i=0; i<input.size(); i++) {
			gradient[i] = 0;
		}
	}

	for (size_t i =0 ; i<problem.NumInstances(); i++) {
		double score = problem.ScoreOf(i, input);

		double insLoss, insProb;
		if (score < -30) {
			insLoss = -score;
			insProb = 0;
		} else if (score > 30) {
			insLoss = 0;
			insProb = 1;
		} else {
			double temp = 1.0 + exp(-score);
			insLoss = log(temp);
			insProb = 1.0/temp;
		}
		loss += insLoss;
		problem.AddMultTo(i, 1.0 - insProb, gradient);
	}

	return loss;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa亚洲精品| 国内久久婷婷综合| 色激情天天射综合网| 亚洲色图清纯唯美| 91偷拍与自偷拍精品| 亚洲精品久久嫩草网站秘色| 在线国产电影不卡| 奇米一区二区三区| ww亚洲ww在线观看国产| 国产乱子伦视频一区二区三区| 欧美国产日韩一二三区| 99精品一区二区三区| 亚洲一区二区三区四区五区中文| 欧美日韩亚洲综合在线| 激情偷乱视频一区二区三区| 亚洲国产精品成人综合| 色94色欧美sute亚洲线路一久 | 国产精品久久久爽爽爽麻豆色哟哟| 成人一二三区视频| 亚洲电影一级黄| 久久亚洲综合av| 色婷婷亚洲综合| 韩国成人在线视频| 久久av资源站| 中文字幕一区二区三中文字幕| 在线观看欧美精品| 国产在线不卡视频| 夜夜操天天操亚洲| 久久综合一区二区| 在线观看91精品国产入口| 麻豆视频观看网址久久| 中文字幕制服丝袜成人av| 精品视频色一区| 成人免费看视频| 蜜桃精品视频在线观看| 亚洲男人的天堂在线观看| 精品少妇一区二区三区| 色婷婷狠狠综合| 国产一区二三区好的| 亚洲高清视频在线| 国产欧美一区二区精品性| 欧美卡1卡2卡| 91尤物视频在线观看| 日本美女视频一区二区| 亚洲女同女同女同女同女同69| 日韩免费电影网站| 日本精品免费观看高清观看| 国产成人免费xxxxxxxx| 六月丁香婷婷久久| 亚洲伊人色欲综合网| 国产精品女人毛片| 精品播放一区二区| 欧美电影一区二区| 91福利国产成人精品照片| 成人av影视在线观看| 久草热8精品视频在线观看| 香蕉成人啪国产精品视频综合网| 国产精品免费免费| 久久久久久久久久久久久久久99 | 久久日韩精品一区二区五区| 欧美三级日韩三级国产三级| 色综合久久66| 丁香一区二区三区| 国产麻豆精品在线观看| 激情亚洲综合在线| 免费精品视频在线| 丝袜亚洲精品中文字幕一区| 亚洲韩国一区二区三区| 亚洲最色的网站| 一区二区在线观看免费视频播放| 国产精品久久久久久久久免费丝袜| 久久麻豆一区二区| 久久综合九色综合久久久精品综合| 欧美一级二级三级乱码| 欧美一区二区三区在线电影| 欧美日韩精品一区二区| 欧美日韩在线三区| 91超碰这里只有精品国产| 欧美色涩在线第一页| 欧美高清视频www夜色资源网| 欧美日韩国产成人在线免费| 精品视频1区2区3区| 欧美性大战久久久久久久| 欧美午夜宅男影院| 欧美日韩国产一二三| 欧美一区二区三区在线观看 | av一二三不卡影片| 91蝌蚪porny| 欧美专区亚洲专区| 日韩网站在线看片你懂的| 精品国产3级a| 中文字幕精品—区二区四季| 最新日韩av在线| 亚洲综合在线观看视频| 日韩在线卡一卡二| 国产精品一区二区果冻传媒| aaa亚洲精品| 欧美日韩精品一区二区三区蜜桃| 日韩欧美三级在线| 中文字幕欧美国产| 亚洲电影你懂得| 精品影视av免费| av色综合久久天堂av综合| 色婷婷国产精品综合在线观看| 欧美日韩精品三区| 日韩欧美一级二级三级久久久| 久久久精品国产免费观看同学| 国产精品美女一区二区三区| 亚洲午夜精品在线| 美女看a上一区| eeuss鲁片一区二区三区在线观看| 在线观看一区日韩| 精品成人在线观看| 亚洲精品v日韩精品| 久88久久88久久久| 91啪在线观看| 精品久久国产字幕高潮| 18欧美亚洲精品| 美美哒免费高清在线观看视频一区二区| 成人高清视频免费观看| 欧美高清视频在线高清观看mv色露露十八 | 久久久亚洲精华液精华液精华液| 亚洲视频资源在线| 久88久久88久久久| 欧美亚洲综合久久| 国产午夜精品理论片a级大结局| 亚洲精品免费视频| 国产老妇另类xxxxx| 在线观看亚洲专区| 国产精品网站在线播放| 蜜桃精品在线观看| 欧美日韩日本视频| 国产精品无圣光一区二区| 日本视频免费一区| 91免费视频网址| 国产网红主播福利一区二区| 日韩不卡手机在线v区| 97se亚洲国产综合自在线观| 精品国产乱码久久久久久闺蜜 | 欧美高清在线精品一区| 日韩av电影免费观看高清完整版 | 成人av电影在线网| 久久综合成人精品亚洲另类欧美 | 亚洲美女免费在线| 国产不卡视频在线观看| 精品久久久久久久久久久久包黑料| 亚洲国产欧美在线人成| 99久久精品国产一区| 久久精品视频在线看| 美女视频网站黄色亚洲| 在线观看91精品国产麻豆| 亚洲综合久久av| 91欧美一区二区| 综合久久综合久久| 成人午夜av在线| 久久欧美中文字幕| 久久国产精品99久久久久久老狼| 欧美日韩国产成人在线免费| 亚洲午夜视频在线观看| 色综合久久久久久久久久久| 中文字幕一区二区三中文字幕| 丁香婷婷深情五月亚洲| 国产日产欧美一区二区三区| 国产乱码字幕精品高清av| 亚洲精品在线免费观看视频| 久久国产尿小便嘘嘘| 欧美成人精品1314www| 激情综合一区二区三区| 精品对白一区国产伦| 国产精一品亚洲二区在线视频| 亚洲精品一区二区在线观看| 国产一区二区三区在线观看免费| 26uuu国产在线精品一区二区| 国产精品亚洲人在线观看| 国产欧美日韩亚州综合| 成人福利视频在线看| 日韩美女视频一区二区 | 粉嫩av一区二区三区粉嫩| 国产亚洲污的网站| 成人黄色网址在线观看| 亚洲免费观看高清在线观看| 日本福利一区二区| 午夜激情一区二区| 欧美v日韩v国产v| 国产乱码字幕精品高清av| 国产精品不卡在线| 在线欧美一区二区| 奇米影视7777精品一区二区| xfplay精品久久| 91在线一区二区| 五月婷婷另类国产| 精品国产成人系列| av午夜精品一区二区三区| 亚洲综合自拍偷拍| 亚洲精品一区二区精华| 成人app网站| 日韩电影免费一区| 国产日产欧产精品推荐色 | 99在线精品视频| 亚洲不卡在线观看|