小编Cha*_*itt的帖子

如何在tensorflow中实现sklearn的PolynomialFeatures?

我试图将scikit-learn的PolynomialFeatures实现为tensorflow和Keras中的前馈神经网络中的一个层.为简单起见,我将举例说明使用NumPy数组.如果批次具有三个样本并且某个层的激活等于(3,2)形矩阵

>>> X = np.arange(0, 6).reshape(2, 3)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5]])
Run Code Online (Sandbox Code Playgroud)

然后我希望下一层中的激活等于2次多项式特征扩展X:

>>> from sklearn.preprocessing import PolynomialFeatures
>>> PolynomialFeatures(degree=2).fit_transform(X)
array([[  1.,   0.,   1.,   0.,   0.,   1.],
       [  1.,   2.,   3.,   4.,   6.,   9.],
       [  1.,   4.,   5.,  16.,  20.,  25.]])
Run Code Online (Sandbox Code Playgroud)

也就是说,如果层i的激活是X(形状(batch_size, num_features))矩阵,那么对于参数选择,degree=2我希望层i + 1的激活是一个串联

  1. batch_size许多1.人的专栏,
  2. X 本身,
  3. 和所有无序对的列的元素方面的产品X:X[:, 0] * X[:, 0],X[:, 0] * …

python polynomial-math tensorflow keras-layer

7
推荐指数
1
解决办法
725
查看次数

标签 统计

keras-layer ×1

polynomial-math ×1

python ×1

tensorflow ×1