神经网络,对学机械的轮胎工程师来讲,简直是神一般的存在。机器学习两个月了,一直没敢动手碰这块,好奇心终于战胜了恐惧,决定尝试一下。

图片来自亿欧网
他是啥?
度娘说:人工神经网络(Artificial Neural Network,即ANN ),从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。
简单讲就是利用计算机语言模拟人类大脑做决定的过程。
他能干啥?
太多了,写诗,画画,刷脸,看病,下棋,开车。。。当然还有最简单的应用---做回归模型预测。
怎么干?
太复杂,还是从简单的例子说起(复杂的不会,哼),用多层感知机来做回归运算,从sklearn中调用MLPRegressor。这种算法对数据非常敏感,需要进行标准化,调用StandardScaler

调用MLPRegressor进行建模,并对测试集数据进行预测,输出各隐藏层权重及系数:

MLPRegressor的参数可以通过《Python机器学习(六)-XGBoost调参》中用到的GridSearchCV进行调参。其中
Solver即所用到的算法
SGD:随机梯度下降
Adam:优化的SGD
Lbfgs:Hessian矩阵(二阶偏导)的逆来更新参数
Alpha:正则化L2,惩罚大数量级的权重,避免过拟合。
hidden_layer_sizes(9,9)表示有两层隐藏层,每层有9个神经元。
初次尝试,对神经网络有了浅浅的理解,总结如下
数据对归一化非常敏感,必须进行标准化
Solver中不同的算法对结果影响较大
神经网络还有还有很多其他的算法,等待去学习
code/s?__biz=MzI2ODY5NjI2Mg==&mid=2247483765&idx=1&sn=9ef174b425c0fe7c5c2ff4e18454df09&chksm=eaeaeedcdd9d67cad33a7fd9da71d05e2d8c6fe0fc1573135d0224b6c3146d3887f1738bff48#rd