
机器学习
zhouzhou0929
这个作者很懒,什么都没留下…
展开
-
单层神经网络梯度下降
import numpy as np# 定义softmax函数,softmax:输出0-1之间的数,其和为1,可以用来表征判定是某个类别的概率def softmax(x): # x为一维数据时 if x.ndim == 1: return np.exp(x-np.max(x))/np.sum(np.exp(x-np.max(x))) # x为二维数据时 elif x.ndim == 2: val_num = np.ze原创 2020-08-05 03:32:56 · 338 阅读 · 0 评论 -
python实现softmax函数
import numpy as np# 定义softmax函数,softmax:输出0-1之间的数,其和为1,可以用来表征判定是某个类别的概率def softmax(x): # x为一维数据时 if x.ndim == 1: return np.exp(x-np.max(x))/np.sum(np.exp(x-np.max(x))) # x为二维数据时 elif x.ndim == 2: val_num = np.ze原创 2020-08-04 07:50:38 · 1593 阅读 · 0 评论 -
python-梯度下降法求函数极小值
import numpy as np# 定义func2函数def func2(x): return x[0]**2 + x[1]**2# 求func2函数在点[3.0, 4.0]处的梯度def numerical_diff(f, x): h = 1e-4 grap = np.zeros_like(x) for idx in range(x.size): tmp_val = x[idx] x[idx] = tmp_val + h原创 2020-08-04 03:27:08 · 3435 阅读 · 0 评论 -
学习曲线
# 画出模型在训练集和验证集上,关于训练集大小的性能函数(采用均方误差)# 1.导入需要使用的包from sklearn.metrics import mean_squared_errorfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as pltimport numpy as np# 2原创 2020-07-26 23:52:53 · 168 阅读 · 0 评论 -
多项式回归
import numpy as npfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as pltm = 100X = 6 * np.random.rand(m, 1) - 3y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)plf = Polyno原创 2020-07-26 23:09:03 · 98 阅读 · 0 评论 -
随机梯度下降
import numpy as np# 设定x,y对应的值,即二维空间对应的100个点x = np.random.rand(100, 1)y = 4 + (3*x) + (0.2 * np.random.rand(100, 1))m = 100# 对每一行添加x0=1x_b = np.c_[np.ones(shape=(100, 1)), x]# 设定迭代次数n_iteration = 200# 设定学习率函数def learning_scheture(t): retur原创 2020-07-26 19:05:43 · 162 阅读 · 0 评论 -
梯度下降-python实现
import numpy as np# 设定x,y对应的值,即二维空间对应的100个点x = np.random.rand(100, 1)y = 4 + (3*x) + (0.2 * np.random.rand(100, 1))# 对每一行添加x0=1x_b = np.c_[np.ones(shape=(100, 1)), x]# 设定步长eta = 0.1# 设定迭代次数n_iteration = 1000# 利用迭代求解成本函数最小时的theta值# 设定任意初始theta值,原创 2020-07-26 00:37:21 · 174 阅读 · 0 评论