简单的神经网络算法

前些天在慕课网上学了一期的机器学习课程,初步了解了机器学习中的神经网络算法(有点复杂,还需要时间继续学习)
作为一个人工智能和机器学习的初学者,感觉自己还是一个菜鸟,才刚开始入门。但是我发现自己对这块很感兴趣,就一直都有了解这方面的知识。我希望自己研究生的时候可以尝试从事人工智能、机器学习或者大数据方面的研究,这是属于未来的事业。
下面分享一下学到的简单神经网络算法:
因为简单,所以它只有一层。但其实内部原理是极其复杂的。神经网络算法主要是模仿人类大脑及其思维方式的一个算法,有点属于仿生学的范畴。生物电流通过在神经元及突触上的层层传导,从而产生思维,进而引发一系列有目的性的行动。它对近年来的人工智能和机器学习的飞速发展产生了深远的影响!

系列代码如下:
data.py

import pandas as pd
file="/home/zq/PythonProjects/Neural_Networks/Test/iris.data.csv"
df = pd.read_csv(file, header=None)
df.head(1)

iris.data.csv
《简单的神经网络算法》

test.py

import numpy as np
class Perceptron(object):
    """ eta:学习率,处于0和1之间 n_iter:权重向量的训练次数 w_:神经分叉权重向量 errors_:用于记录神经元判断出错次数 """
    def __init__(self, eta=0.01, n_iter=10):
        self.eta = eta;
        self.n_iter=n_iter;
        pass
    def fit(self, X, y):
        """ 输入训练次数,培训神经元,X输入样本向量,y对应样本分类 X:shape[n_samples,n_features] X:[[1,2,3],[4,5,6]],n_samples=2,n_features=3; y:[1,-1] 初始化权重向量为0 加一是因为w0,也就是步调函数阈值 """
        self.w_=np.zero(1+X.shape[1]);
        self.errors_=[]
        for _ in range(self.n_iter) :
            error=0
            for xi,target in zip(X,y):
                """ update=η*(y-y') """
                update = self.eta * (target - self.predict(xi))
                """ xi是一个向量 """
                self.w_[1:] += update*xi
                self.w_[0]+=update;
                error += int(update != 0.0)
                self.errors_.append(error)
                pass
        pass
    def net_input(self ,X) :
        """ z=w0*1+w1*X1+w2*X2......wn*Xn """
        return np.dot(X,self.w_[1:])+self.w_[0]
    pass
    def predict(self,X) :
        return np.where(self.net_input(X)>=0.0,1,-1)
    pass

后面的可视化过程就不详细讲了,要用到一系列的工具和python模块,比如matplotlib.pyplot
这只是一层的神经网络算法,通过大量的数据喂给这个基础模型,在后期可以产生一定的预测结果,效果较为乐观。
通过对人工智能和机器学习的初步学习,首先python这个强大的工具一定要掌握透彻,其次最重要的是要有很好的数学基础,比如高数,概率论,统计学基础等,因为这个领域涉及到大量的数学公式的推导和证明。活跃的数学思维和专业思维是学好AI的关键。
作为这个领域的初学者,还有很多地方不懂,上文都是个人见解,如有错误和不足,还希望大家多多指正。未来属于AI和Big Data!

    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/CowBoySoBusy/article/details/80470634
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞