Guest User

learn theta svm

a guest
Nov 24th, 2014
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.57 KB | None | 0 0
  1.   val lambda = 1
  2.   def learnTheta(d: List[(String, Double)], c: Boolean, topic: String, step: Double) = {
  3.     var thetaTopic = thetas(topic).theta
  4.     var y = 0
  5.     if (c) y = 1
  6.     else y = -1
  7.     val innerProduct = d.par.map(t => t._2 * thetaTopic(t._1)).sum
  8.     val multBy = 1 - 1.0 / step
  9.     thetaTopic ++= thetaTopic.par.map(t => t._1 -> t._2 * multBy).toList
  10.     val margin = 1.0 - (y * innerProduct)
  11.     if (margin > 0) {
  12.       val tmp = (1.0 / (lambda * step)) * y
  13.       thetaTopic ++= d.par.map(t => t._1 -> (thetaTopic(t._1) + t._2 * tmp)).toList
  14.     }
  15.   }
Add Comment
Please, Sign In to add comment