用一个神经元来实现and表

简介: 看到教材上有这么一个例子,先做下来,练练手,很简单的代码   //用一个神经元来实现这个功能//这个二维数组中,数字的意义为/**//*bias,first input,second input,target output1,        1,            1,                11,        1,            -1,            

看到教材上有这么一个例子,先做下来,练练手,很简单的代码

 

// 用一个神经元来实现这个功能
// 这个二维数组中,数字的意义为
/**/ /*
bias,first input,second input,target output
1,        1,            1,                1
1,        1,            -1,                -1
1,        -1,            1,                -1
1,        -1,            -1,                -1
*/

private   double [,] myandtable = new   double [ 4 , 4 ] ... {
                                
...{1,1,1,1},
                                
...{1,1,-1,-1},
                                
...{1,-1,1,-1},
                                
...{1,-1,-1,-1}
                              }
;


// 调整权值
// 第一前向计算
// 第二后向反馈
private   void  AddJustWeight()
... {
    
//在有了输入的情况下,我们先要,初始化权值,三个输入的权值,最后一个是调整的权值
    double bw,w1,w2,addjustweight=0.1 ;
    bw
=new Random().NextDouble()*2-1;
    w1
=new Random().NextDouble()*2-1;
    w2
=new Random().NextDouble()*2-1;

    
//bw=0.5;w1=0.3;w2=0.7;
    Debug.WriteLine(string.Format("random right is {0},{1},{2}",bw,w1,w2));

    
for(int i=0;i<4;i++)
    
...{
        
double result=bw*myandtable[i,0]+w1*myandtable[i,1]+w2*myandtable[i,2];
        
if(result>0.0) result=1.0;
        
if(result!=myandtable[i,3])
        
...{
            
double delta=addjustweight*(myandtable[i,3]-result);
            bw
+=delta*myandtable[i,0];
            w1
+=delta*myandtable[i,1];
            w2
+=delta*myandtable[i,2];
            Debug.WriteLine(
string.Format("addjust right is {0},{1},{2}",bw,w1,w2));
        }


    }
 
}

 

 

相关文章
|
机器学习/深度学习
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
999 0
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
|
7天前
|
机器学习/深度学习 算法 数据建模
SPSS多层感知器 (MLP)神经网络预测全国污染物综合利用量数据
SPSS多层感知器 (MLP)神经网络预测全国污染物综合利用量数据
|
3月前
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
158 0
|
11月前
|
机器学习/深度学习 计算机视觉
卷积层提取特征
卷积层提取特征
85 1
|
12月前
|
机器学习/深度学习 人工智能 数据挖掘
【Pytorch神经网络理论篇】 26 基于空间域的图卷积GCNs(ConvGNNs):定点域+谱域+图卷积的操作步骤
图卷积网络(Graph Convolutional Network,GCN)是一种能对图数据进行深度学习的方法。图卷积中的“图”是指数学(图论)中用顶点和边建立的有相关联系的拓扑图,而积指的是“离散卷积”,其本质就是一种加权求和,加权系数就是卷积核的权重系数。
199 0
|
12月前
|
机器学习/深度学习 编解码 算法
【Pytorch神经网络理论篇】 32 PNASNet模型:深层可分离卷积+组卷积+空洞卷积
PNASNet模型是Google公司的AutoML架构自动搜索所产生的模型,它使用渐进式网络架构搜索技术,并通过迭代自学习的方式,来寻找最优网络结构。即用机器来设计机器学习算法,使得它能够更好地服务于用户提供的数据。该模型在ImageNet数据集上Top-1准确率达到82.9%,Top-5准确率达到96。2%,是目前最好的图片分类模型之一。
148 0
|
机器学习/深度学习 自然语言处理 算法
稀疏特征和密集特征
在机器学习中,特征是指对象、人或现象的可测量和可量化的属性或特征。特征可以大致分为两类:稀疏特征和密集特征。
159 0
|
机器学习/深度学习 并行计算 知识图谱
用于多关系数据的图神经网络R-GCNs(上)
用于多关系数据的图神经网络R-GCNs
219 0
用于多关系数据的图神经网络R-GCNs(上)
|
机器学习/深度学习 移动开发 知识图谱
用于多关系数据的图神经网络R-GCNs(下)
用于多关系数据的图神经网络R-GCNs
370 0
用于多关系数据的图神经网络R-GCNs(下)
|
机器学习/深度学习
三、隐藏层中的神经元数量
在隐藏层中使用太少的神经元将导致欠拟合(underfitting) 。相反,使用过多的神经元同样会导致一些问题。首先,隐藏层中的神经元过多可能会导致过拟合(overfitting) 。当神经网络具有过多的节点(过多的信息处理能力)时,训练集中包含的有限信息量不足以训练隐藏层中的所有神经元,因此就会导致过拟合。即使训练数据包含的信息量足够,隐藏层中过多的神经元会增加训练时间,从而难以达到预期的效果。
618 0
三、隐藏层中的神经元数量

热门文章

最新文章