感知器的scala实现
2016-07-04 20:41
169 查看
其实感知器学习算法,就是利用第一节介绍的单层感知器。首先利用给的正确数据,计算得到输出值,将输出值和正确的值相比,由此来调整每一个输出端上的权值。
公式便是用来调整权值,首先 是一个“学习参数”,一般我将它设置成小于1的正数。T便是训练数据中的正确结果, 便是第i个输入端的输入值,便是第i个输入端上面的权值。
关于感知器的scala代码实现如下:
公式便是用来调整权值,首先 是一个“学习参数”,一般我将它设置成小于1的正数。T便是训练数据中的正确结果, 便是第i个输入端的输入值,便是第i个输入端上面的权值。
关于感知器的scala代码实现如下:
object Perceptron{ val sourceX = Array(Array(3,3),Array(4,3),Array(1,1)) val resulty = Array(1,1,-1) def perceptronSGD(X:Array[Array[Int]],y:Array[Int],learnRate:Double = 0.001,iterNum:Int = 1000):(Array[Double],Double)={ var theta:Array[Double] = new Array(X(0).length) var b = 0.0 for(i<- 0 to iterNum){ val row = i % X.length var rowSum = 0.0 for(col <- 0 until X(0).length){ rowSum += X(row)(col) * theta(col) } rowSum = (rowSum + b) * y(row) if(!(rowSum > 0)){ for(col <- 0 until X(0).length){ theta(col) = theta(col) + learnRate * y(row) * X(row)(col) } b = b + learnRate * y(row) } } (theta,b) } }
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- 数据挖掘之Apriori算法详解和Python实现代码分享
- 用Python从零实现贝叶斯分类器的机器学习的教程
- Scala代码实现列出Hadoop 文件夹下面的所有文件
- ClassNotFoundException:scala.PreDef$
- sbt创建web项目
- My Machine Learning
- 机器学习---学习首页 3ff0
- XML 文件解析--含Unicode字符的XML文件
- 详解BI/数据分析/数据挖掘/业务分析概念 7fe0
- Scala 学习随笔
- Scala 小程序记录(学习期间的代码片段)
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- Spark机器学习(二) 局部向量 Local-- Data Types - MLlib
- Spark机器学习(三) Labeled point-- Data Types
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Sedgewick之巨著《算法》,与高德纳TAOCP一脉相承