大白话5分钟带你走进人工智能-第38节神经网络之TensorFlow利用梯度下降法求解最优解(6)
先看一个传统方法手动实现线性回归和MSE损失函数的方案: import tensorflow as tf import numpy as np from sklearn.datasets import fetch_california_housing from sklearn.preprocessing import StandardScaler #多元线性回归是一个凸函数 ,所以能找到全局最优解 #神经网络只有局部最优解 n_epochs = 1000#把样本集数据学习1000次 learning_rate = 0.01 #步长 学习率 不能太大 太大容易来回震荡 太小 耗时间,跳不出局部最优解 #可以写learn_rate动态变化,随着迭代次数越来越大 ,学习率越来越小 learning_rate/n_epoches housing = fetch_california_housing() m, n = housing.data.shape housing_data_plus_bias = np.c_[np.ones((m, 1)), housing.data] # 可以使用TensorFlow或者Numpy或者sklearn的StandardScaler去进行归一化 #归一化可以最快的找到最优解 #常用的归一化方式: # 最大最小值归一化 (x-min)/(max-min)