25 #ifndef GRADIENTDESCENT_HPP_
26 #define GRADIENTDESCENT_HPP_
31 namespace neural_nets {
32 namespace optimization {
38 template <
typename eT=
float>
49 delta = MAKE_MATRIX_PTR(eT, rows_, cols_);
59 mic::types::MatrixPtr<eT>
calculateUpdate(mic::types::MatrixPtr<eT> x_, mic::types::MatrixPtr<eT> dx_, eT learning_rate_ = 0.001) {
60 assert(x_->size() == dx_->size());
63 (*delta) = learning_rate_ * (*dx_);
71 mic::types::MatrixPtr<eT>
delta;
Abstract class representing interface to optimization function.
mic::types::MatrixPtr< eT > calculateUpdate(mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > dx_, eT learning_rate_=0.001)
Update in the direction of gradient descent.
GradientDescent(size_t rows_, size_t cols_)
mic::types::MatrixPtr< eT > delta
Calculated update.