机器学习
Linky1990
这个作者很懒,什么都没留下…
展开
-
损失函数 Loss、梯度 grad、参数 ω 和 学习率 lr 之间的关系
举一个最简单的函数 y=x2y = x^2y=x2,梯度为 g(x)=∂y∂x=2xg(x) = \frac{\partial{y}}{\partial{x}} = 2xg(x)=∂x∂y=2x。设学习率为 lrlrlr,那么更新一次梯度后为:x1=x0−lr∗g(x0)=x0−lr∗2x0=(1−2∗lr)x0x_1 = x_0 - lr * g(x_0) = x_0 - lr * 2x_0 = (1 - 2 * lr)x_0x1=x0−lr∗g(x0)=x0−lr∗2x0=(1−2∗lr原创 2020-06-17 17:10:38 · 11075 阅读 · 4 评论 -
pytorch Conv2d 的宽高公式理解
pytorch 的二维卷积 torch.Conv2d,宽高计算公式如下所示(假设宽高相同,这里只讨论宽的公式,高的公式类似):Wout=Win+2×padding−dilation×(kernelsize−1)−1stride+1W_{out} = \frac{W_{in} + 2 \times \mathrm{padding} - \mathrm{dilation} \times (\mathrm{kernelsize}-1)-1}{\mathrm{stride}} + 1Wout=strideW原创 2020-06-04 16:35:36 · 1900 阅读 · 0 评论 -
torch flatten 的理解
torch.flatten(t, start_dim=0, end_dim=-1) 的实现原理如下。假设类型为 torch.tensor 的张量 t 的形状如下所示:(2,4,3,5,6),则 orch.flatten(t, 1, 3).shape 的结果为 (2, 60, 6)。将索引为 start_dim 和 end_dim 之间(包括该位置)的数量相乘,其余位置不变。因为默认 start_dim=0,end_dim=-1,所以 torch.flatten(t) 返回只有一维的数据。...原创 2020-05-19 17:45:48 · 24417 阅读 · 1 评论 -
无监督学习 之 高斯混合模型
假设:每个类都服从特定的统计分布高斯混合模型:一个模型,包含多个高斯分布混合在一起每个样本 都属于 现有的类,但是隶属度不同GMM 期望最大化算法1、初始化 kkk 个高斯分布 (默认 k-means) 给 kkk 个高斯分布赋予均值 μ\muμ 和方差 σ2\sigma^2σ22、软聚类 计算每个点对于每个类的隶属度E[Z1A]=N(Xi∣μA,σA2)N(Xi∣μA,σA2)+N(Xi∣μB,σB2)E[Z_1A]=\frac{N(X_i|\mu_A,\sigma_A^2)}{N原创 2020-05-11 11:02:45 · 901 阅读 · 0 评论 -
层次聚类法与密度聚类
一、层次聚类 - 单连接聚类(Single Link)Step:1、假设每个点是一个类(1,2,3,4,5,6,7,8)2、计算每个类两两之间的距离3、距离最短的类,合并为同一个类,如果类中有多个,根据不同层次算法选择的距离不同层次聚类算法距离计算sklearn单连接(Single Link)类间最短元素间的距离全连接(Complete Link)类间最远元素间的距离complete平均连接(Average Link)类间两两距离的平均值average原创 2020-05-11 10:43:45 · 831 阅读 · 0 评论 -
为什么 softmax 函数面对二分类问题时可以简化为 sigmoid 函数
将 二分类问题当成普通多分类问题,神经网络如下所示因为有两个分类,所以需要有两个输出,然后经过 softmax 后得到每个分类的预测概率。假设第一个分类的得分 S1=W1X+b1S_1=W_1X+b_1S1=W1X+b1,第二个分类得分 S2=W1X+b2S_2=W_1X+b_2S2=W1X+b2,则经过 softmax 层后得到 第一个分类的概率为P1=eS1eS1+eS2...原创 2020-04-26 17:48:37 · 1774 阅读 · 0 评论 -
为什么 Wx+b=0 和 Wx+b=1 之间的距离是 W 的模的倒数?
证明如下两条线的间隔为 1∣W∣\frac{1}{|W|}∣W∣11、同时移动两条直线,对结果的求解没有影响,所以可以将直线 Wx+b=0Wx+b=0Wx+b=0 移动到经过原点2、因为 Wx=0Wx=0Wx=0,所以直线上的点 x=a[−w2w1],a∈Rx=a\begin{bmatrix} -w_2\\w_1\end{bmatrix}, a \in \mathbb{R}x=a[−w...原创 2020-04-16 21:29:46 · 645 阅读 · 0 评论 -
机器学习 模型复杂度曲线 和 学习曲线
模型的评估和选择控制变量法,EEE ∝\propto∝ 模型、数据量,其中 EEE 表示误差,一般转化为得分 Score, 0≤0 \leq0≤ Score ≤1\leq 1≤1EEE 和 MMM、DDD 这两个变量都有关复杂度曲线,E∝D0ME \propto D_0ME∝D0M,其中 D0D_0D0 表示 相同数据学习曲线,E∝M0DE \propto M_0DE∝M0D,其中 ...原创 2020-04-15 11:20:13 · 865 阅读 · 0 评论 -
numpy 点积 ValueError: shapes (3,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)
numpy 矩阵点积时,经常遇到这样的错误:ValueError: shapes (3,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)这表示点积左边的矩阵维度(dim) 是 3 * 2 的,而右边的数组有 3 个元素,2 != 3,于是报错。这时可以将右边的数组移到点积的左边,于是变成了 3 个元素的数组和 3 * 2 的矩阵的点击,此时 3 ...原创 2020-03-06 11:09:13 · 20930 阅读 · 0 评论 -
tensorflow constant placeholder feed_dictVariable
tf.constanttf.constant() 返回的 tensor 是一个常量,因为这个 tensor 的值不会变tf.placeholder 和 feed_dicttf.placeholder 用于将普通类型,转化为 tensor 类型feed_dict 表示投喂字典,格式为 {tensor_type: value},其中 tensor_type 表示 tensor 类型,valu...原创 2020-03-06 09:26:45 · 133 阅读 · 0 评论 -
numpy 中 (n,)数组与(n,1)数组的互转
参考: https://www.jianshu.com/p/2adbf3a44a95reshape进行维度的转换a = np.array([1,2,3])print(a.shape)(3,)b = a.reshape(-1,1)print(b.shape)(3, 1)把shape中为1的维度去掉a = np.array([[1],[2],[3]])print(a.shape...原创 2020-03-05 10:51:46 · 14066 阅读 · 1 评论 -
注意力机制
注意力机制:编码器 和 解码器编码器编码器如下所示,输入 先经过 嵌入层 转化为输入向量,然后在每个时间步产生一个隐藏状态,最后将每个时间步生成的向量,组合成一个矩阵 H,传入解码器解码器对于每个时间步,需要计算出 注意力语境向量(Context Vector),步骤如下:第一步,计算 Score,输入 编码器中得到的 隐藏状态矩阵 HHH(假设维度为 m * 3),输出 对应每个隐藏...原创 2019-12-16 18:05:20 · 769 阅读 · 0 评论 -
神经网络优化技巧
神经网络的问题:一、过拟合优化方法:早期停止正则化(L1 和 L2)Dropout,在每个 epoch 中随机关闭一些节点二、局部最优优化方法:随机重新开始动量,β,0<β<1\beta,0 <\beta<1β,0<β<1第 n 步步长,step(n) := step(n) + β\betaβstep(n...原创 2019-09-12 11:18:07 · 232 阅读 · 0 评论 -
分类问题的误差函数
二分类问题从特征 features 到目标 target 的预测,由于每个特征对结果的影响程度不同,所以可以给每个特征 feature 配备一个权重系数 weight,为了修正整体偏差,可以给最终结果配备一个偏差系数 bias,于是有 wx+bwx + bwx+b。对于分类问题,我们将上述结果再经过一个 sigmoid 函数,于是有 σ(wx+b)\sigma(wx + b)σ(wx+b),这便...原创 2019-07-22 14:15:34 · 1806 阅读 · 0 评论 -
Sigmoid 函数的求导过程
Sigmoid 函数的公式如下:σ(x)=11+e−x\sigma(x) = \frac{1}{1 + e^{-x}}σ(x)=1+e−x1求导过程如下,使用链式法则之前,先一步一步查看从 xxx 到 σ(x)\sigma(x)σ(x)的过程:F:x→−x→e−x→1+e−x→(1+e−x)−1F : x\rightarrow-x \rightarrow e^{-x} \rightar...原创 2019-07-19 15:19:05 · 19393 阅读 · 1 评论 -
对于 Gradient、Boosting、GBDT 的理解
Gradient 表示 梯度,比如著名的梯度下降算法,就叫做 Gradient Descent 。梯度的意思是什么呢?为什么叫 梯度下降。“到目前为止,我们的确没有用到求导的 Gradient”1,由此可见,Gradient 通常和求导联系在一起,而求导的目的,是寻找到下降最快的方向。所以梯度的意思,是指收敛速度最快的方向。Boosting,维基百科的解释是:“is a machine lear...原创 2019-07-16 18:19:59 · 504 阅读 · 0 评论 -
转载: DT 和 CART 分类树
一、CART分类与回归树Classification And Regression Tree(CART)是决策树的一种,并且是非常重要的决策树,属于Top Ten Machine Learning Algorithm。顾名思义,CART算法既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree)、模型树(Model Tree),两者在...转载 2019-07-16 17:41:32 · 692 阅读 · 0 评论 -
Udacity 人工智能编程基础 - 课程目录
Python 入门1、为何学习 Python 2、数据类型和运算符3、控制流4、函数5、脚本编写6、Anaconda7、Jupyter Notebooks8、项目0:我的微信好友 https://github.com/udacity/AIPND-cn-trial9、Lab:分类图像 https://github.com/udacity/AIPND/tree/master/in...原创 2019-01-30 15:25:08 · 1218 阅读 · 0 评论