Classifying MNIST digits using Logistic Regression 代码个人,理解

一. 参数维度

W = size(n_in, n_out), n_in代表一个样本的dimension,一般都是(1,n),那么此时n_in=n;如果是(n,m)就要处理成(n*m,1)的形式。

二. negative_log_likelihood 函数

return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y]) 刚开始没看懂这个函数,[arange(y.shape[0]),y],这里arange(y.shape[0])是对一个
batch_size上的样本的遍历,y对应每一个样本的真实分类值;p_y_given_x是用softmax计算过的(arange(y.shape[0],10)的向量,如果模型正确的话
p_y_given_x[arange(y.shape[0]),y]对应的点LP[0,y[0]],LP[1,y[1]],等都应该是约等于1的。加个log约等于0.

你可能感兴趣的:(Classifying MNIST digits using Logistic Regression 代码个人,理解)