summaryrefslogtreecommitdiff
path: root/ml_exp/kernels.py
diff options
context:
space:
mode:
Diffstat (limited to 'ml_exp/kernels.py')
-rw-r--r--ml_exp/kernels.py22
1 files changed, 9 insertions, 13 deletions
diff --git a/ml_exp/kernels.py b/ml_exp/kernels.py
index 834d62408..7a61a1e1e 100644
--- a/ml_exp/kernels.py
+++ b/ml_exp/kernels.py
@@ -22,27 +22,23 @@ SOFTWARE.
"""
import math
import numpy as np
-from ml_exp.frob_norm import frob_norm
-def gauss_kernel(X_1, X_2, sigma):
+def gaussian_kernel(X1,
+ X2,
+ sigma):
"""
Calculates the Gaussian Kernel.
- X_1: first representations.
- X_2: second representations.
+ X1: first representations.
+ X2: second representations.
sigma: kernel width.
"""
- x1_l = len(X_1)
- x1_range = range(x1_l)
- x2_l = len(X_2)
- x2_range = range(x2_l)
-
inv_sigma = -0.5 / (sigma*sigma)
- K = np.zeros((x1_l, x2_l))
- for i in x1_range:
- for j in x2_range:
- f_norm = frob_norm(X_1[i] - X_2[j])
+ K = np.zeros((X1.shape[0], X2.shape[0]), dtype=float)
+ for i in X1:
+ for j in X2:
+ f_norm = np.linalg.norm(i - j)
# print(f_norm)
K[i, j] = math.exp(inv_sigma * f_norm)