LogisticRegression_OWLQN_Notes

Notes on Logistic Regression and OWLQN

Stars
25

OWLQN

Logistic Regression

OWLQN

OWLQN

Galen Andrew and Jianfeng Gao. 2007

//OWLQN
//dir
void OptimizerState::MakeSteepestDescDir() {

	if (l1weight == 0) {
		//l10dir
		scaleInto(dir, grad, -1);
	} else {
		//l10l1
		for (size_t i=0; i<dim; i++) {
			if (x[i] < 0) {
				//xi<0|xi| = - xil1-l1weight
				dir[i] = -grad[i] + l1weight;
			} else if (x[i] > 0) {
				//xi>0|xi| = xil1l1weight
				dir[i] = -grad[i] - l1weight;
			} else {//xi == 0
				if (grad[i] < -l1weight) {
					//xi == 0grad[i] + l1weight < 0dir[i] > 0
					dir[i] = -grad[i] - l1weight;
				} else if (grad[i] > l1weight) {
					//xi == 0grad[i] - l1weight > 0dir[i] < 0
					dir[i] = -grad[i] + l1weight;
				} else {
					//xi == 000
					dir[i] = 0;
				}
			}
		}
	}

	//
	steepestDescDir = dir;
}