Clojureでソフトマックス関数を実装する

(defn softmax [a]
  (let c' (apply max a)
        c (repeat (length a) c')
        exp_a (exp (minus a c))
        sum_exp_a (sum exp_a)
        y (div exp_a sum_exp_a)]
    y))

テスト

 (let [a (matrix (map #(- (* 1/10 %1) 5) (range 100)))]
  (view (time-series-plot a (softmax a))))

incanterのtime-series-plotだとカクカクになっちゃのが気になる