机器学习
*逍遥*
这个作者很懒,什么都没留下…
展开
-
如何使用numpy.random.shuffle同时打乱数据和标签
numpy.random.shuffle():是在在原来数据上进行打乱,所以并且每使用一次,打乱的方式都不同,所以说要让训练数据和标签在打乱之后仍然对应,那么就要设置相同随机数种子,例如:下面展示一些 未设置相同随机数种子时。// A code blocktrain = np.arange(9).reshape(3,3)label = np.arange(9).reshape(3,3)p...原创 2020-03-30 16:33:02 · 4645 阅读 · 4 评论 -
二分类交叉熵损失函数推导及其求导过程
假设函数更为一般的表达式:似然函数:对数似然函数:如果以上式作为目标函数,就需要最大化对数似然函数,我们这里选择最小化负的对数似然函数:对J(w)求极小值,对求导上述求导要用到 π(z)’ = π(z)(1-π(z)),其中π(z)为sigmoid函数(也叫logistic函数),z=w^Tx+b,我们将这些带入求导公式中运算即可得到结果。上述中 xi,j表示第i个样本的第...原创 2020-03-29 15:15:17 · 2517 阅读 · 0 评论 -
怎么理解np.random.seed()?
问题: 利用随机数种子,每次生成的随机数相同。这是什么意思?指的是设置相同的随机数种子时,产生随机数的方式就会相同,例如:np.random.seed(1)print(np.random.randn(10))np.random.seed(1)print(np.random.randn(10))[ 1.62434536 -0.61175641 -0.52817175 -1.0729686...原创 2020-01-26 15:38:52 · 419 阅读 · 0 评论 -
PCA降维后矩阵的意义
PCA 的算法步骤:设有 m 条 n 维数据。将原始数据按列组成 n 行 m 列矩阵 X;将 X 的每一行进行零均值化,即减去这一行的均值;求出协方差矩阵 C = 1/m X X ^T;求出协方差矩阵的特征值及对应的特征向量;将特征向量按对应特征值大小从上到下按行排列成矩阵,取前 k 行组成矩阵 P;Y = PX 即为降维到 k 维后的数据。其中降维后的矩阵Y的每一行可以看...原创 2019-11-20 10:52:29 · 1220 阅读 · 0 评论 -
numpy中的newaxis用法
import numpy as npx = np.array([1,2,3])y = x[:,np.newaxis]z= x[np.newaxis,:]w = x[np.newaxis]print(x.shape,y.shape,z.shape,w.shape)#输出 ((3,), (3, 1), (1, 3), (1, 3))可以看出newaxis用来增加一个维度,新增的维度的...原创 2019-10-13 14:45:15 · 316 阅读 · 0 评论 -
python中使用中括号如何对矩阵操作详解
假设data 是一个矩阵,则有如下表示情况data(x,y) x是行数 y是列数data(:,y)就是指y列对应的所有行的值组成的一个向量data(:,[y1:y2]) 就是指y1到y2列的对应的所有行的值组成的一个矩阵此外 data(:,[y1:y2])与data(:,y1:y2)结果是一样的因为y1:y2 默认为向量例:data=[1 2 34 5 67 8 9];data...原创 2019-10-10 20:24:16 · 2427 阅读 · 0 评论 -
对反向传播的理解
cost(i)代表了神经网络预测样本值的准确程度,即接近真实值的程度。激活项的误差就是cost(i)关于加权和z的偏导数原创 2019-10-03 22:04:46 · 131 阅读 · 0 评论 -
学习曲线(评价学习算法)
学习曲线用于检验你的学习算法是否运行正常(即是否处于高偏差或高方差,或二者均有),或者你想改进你的学习算法。在这里插入图片描述从图像分析::交叉验证集误差曲线和训练集误差曲线很快就接近平稳,且稳定在一个较高的水平。这里出现高偏差,是由于参数过少(项数太少),而训练数据量又太大了。当出现高偏差时,即使增加训练数据也不会有太大作用。从图像分析:交叉验证集误差曲线比训练集误差曲线高很多,...原创 2020-02-10 17:13:01 · 1462 阅读 · 0 评论