Beta-divergence损失函数

一种比较各种Beta-divergence损失函数的图,它由 sklearn.decomposition.NMF中的Multiplicative-Update (‘mu’)求解器支持。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition._nmf import _beta_divergence

print(__doc__)

x = np.linspace(0.00141000)
y = np.zeros(x.shape)

colors = 'mbgyr'
for j, beta in enumerate((0.0.51.1.52.)):
    for i, xi in enumerate(x):
        y[i] = _beta_divergence(1, xi, 1, beta)
    name = "beta = %1.1f" % beta
    plt.plot(x, y, label=name, color=colors[j])

plt.xlabel("x")
plt.title("beta-divergence(1, x)")
plt.legend(loc=0)
plt.axis([0403])
plt.show()

脚本的总运行时间:(0分0.296秒)。

Download Python source code: plot_beta_divergence.py

Download Jupyter notebook: plot_beta_divergence.ipynb