深度学习初步理解
简单了解神经网络的基础:
当你输入一个x,就会映射出一个相应的Y
可以理解为莫以人类的神经网络进行反射,给一个条件(x),及反射出一个事件(y).
输入单元——用于接受外部环境的信息。
隐藏单元——最终输入到输出单元。每个隐藏单元都是其输入的压缩线性函数。
输出单元——这些信号表示网络应如何响应最近获取的信息。
用神经网络进行监督学习:(吴恩达视频)
监督模型
监督模型是一种学习形式,其从先前标记的训练数据推断出特定功能。它使用监督学习算法,该算法包含一组带有相应标记正确输出的输入。
标记的输入和标记的输出进行比较。鉴于两者之间的差异,您可以计算错误值,然后使用算法来学习输入和输出之间的映射。
这里的最终目标是近似映射函数,如果接收到新的输入数据,则可以预测准确的输出数据。类似于教师监督学习过程,当算法达到令人满意的性能或准确度时,学习过程停止。
神经网络编程的基础知识:
二分分类:计算机保存一张图片,要保存三个独立矩阵。分别对应图片中的红、绿、蓝三个颜色通道。如果输入图片是64×64像素的,就有三个64×64的矩阵,分别对应图片中红、绿、蓝三种像素的宽度。
为了方便表示,这里我用三个小矩阵。它们是5×4,并不是64×64的。要把这些像素亮度值,放进一个特征向量中,就要把这些像素值都提出来,放入一个特征向量x。
为了把这些像素值取出放入特征向量,就要像下面这样定义一个特征向量x,以表示这张图片。我们把所有的像素值都取出来。例如255、231等等,直至列完所有的红色像素。接着是255、134、255、134等等,最后得到一个很长的特征向量,把图像中所有的红、绿、蓝像素强度值都列出来。
如果图片是64×64的话,那么向量x的总维度就是64×64×3。因为这里三个矩阵的元素数量,对于这个例子,数字是12288,把它们乘起来,这就是结果。
我们用nx=12288,来表示输入的特征向量x的维度。有时为了简洁,我会直接用小写的n,来表示输入的特征向量的维度。
在二分分类问题中,目标是训练出一个分类器,它以图片的特征向量x作为输入,预测输出的结果标签y是1还是0。也就是预测图片中是否有猫。
数据结构课设
课设题目:一元多项式计算器
在建立链表时头指针地设立导致了之后运用到相关地指针时没能很好地移动指针出现了数据重复输出或是输出系统缺省值,不能实现算法
可以在原来地基础上改进程序,或者设计一些新地算法,尽量减小时间复杂度和空间复杂度,
也是需要更熟练的使用链表。
链表是一种数据结构,在内存中通过节点记录内存地址而相互链接形成一条链的储存方式。相比数组而言,链表在内存中不需要连续的区域,只需要每一个节点都能够记录下一个节点的内存地址,通过引用进行查找,这样的特点也就造就了链表增删操作时间消耗很小,而查找遍历时间消耗很大的特点。
在我们实现一个链表时,一定要主要引用的使用,如果一旦引用指向空,很可能再也取不到这些数据。因此,如果不缺的自己到底需要几个引用来指向不同的节点来实现不同的需求,可以多创建几个节点。
theHeadPointer头引用,始终指向链表头部,用于遍历链表,在头部增删数据等操作。
theLastPointer 尾引用,始终指向链表尾部,用于在尾部新增数据,同时可以用于删除数据。
theCurrentPointer 当前引用(也称哨兵引用),使用较为灵活,可以在操作数据时作为保险。
