喀拉拉邦的概率回归

时间:2018-10-09 19:08:40

标签: python keras classification

我一直在研究keras中的二进制分类模型的激活函数。例如,我已经实现了Invalid key hash. The key has ************ does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/apps/MY_APP_ID 的logit模型,并且已经实现了如下的cloglog模型:

Dense(1, activation='sigmoid')

我真的很想尝试一个probit模型,但是我很难用import numpy as np from keras.layers import Input, Dense from keras.models import Model import keras.backend as K np.random.seed(42) # Some Data nrows = 1000 ncols = 20 X = np.random.rand(nrows, ncols) - 0.5 CF = np.random.rand(ncols, 1) y = np.sign(X.dot(CF)) y[np.where(y == -1)] = 0 # cloglog model def cloglog(x): return -(K.exp(-K.exp(x))-1) input = Input(shape=(ncols,)) output = Dense(1, activation=cloglog)(input) model = Model(input, output) model.compile(loss='binary_crossentropy', optimizer='adam') model.fit(X, y, epochs=10) 中可用的操作来实现链接功能。

这有可能吗?还是我真的需要keras.backend中可用的分布函数(pdf / cdf)?

2 个答案:

答案 0 :(得分:2)

如果将TensorFlow用作Keras后端,则可以利用tf.distributions来计算正态分布的CDF:

from tensorflow.distributions import Normal

def probit(x):
    normal = Normal(loc=0.,
                    scale=1.)
    return normal.cdf(x)

答案 1 :(得分:0)

我要处理的另一个问题是近似正常CDF /反向CDF。后者也称为分位数函数,概率函数或百分点函数,可以在scipy中找到。因此,这可能就是几个月前您需要的。 :)

from scipy.stats import norm
norm.ppf(x,0,1)