机器学习
文章平均质量分 81
dawningblue
这个作者很懒,什么都没留下…
展开
-
在工程实践中可以用 “1- 余弦相似度”来代替 欧式距离
我们知道 1- cos(x,y) = 12L2\frac{1}{2} L^221L2,而 12L2\frac{1}{2} L^221L2 和 LLL的关系是12L2\frac{1}{2} L^221L2是LLL的单调函数。或者说12L2\frac{1}{2} L^221L2和LLL的单调性是一样的。LLL增大的时候,12L2\frac{1}{2} L^221L2也会增大;LLL减小的时候,12L2\frac{1}{2} L^221L2也会减小。其实我们在应用的过程中,并不关系欧式距离的具体值是原创 2021-05-18 12:01:15 · 230 阅读 · 0 评论 -
Optimization 课程笔记翻译
Table of Contents:IntroductionVisualizing the loss functionOptimizationStrategy #1: Random SearchStrategy #2: Random Local SearchStrategy #3: Following the gradientComputing the gradientNumer...翻译 2019-09-12 17:32:11 · 680 阅读 · 0 评论 -
Nesterov动量更新方法理解要点
为了解释Nesterov动量更新的原理,我们从速度更新表达式开始说起。v = mu * v - learning_rate * dx (为了说明下面的推论还是需要一些前提的,为了不影响整体感,把这些放到本小节的后面)其实这个式子背后提现了这样一个原理:下一时刻的速度应该由 「当前的速度」以及「质点因受力产生的速度变化」两部分共同构成。式子的前一部分( mu * v)代表质点当前的速度状...原创 2019-04-24 10:24:31 · 3204 阅读 · 0 评论 -
关于动量更新的概括
一下是看CS231n后自己总结的笔记动量更新 是另一种在深度学习过程中经常能获得不错收敛率的学习方法。这个方法的灵盖来自物理学(我就意译了),想象优化空间如同一个延绵起伏不断延伸的丘陵地带,优化过程类似于把一个小球轻轻地放在这个地带任何一个位置,让它自然运动直到停止,一般来说,当它停下来的时候这个小球肯定是在某一个最低点,不一定是全局最低点,但是一定是局部的最低点。我们把损失函数类比这个小球的...原创 2019-04-24 10:22:04 · 3022 阅读 · 0 评论 -
两种反向传播理解思路的统一
在我学习反向传播算法的时候,我接触了两种不同类型的阐述方式,一种是Michael Nielsen和Andrew Ng的(以下简称N2),他们的推导过程几乎一样。另一种是CS231n中基于链式法则的。这两个虽然我都明白,但是总觉得好像差别有点大,或者说既然他们说的是一个东西,那么肯定能在某一种层次上它们说的能统一在一起。为了寻找它们的统一,下面是我的一些思考。先从“反向传播”这个名字说起“反向传...原创 2019-04-04 15:03:27 · 394 阅读 · 0 评论 -
Coursra-MachineLearning 第四次作业总结
1. 神经网络训练算法(coursera版)整体描述1.1 不同点1——代价函数的形式不同参考下面的2.3.11.2 不同点2——最后一层的误差表示方式不同这里为了简化输出层的误差就用样本的值和输出值相减得到,其实比较严谨的计算方法是样本值和输出值相减后再乘以输出层的偏导数。 参考我之前写的两篇文章中的公式推导。 反向传播算法的理解(Nielsen版) 反向传播算法(UF...原创 2018-04-12 18:07:52 · 2107 阅读 · 0 评论 -
《推荐系统调研报告即综述》粗略笔记
1. 为什么需要推荐系统我觉得商人嘛,就是要不断让客户买自己的东西,TA喜欢什么我就给TA什么。 包括现在网站也是,都是要尽量的留住用户,占用这个用户的时间,比如今日头条或者内涵段子之类的其实这个思路自古有之,只是那个时候就是商人自己完成这个事情,现在大规模的交易在线上完成,自然我们就需要把这种功能利用机器的方式来实现,用机器的方式来实现推荐系统的功能就是2. 都什么地方需要推荐...原创 2018-04-18 11:39:09 · 1196 阅读 · 0 评论 -
反向传播算法(UFLDL版)
1. UFDL中的一些术语nln_l表示输出层的层数(数量),用L2L_2表示第二层,L3L_3表示第三层,LnlL_{n_l}表示输出层。无论是Nielsen版还是,coursera版都是用“L”表示神经网络的层数(总层数) 小写的ll经常来表示层数,大写的LL加角标经常表示第几层,SlS_l表示第l层神经元的个数。b(l)ib^{(l)}_i表示第l+1l+1层的第ii个神经元上的...原创 2018-01-10 21:02:19 · 1122 阅读 · 0 评论 -
“分类”这种解决问题的思想在机器学习领域中有多重要
大多数与“智能”有点关系的问题,都可以归结为一个在多维空间进行模式分类的问题。而人工神经网络所擅长的正是模式分类。我写这篇文章主要就是受到这句话的启发,我现在才体会到机器学习的两个基本问题“回归(预测)与“分类”这两个基本问题的价值。原来看似很复杂的问题最终都可以化解为这两个基本问题的组合。下面我就从简单的例子开始谈谈我对于“分类”这概念的理解。1 一个特征的情况其实我们在日常中就在自觉或者不自觉原创 2017-12-20 11:49:58 · 1756 阅读 · 0 评论 -
反向传播算法的理解(Nielsen版)
在学习standford大学机器学习在coursera上的公开课中,对于其中讲授的神经网络的反向传播算法不是很清楚,经过网上查找资料,觉得Michael Nielsen的「Neural Networks and Deep Learning」中的解释特别清楚,于是这份材料为主经过学习,现在说一下我的理解。记忆BP算法的核心要素Nielsen版的反向传播算法大概有这么三个要素 * 两个假设原创 2017-11-22 16:19:08 · 4400 阅读 · 2 评论 -
Coursra-MachineLearning 第二次作业总结
Logistic Regression1.1 Visualizing the data我们的目标是根据ex2data1里面的数据,把被接受入学的数据和被拒绝入学的数据都标注在一张坐标图上。 为了表示区分,接受入学的样本在图上用“黑色小十字”来表示,而拒绝入学的样本在图上用“黄色小圆点”来表示。 如果要做这个事情,第一步就是要把混杂在一起的数据分成两堆。y=1的为一堆,y=0的为一堆。难点1 f原创 2017-09-30 16:27:30 · 577 阅读 · 0 评论 -
Coursra-MachineLearning 第一次作业总结
语法上与Python有类似的地方变量的声明没有独立,变量的声明和使用是同时的类似动态语言,所见即所得,命令行式以及文件式,这点是不是和R有点相似脚本之间关系,是不是也有不同的命名空间,这次的作业其实是一个大脚本串起来的 这次必完成的作业是一元线性回归的作业,ex1虽然是一个大脚本,但是其实它的目的也很单一就是把一组数据利用一元线性回归的方式找到模型并且把其中的过程图画出来。目标完成其实是分成原创 2017-09-07 19:53:03 · 659 阅读 · 0 评论 -
利用梯度下降的方式求线性回归中参数的一些经验总结
这个是coursera里的machine learning课程的作业,在用matlab实现的过程中我总结了一些经验 1. 梯度下降也分成两个部分,一个是cost function的实现,一个是θ\theta的实现 2. 这里要尽量采用向量的计算方法,注意向量的计算方法不是矩阵的计算方法,总结一下向量的计算技巧,什么情况下可以一气计算,什么情况下不行,只能循环计算。微批量处理 matlab的优势原创 2017-08-30 17:12:25 · 1242 阅读 · 0 评论