26 #ifndef SQUAREDLOSS_HPP_
27 #define SQUAREDLOSS_HPP_
32 namespace neural_nets {
40 template <
typename dtype=
float>
46 dtype
calculateLoss (mic::types::MatrixPtr<dtype> target_y_, mic::types::MatrixPtr<dtype> predicted_y_) {
48 assert(predicted_y_->size() == target_y_->size());
52 for (
size_t i=0; i <(size_t)predicted_y_->size(); i++) {
53 loss += ((*target_y_)[i] - (*predicted_y_)[i])*((*target_y_)[i] - (*predicted_y_)[i]);
63 mic::types::MatrixPtr<dtype>
calculateGradient (mic::types::MatrixPtr<dtype> target_y_, mic::types::MatrixPtr<dtype> predicted_y_) {
65 assert(predicted_y_->size() == target_y_->size());
68 mic::types::MatrixPtr<dtype> dy = MAKE_MATRIX_PTR(dtype, predicted_y_->rows(), predicted_y_->cols());
69 for (
size_t i=0; i <(size_t)predicted_y_->size(); i++) {
70 (*dy)[i] = -((*target_y_)[i] - (*predicted_y_)[i]);
mic::types::MatrixPtr< dtype > calculateGradient(mic::types::MatrixPtr< dtype > target_y_, mic::types::MatrixPtr< dtype > predicted_y_)
Function calculating gradient - for squared difference (regression).
Class representing a squared error loss function (regression). L = 1/2 sum (t - p)^2.
Abstract class representing a loss function. Defines interfaces.
dtype calculateLoss(mic::types::MatrixPtr< dtype > target_y_, mic::types::MatrixPtr< dtype > predicted_y_)
Function calculates squared difference loss (regression) and returns squared error (SE)...