单层感知机
来源:互联网 发布:idea设置网络 编辑:程序博客网 时间:2024/05/01 11:15
简单的写了个单层感知机
没什么技术含量, 并且这玩意实际意义不大
线性分类器我更喜欢svm, 可以用的trick多一些
结果:
代码如下:
class TNode{gsl_matrix* w;gsl_vector* b;int inputDim = 0,outputDim = 0;this(int m, int n){w = gsl_matrix_alloc(n,m);b = gsl_vector_alloc(n);inputDim = m;outputDim = n;for(uint i = 0; i<n; i++){for(uint j = 0;j<m;j++){gsl_matrix_set(w,i,j,uniform(0.,1.));}}for(uint j = 0;j<n;j++){gsl_vector_set(b,j,uniform(0.,1.));}}~this(){gsl_matrix_free(w);gsl_vector_free(b);}bool check(float[] p){return (p.length == inputDim);}float sig(float p){return p<0?-1:1;}gsl_vector* vector(float[] p){gsl_vector* vp = gsl_vector_alloc(p.length);foreach(i,k;p){ gsl_vector_set(vp,i,k); }return vp;}void train(float[] p,float[] a){if (!check(p)) return;if (a.length != outputDim) return;float[] res = result(p);if (res.length != a.length) return;for(int i =0;i<outputDim;i++){gsl_vector_view c = gsl_matrix_row(w, i);gsl_vector* vp = vector(p);gsl_vector_scale(vp, a[i]-res[i]);gsl_vector_add(&c.vector,vp);gsl_vector_free(vp);gsl_vector_set(b, i, gsl_vector_get(b, i)+ a[i] - res[i]);printM(this);}}float[] result(float[] p){if (!check(p)) return null;gsl_vector* vp = vector(p);float[] res;res.length = outputDim;double r = 0;for(int i =0;i<outputDim;i++){gsl_vector_view c = gsl_matrix_row(w, i);gsl_blas_ddot(&c.vector, vp, &r);res[i] = sig(r+gsl_vector_get(b,i));}gsl_vector_free(vp);return res;}}
说实话好几年都在用go, 现在都适应了interface的模式了,
乍一回到object pascal风的面向对象还真有点不适应
反正oo也不是万金油,解决方法比面向xx重要, 以后还是能函数式就函数式好了.
方法的名字是在没neta了,随手打了几个单词凑数
- 单层感知机
- 单层感知机
- Tensorflow minist单层感知机
- 从单层感知机到LSTM
- (单层)感知机学习规则
- 单层感知机及其代码实现
- 单层感知器
- 单层感知器神经网络
- 单层感知器
- 单层感知器
- 证:单层感知机不能表示异或逻辑
- 神经网络学习笔记(一) 单层感知机
- 证:单层感知机不能表示异或逻辑
- 单层感知机与多层前馈神经网络
- tensorflow实现单层感知机对MNIST分类
- 单层神经网络、多层感知机、深度学习的总结
- 单层感知器-学习实践
- 给定一个样本输入向量P,和目标向量T,设计单层感知机进行分类
- Linux下暴力破解工具Hydra详解
- apache ab命令
- Eclipse3.7 反编译插件安装
- 记忆力大比拼
- Android将SQLite数据表导出到csv格式文件
- 单层感知机
- 我的地址
- Android 判断SD卡是否存在及容量查询
- JAVA IO流(异常日志文件创建)
- 【openwrt】——lua字符串操作
- 黑马程序员:IO 学习<二>
- 判断圆是否被若干圆包围的问题--厦大1046
- java中,char类型能否存一个汉字。
- Java对泛型的支持(二)- 高级语法