【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h

继续看yusugomori的代码,看逻辑回归。在DBN(Deep Blief Network)中,下面几层是RBM,最上层就是LR了。关于回归、二类回归、以及逻辑回归,资料就是前面转的几篇。套路就是设定目标函数(softmax损失函数),对参数求偏导数,得出权重更新公式等。

LogisticRegression.h注释如下:

class LogisticRegression 
{
public:
  	int N;  		// number of input samples
  	int n_in;		// number of input nodes
  	int n_out;		// number of output nodes
  	double **W;		// weights connecting the input nodes and the output nodes
  	double *b;		// bias of the output nodes
  	// allocate memory and initialize the parameters
  	LogisticRegression(
  			int, 	// N
  			int, 	// n_in
  			int		// n_out
		  	);
  	~LogisticRegression();
  
public:
	// train the logistic regression model, update the value of W and b
  	void train (
	  		int*, 	// the input from input nodes in training set
	  		int*, 	// the output from output nodes in training set
	  		double	// the learning rate
		  );
 	// calculate the softmax for a input vector
 	// dSoftMax = exp(d_i - Max) / sum_i( exp(d_i - Max) )
  	void softmax (
	  		double*	// the calculated softmax probabiltiy -- input & output
			  );
	// do prediction by calculating the softmax probability from input
  	void predict (
	  		int*, 	// the input from input nodes in testing set
	  		double*	// the calculated softmax probability
			  );
};

顺便提一句。从前RBM的那个注释,是在家用VS2008写的;现在这个,用CFree5.0,轻量级、编辑器操作贴心,赞一下!


你可能感兴趣的:(机器学习)