热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

百行代码教你了解何为神经网络

神经网络解方程神经网络参见知乎大神的回答:http:www.zhihu.comquestion22553761#摘抄部分内容如下:就举一个简单的例子:区分苹果和橘子。1.问题:

神经网络解方程

神经网络参见知乎大神的回答:http://www.zhihu.com/question/22553761#

摘抄部分内容如下:

就举一个简单的例子:区分苹果和橘子。

1.问题:人为什么能判断正确?

1.人的大脑就是一个牛逼的神经网络,通过从小的训练,见识,并且记住了苹果和橘子,我们分分钟能作出判断哪一个是苹果,哪一个是橘子(可能就是百分之百),即使我们蒙住了人的眼睛,我们还是可以通过气味,重量,手感做出较为准确的判断(但是可能不能完全判断正确).说到底就是人从小开始第一次见到苹果,橘子时,就不断的强化,记忆他们的特点,并且做出判断!有这么个大脑以后,通过直观的比方说颜色,我们就可以区分,颜色涂成一样,好,那我们依靠重量,重量等重,那我们依靠气味,气味也掩盖,那我们依靠密度。。。。。。。。。

2.计算机是死的,不是人,怎样达到人的水平或者模拟人的水平?

神经网络粉墨登场,初始的神经网络啥用都没有,智商为零。我们想让他区分苹果和橘子,对不起,你还不如去问问木头!由此我们想到人类区分的过程是不断强化,记忆(也就是训练大脑),然后就能区分(做出判断).好嘛!对一个神经网络(大脑),我们做同样的处理.先拿一堆的橘子和苹果,告诉它哪些是橘子,哪些是苹果(妈妈教你),这称之为训练.然后,再哪一个东东出来,让它判断是橘子还是苹果(做出判断),大事不好,神经网络判断错误了?别急,妈妈不会打你,不会骂你,错了就记住,再训练,强化!

3.问题还有,一大堆橘子,苹果,计算机怎么强化,记忆,计算机只认识数字,谁知道你这是什么怪物?

好,为了让计算机知道啥是橘子,啥是苹果,我们必须将橘子和苹果的特点变成数字(特征提取),送入到计算机里面去,让他记忆(训练).再把未知是什么东西的东东的特点变成数字送入计算机中让计算机做出判断(效应).颜色,我们用0~255来表示从黑到白,重量,我们用秤来秤嘛,气味,我们测算芳香因子的数量,密度,好吧,质量除以体积。。。。。。苹果我们用1表示,橘子我们用-1表示,为什么呢?前面我们说了,训练的时候,我们要告诉计算机什么是苹果,什么是橘子,用嘴和计算机说嘛?当然是数字啊,少年,没错就是国际惯例1和-1,接下来,我们将这些知道类别的数据送入计算机让他记住,再来一个不知道类别的东东,提取出上面的特点,我们就能判断出是橘子还是苹果了!

4.问题又来了,计算机怎么记住?

(非常浅显,专业人士一看就是不对的,还有很多别的条件没有提到)数据送进来,好嘛,神经网络来了,以苹果为例(用1标记),苹果的特点一串数字,我们用x表示,苹果的类别1,也就是这个网络最后要得到的效果就是x通过网络后就变成了1,数学上就是x*w = 1,好嘛解个方程就完了!(如果是多层呢?x*w1*w2*….wn=1,当然还会有更多的已知量给你哈!)解出方程得到w,后面再送入一个未知是啥的东东的特征数字,乘以w,就知道类别!橘子和苹果就区分出来!每一个步骤都有很多方法,很多内容可以挖掘,甚至很多步骤已经成为了一门专门的领域了!


百行代码教你了解何为神经网络

using System;
using System.Collections.Generic;

namespace SolvingFunction
{
public class Param
{
public int x;
public int y;
}

public class MainClass
{
static List InputList = new List ();
const int MaxParam_A = 10;
const int MaxParam_B = 10;
const int MaxParam_C = 10;

static int A,B,C;

public static void Main (string[] args)
{
AddInput ();
GetParams ();
Console.WriteLine ("a=" + A + ",b=" + B + ",c=" + C);
Console.WriteLine ("input x=1,get y=> "+(1-A*1-C)/B);
}

static void AddInput()
{
Param OneParam= new Param ();
oneParam.x = 0;
oneParam.y = -1;
InputList.Add (oneParam);

Param oneParam2 = new Param ();
oneParam2.x = -4;
oneParam2.y = 1;
InputList.Add (oneParam2);
}

static void GetParams()
{
for (int a = 1; a for (int b = 1; b for (int c = 0; c if (ParamIsRight (a, b, c)) {
A = a;
B = b;
C = c;
return;
}
}
}
}
}

static bool ParamIsRight(int a,int b,int c)
{
for(int i=0;i {
var result = a * InputList [i].x + b * InputList [i].y + c-1;
if (result != 0)
return false;
}
return true;
}
}
}

运行结果如下

这里写图片描述


推荐阅读
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
author-avatar
蓝色清晨-花
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有