神经网络,对学机械的轮胎工程师来讲,简直是神一般的存在。机器学习两个月了,一直没敢动手碰这块,好奇心终于战胜了恐惧,决定尝试一下。
图片来自亿欧网
他是啥?
度娘说:人工神经网络(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中不同的算法对结果影响较大
神经网络还有还有很多其他的算法,等待去学习
领取专属 10元无门槛券
私享最新 技术干货