Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun optimizeParameters( gradients : ArrayList<Array<Any>> , learningRate : Double ) {
- val weightGradientsList = ArrayList<DoubleArray>()
- for( gradient in gradients ) {
- weightGradientsList.add( gradient[0] as DoubleArray )
- }
- val weightGradients = MathOps.multidimMean( weightGradientsList.toTypedArray() ).toDoubleArray()
- val biasGradientsList = ArrayList<Double>()
- for( gradient in gradients ) {
- biasGradientsList.add( gradient[1] as Double )
- }
- val biasGradients = ( biasGradientsList.toTypedArray() ).average()
- this.weights = MathOps.subtract( this.weights , MathOps.multiplyScalar( weightGradients , learningRate ) )
- this.bias = this.bias - ( biasGradients * learningRate )
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement