神经网络就像多项式或者线性模型一样,是个看不见表达式的模型,它的表达式就是网络,它比一般模型具有更高的自由度和弹性;同时它是一个典型的黑箱模型方法;比多项式等模型还黑。优化算法,就是寻优的算法,所谓寻优过程,就是寻找使目标函数最小时(都是统一表示成寻找使函数具有最小值)的自变量的值。回归或者拟合一个模型,例如用一个多项式模型去拟合一组数据,其本质就是寻找使残差平方和最小的参数值,这就是一个寻优的过程,其实就是寻找使函数F(x)值最小时的x的值;对于这个具体的寻找过程就涉及到算法问题,就是如何计算。所谓算法,是数值分析的一个范畴,就是解这问题的方法;例如一个一元二次方程 x^2-3x+1=0的解法,因为简单可以直接求解,也可以用牛顿逐个靠近的方法求解,也即是迭代,慢慢接近真实解,如此下去不断接近真值,要注意迭代算法是涉及算法精度的,这些迭代算法是基于计算机的,算法的初衷也是用近似的算法用一定的精度来接近真实值。 比如上面的方程也可以用遗传算法来解,可以从一些初始值最终迭代到最佳解。神经网络在寻找网络的参数即权值的时候,也有寻找使训练效果最好的过程,这也是寻优的过程,这里涉及到了算法就是所谓的神经网络算法,这和最小二乘算法是一样的道理;例如做响应面的时候,其实就是二次回归,用最小二乘得到二次模型的参数,得到一个函数,求最大产物量就是求函数模型的最大值,怎么算呢?顶点处如果导数为0,这个地方对应的x值就是最优的,二次模型简单可以用偏导数=0来直接解决,这过程也可以遗传算法等来解决。说到底所谓寻优的本质就是,寻找函数极值处对应的自变量的值。
神经网络一般都是做预测的啊,要是做优化得用遗传算法啊
如果想看具体算法就搜个ppt看,最好找本书,如果是想用则只需要学会用matlab神经网络工具包,网络上有该工具包的说明。
单纯人工神经网络好像不能找最优吧