Ariel Feldman
Advised by Dr. Caleb Kemere
A Machine Learning Approach to Predicting Occurrence of Sharp-Wave Ripple Complexes
Figure credit: Etienne Ackermann
What Are Sharp-Wave Ripples?
Colgin et al. Nature Reviews, 2016
Why Do We Need Prediction?
Objective
Design Challenges
Goal: Apply machine learning techniques towards building a realtime closed loop SWR disruption system.
Pre-Train
Refine Weights
Signal vs. Wavelets
Convolutional Architecture
Multi-Layer Perceptron
CA1
CA2
CA3
Weighting Misclassification
No Ripple | Ripple | Pripple | |
No Ripple | 0 | 0.25 | 0.25 |
Ripple | 0.75 | 0 | 0.2 |
Pripple | 0.75 | 0.2 | 0 |
Predicted
Actual
Punishing Loss Function
def w_categorical_crossentropy(y_true, y_pred, weights):
nb_cl = len(weights)
final_mask = K.zeros_like(y_pred[:, 0])
y_pred_max = K.max(y_pred, axis=1)
y_pred_max = K.reshape(y_pred_max, K.shape(y_pred))
y_pred_max_mat = K.equal(y_pred, y_pred_max)
for c_p, c_t in product(range(nb_cl), range(nb_cl)):
final_mask += (K.cast(weights[c_t, c_p],tf.float32) * K.cast(y_pred_max_mat[:, c_p] ,
tf.float32)* K.cast(y_true[:, c_t],tf.float32))
return K.categorical_crossentropy(y_pred, y_true) * final_mask
ncce = partial(w_categorical_crossentropy, weights=np.ones((3,3)))
ncce.__name__ ='w_categorical_crossentropy'
How Will We Approach This?
Ensemble Classifiers
Figures from Analytics Vidhya
Acknowledgments
Dr. Caleb Kemere
Shayok Dutta
PhD Candidate, Collaborator
Principal Investigator