机器学习算法
文章平均质量分 95
Albert_YuHan
bytedancer
展开
-
机器学习基础 - [第七章:应用机器学习的建议](3)模型选择与训练、验证、测试集
1、什么情况下需要验证集?由前一篇文章我们可以知道,当假设函数确定之后,我们在对假设函数进行评估时只需要经过训练和测试两个步骤即可,数据集也只需要测试集和训练集。但是,当我们假设函数不确定,有多个假设函数(模型)可以选择的时候,我们就需要通过验证集来进行模型的筛选。这是为什么呢?为什么不能直接根据模型在测试集的表现进行模型的选择呢?其实,主要时因为测试集的主要作用是评估模型的泛化误差,如果在...原创 2019-07-09 12:00:00 · 437 阅读 · 0 评论 -
机器学习基础 - [第七章:应用机器学习的建议](2)假设函数的评估
1、如何评估我们的假设函数?在评估我们的模型(假设函数)时,一般需要经过两个步骤,先是训练,然后是测试,即:(1)先在训练集上学习到参数θ\thetaθ(通过最小化训练误差J(θ)J(\theta)J(θ));(2)然后计算测试集上的误差;线性回归模型的训练/测试过程;逻辑回归模型的训练/测试过程:2、训练集和测试集的划分一般来说,训练集与测试集按7:3的比例进行划分:...原创 2019-07-09 11:22:27 · 173 阅读 · 0 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](6)训练一个神经网络
1、神经网络架构的选择神经网路输入层的单元数是特征的维度,输出层的单元数是类别的数量。比较合理的神经网络架构是:(1)只有一个隐藏层;(2)如果隐藏层大于1,那么每层的单元数最好相等,并且越多越好。2、如何训练一个神经网络?训练一个神经网络的步骤如下:(1)随机初始化权重;(2)对每一个输入样本x(i)x^{(i)}x(i),执行前向传播,得到x(i)x^{(i)}x(i)的假...原创 2019-07-02 22:45:52 · 144 阅读 · 0 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](5)参数的随机初始化
1、参数初始化为相同的值会怎样?假设将所有的参数都初始化为0(或者相同的值),那么神经网络中的每个单元都会输出相同的激活值,同样也会有相同的误差值,这就会导致代价函数对各个参数的偏导数也相同,最终使用优化算法在增新参数后,所有的参数仍然相等,造成参数对称问题。2、如何解决参数对称问题?最好的解决办法是随机初始化参数。...原创 2019-07-02 22:26:04 · 925 阅读 · 0 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](4)梯度检测
1、梯度的数值估计在代价函数随参数变化的曲线中,我们可以采用下面的方法来估计代价函数在各个参数上的偏导:接着,就是使用后向传播算法计算参数的梯度向量DVec,然后看估计值gradApprox是否和参数梯度向量DVec相似,如果是,则后向传播算法工作正常。注意,在训练之前最好应该关闭梯度检测,否则计算量会很大。...原创 2019-07-02 22:09:31 · 274 阅读 · 3 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](3)将参数矩阵展开成向量
1、高级优化输入参数theta,代价函数costFunction能够得到对应的损失值jval以及各个参数上的梯度值gradient。fminunc负责对这个代价函数进行优化。假设神经网络有4层,那么网络的参数theta就是3个矩阵Θ(1),Θ(2),Θ(3)\Theta^{(1)},\Theta^{(2)},\Theta^{(3)}Θ(1),Θ(2),Θ(3),经过costFunction计算...原创 2019-07-02 21:42:12 · 315 阅读 · 0 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](2)后向传播算法
1、梯度计算在最小化神经网络的代价函数时,我们可以采用之前的提到的任意一种优化算法,比如梯度下降。而使用这些优化算法最重要的就是计算代价函数对于各个参数的偏导项∂J(Θ)∂Θij(l)\frac{\partial J(\Theta)}{\partial{\Theta^{(l)}_{ij}}}∂Θij(l)∂J(Θ)。接下来我们看看后向传播算法是怎么计算这些偏导项的。(1)给定一个训练样本(...原创 2019-07-02 20:54:00 · 327 阅读 · 0 评论 -
机器学习基础 - [第6章:神经网络参数的反向传播算法](1)代价函数
1、全连接的神经网络结构2、多分类神经网络的代价函数J(Θ)=∑i=1m∑k=1Kyk(i)log(hΘ(x(i)))k+(1−yk(i))log(1−(hΘ(x(i)))k)+12m∑l=1L−1∑i=1sl∑j=1sl+1Θji(l)J(\Theta)=\sum_{i=1}^{m}\sum_{k=1}^{K}y^{(i)}_{k}log(h_{\Theta}(x^{(i)}))_{k}+...原创 2019-07-02 16:46:12 · 136 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](6)使用逻辑回归解决多分类问题
1、如何使用逻辑回归解决多分类问题?我们知道,逻辑回归只能解决二分类问题,即y={0,1}y=\{0,1\}y={0,1},当遇到多分类问题(下图1是多分类问题的一些实例),即y的取值超过2时,比如y={0,1,2,3}y=\{0,1,2,3\}y={0,1,2,3}我们应该解决这种问题呢?2、one vs all 思想当遇到多分类问题时,我们可以使用一对多的思想来解决。一对多思想是指将...原创 2019-06-04 17:21:29 · 1162 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](5)其他的一些高级优化算法
原创 2019-06-04 16:43:52 · 152 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](4)逻辑回归模型的代价函数简化表示与梯度下降
1、多个训练样本的代价函数简化表示前一篇文章中,我们我们已经知道了单训练样本cost(hθ(x),y)cost(h_{\theta}(x),y)cost(hθ(x),y)的分段表示,实际上,它还可以写成更紧凑的形式:cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))cost(h_{\theta}(x),y)=-ylog(h_{\theta}(x))-(1...原创 2019-06-04 16:31:17 · 215 阅读 · 0 评论 -
机器学习基础 - [第七章:应用机器学习的建议](4)诊断模型的偏差与方差
1、高偏差与低方差当我们的模型无法很好的拟合数据时,我们称模型有比较高的偏差(也叫欠拟合);当我们的模型过度拟合数据时,我们称模型有较低的偏差(也叫过拟合)2、如何看出模型是过拟合还是欠拟合?我们可以通过观察模型在训练集上误差Jtrain(θ)J_{train}(\theta)Jtrain(θ)和验证集(或者测试集)上误差Jcv(θ)J_{cv}(\theta)Jcv(θ)的相对大小...原创 2019-07-09 12:33:34 · 141 阅读 · 0 评论 -
机器学习基础 - [第七章:应用机器学习的建议](5)正则化与偏差和方差的关系
1、正则化与偏差和方差的关系我们在之前的文章中提到过,正则项可以帮助防止过拟合,那么它具体是怎么实现的呢?实际上,正则项的目的是为了对参数的惩罚,如果惩罚的比较狠,即正则化系数比较大的时候,所有的参数都基本上接近0,此时的假设函数就是一个常数,明显会出现欠拟合的情况;如果正则化系数比较小,那么假设函数就会过度拟合数据集。所以,欠拟合时需要减小正则化系数,过拟合时需要增大正则化系数。2、如何...原创 2019-07-09 12:52:33 · 673 阅读 · 3 评论 -
机器学习面试总结 - [集成学习概述]
1、集成学习概述集成学习是一种机器学习范式,它通过训练多个弱学习器,然后使用一定的结合策略,将这些弱学习器组合起来,最终就可以形成强学习器,获得更好的性能。2、集成学习之弱学习器(基本模型)在大多数情况下,弱学习器本身的性能并不是非常好,要么是因为它们具有较高3、集成学习之常用框架(元算法)4、集成学习之结合策略...原创 2019-07-21 15:27:16 · 313 阅读 · 0 评论 -
机器学习基础 - [第七章:应用机器学习的建议](1)机器学习模型的诊断
1、模型调试时可尝试的方向假设你已经实现了一个正则化的线性回归模型,但是当你使用你的假设函数在新的数据集上进行预测时,你发现模型预测的误差非常大,这个时候,你可以进行尝试的方向有:(1)获得更多的训练样本;(2)增加多项式特征;(3)尝试更少的特征集合(减少特征);(4)尝试更多的特征(增加特征);(5)增加正则化系数λ\lambdaλ;(6)减小正则化系数λ\lambdaλ;...原创 2019-07-09 11:05:26 · 193 阅读 · 0 评论 -
机器学习基础 - [第八章:机器学习系统设计](3)查准率和召回率的均衡
1、逻辑回归模型的查准率和召回率逻辑回归模型的输出在0-1之间,表示预测为1的概率。在设置不同阈值的情况下,查准率和召回率的情况也不同。如果阈值设置得较大,那么会得到高查准率,低召回率;如果阈值设置得较小,那么会得到低查准率,高召回率。2、F1-score当不同模型(算法)在同一数据集上得到不同的查准率和召回率,我们如何选择最佳的模型呢?我们可以采用F1-score来选择最佳的模型,F...原创 2019-07-09 20:08:44 · 211 阅读 · 0 评论 -
机器学习基础 - [第八章:机器学习系统设计](2)倾斜类的误差评估
1、在倾斜类上使用分类准确率/或分类误差的问题。如下面的癌症分类示例,当测试集上只有0.5%的病人是癌症患者时,我们使用训练好的模型可以在测试集上得到99%的准确率(1%的错误率),即模型预测大多数的患者是没有癌症的,明显这种测试结果是不可信的,因为正类的数量太少了,这种正负类示例不均衡的情况称之为倾斜类。2、倾斜类的误差评估当某个类的样本数量比较少的时候,我们评估模型就不能再使用分类准确...原创 2019-07-09 17:44:36 · 251 阅读 · 0 评论 -
机器学习基础 - [第八章:机器学习系统设计](1)误差分析
1、机器学习系统设计的一些建议在设计机器学习系统时,一般建议:(1)先使用一个简单的模型,然后在交叉验证集上测试它的表现;(2)可以画出学习曲线来决定我们是否需要更多的数据,更多的特征;(3)误差分析。手动检查在验证集中算法分类错误的那些实例,观察它们有什么样的特征和规律,找出它们被分类错误的原因,然后重新设计特征;2、错误分析手动检查算法在验证集上分类错误的实例,对它们进行总结归纳...原创 2019-07-09 17:10:32 · 230 阅读 · 0 评论 -
机器学习基础 - [第七章:应用机器学习的建议](6)学习曲线
1、什么是学习曲线?学习曲线是指训练集误差和验证集误差随训练集大小的变化曲线,即选用不同数量样本训练得到模型对应的训练集误差和验证集误差,2、欠拟合与过拟合下的学习曲线(1)当模型遭遇欠拟合时,随着训练集大小的增加,验证误差和训练误差...原创 2019-07-09 13:19:16 · 304 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](3)逻辑回归模型的代价函数
1、均方误差函数为什么不能作为逻辑回归的代价函数?我们已知线性回归模型的代价函数为为均方误差函数,如果只有单个训练样本,其代价函数也可以写成:cost(hθ(x),y)=12(hθ(x)−y)2cost(h_{\theta}(x),y)=\frac{1}{2}(h_{\theta}(x) - y)^{2}cost(hθ(x),y)=21(hθ(x)−y)2由于把hθ(x)=11+e−θ...原创 2019-06-04 15:59:51 · 360 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](2)逻辑回归模型的决策边界
1、假设函数的性质假设在分类问题中,当hθ(x)≥0.5h_{\theta}(x)\ge0.5hθ(x)≥0.5时,预测的标签y′=1y^{'}=1y′=1;当hθ(x)<0.5h_{\theta}(x)<0.5hθ(x)<0.5时,y′=0y^{'}=0y′=0根据逻辑函数g(z)=h(θTx)g(z)=h(\the...原创 2019-06-04 15:11:05 · 607 阅读 · 0 评论 -
机器学习基础 - [第四章:正则化](4)逻辑回归的正则化
1、正则化的逻辑回归(1)未正则化的逻辑回归的代价函数:J(θ)=−1m∑i=1m[y(i)log(hθ(x(i))+(1−y(i))log(1−hθ(x(i)))]J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}[y^{(i)}log(h_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))]J(θ)=−m1...原创 2019-06-08 20:48:07 · 338 阅读 · 0 评论 -
机器学习基础 - [第四章:正则化](3)线性回归的正则化
1、正则化的线性回归线性回归模型的代价函数J(θ)J(\theta)J(θ)一般采用均方误差,即:12m[∑i=1m(hθ(x(i))−y(i))2]\frac{1}{2m}[\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}]2m1[i=1∑m(hθ(x(i))−y(i))2]而正则化的线性回归就是在线性回归的代价函数中加入正则项,所以其代...原创 2019-06-08 20:27:08 · 472 阅读 · 2 评论 -
机器学习基础 - [第四章:正则化](2)带有正则项的代价函数
1、正则化的直观感受机器学习基础 - [第四章:正则化](1)过拟合问题一文中我们解释了过拟合的问题,下图右半部分的带有高阶多项式特征的假设函数hθ=θ0+θ1x+θ2x2+θ3x3+θ4x4h_{\theta}=\theta_{0}+\theta_{1}x+\theta_{2}x^{2}+\theta_{3}x^{3}+\theta_{4}x^{4}hθ=θ0+θ1x+θ2x2+θ3...原创 2019-06-08 18:14:46 · 941 阅读 · 0 评论 -
机器学习基础 - [第四章:正则化](1)过拟合问题
1、什么是过拟合?过拟合问题:由于我们有大量的特征,学习到的假设函数能够很好的拟合训练集(即代价函数能最小化到趋近0:minimizeθJ(θ)→0minimize_{\theta}J(\theta)\rightarrow0minimizeθJ(θ)→0),但是假设函数却很难泛化新样本。下面两个图分别是线性回归和逻辑回归针对同一个数据集的三个不同假设函数,从图中可以看出,第一个假设函数对数据...原创 2019-06-08 11:31:35 · 212 阅读 · 0 评论 -
机器学习基础 - [第一章:单变量线性回归](5)梯度下降算法(参数学习方法)
由上一篇文章我们知道,当J(θ0,θ1)J(\theta_{0},\theta_{1})J(θ0,θ1)最小时,参数(θ0,θ1)(\theta_{0},\theta_{1})(θ0,θ1)所构成的假设函数hθ=θ0+θ1xh_{\theta}=\theta_{0}+\theta_{1}xhθ=θ0+θ1x最能够拟合样本数据.我们以θ0\theta_{0}θ0为x轴,θ1\the...原创 2019-03-22 22:38:29 · 228 阅读 · 0 评论 -
机器学习基础 - [第一章:单变量线性回归](4)代价函数
上一篇文章中我们直观的感受了当θ0=0\theta_{0}=0θ0=0时,代价函数的J(θ)J(\theta)J(θ)几何图像。接下来,看看当θ0!=0\theta_{0}!=0θ0!=0时,其几何图形会是什么样的呢?首先,让我们先来了解以下什么是轮廓图。假设J(θ0,θ1)J(\theta_{0},\theta_{1})J(θ0,θ1)实际的图形如下所示:则等值线图是将该曲面投...原创 2019-03-22 21:58:13 · 627 阅读 · 0 评论 -
机器学习基础 - [第一章:单变量线性回归](3)代价函数
上篇文章中我们提到了代价函数J(θ)J(\theta)J(θ),并期望使它最小化,那代价函数长什么样子呢?接下来,我们将给大家一个直观的感受,看看参数θ\thetaθ取不同值时,J(θ)J(\theta)J(θ)的几何呈现我们可以把训练集中的样本(x,y)(x,y)(x,y)想象成分散在xy平面上的点,然后通过一条直线来拟合这些点,这条直线就是我们的假设函数hθ(x)=θ0+θ1xh_{\th...原创 2019-03-22 21:22:52 · 155 阅读 · 0 评论 -
机器学习基础-[第一章:单变量线性回归](2)代价函数
1、上一篇中我们提到了假设函数hθh_{\theta}hθ,该函数的作用根据输入变量xxx输出预测相应的输出变量hθ(x)h_{\theta}(x)hθ(x),那么该假设函数的预测效果该怎么度量呢?2、我们可以使用代价函数(cost function)来度量估计假设函数的预测效果。代价函数,就是用来度量假设函数对样本目标变量的预测值与真实值之间差异的一个函数。3、不同模型使用的代价函数不一...原创 2019-03-22 20:42:59 · 273 阅读 · 0 评论 -
机器学习基础 -[第一章:单变量线性回归](1)模型表示
在学习有监督机器学习模型之前,我们需要使用一些约定的符号来对模型进行表示,这些符号主要如下:输入变量(或输入特征):x(i)x^{(i)}x(i)输出变量(或目标变量):y(i)y^{(i)}y(i)特征变量(也叫属性或特征):[x1(i),x2(i),...,xj(i),...,xn(i)][x_{1}^{(i)},x_{2}^{(i)},...,x_{j}^{(i)},......原创 2019-03-22 19:53:35 · 214 阅读 · 0 评论 -
机器学习基础(0)
原创 2017-10-16 19:54:45 · 169 阅读 · 0 评论 -
机器学习基础 - [第五章:神经网络学习](1)非线性假设函数
1、非线性假设函数前面我们提到过,如果想要一个非线性假设函数,我们可以通过构造高阶多项式特征实现。但是,这种方法仅限于特征数量很少的情况下,当特征数量很大的时候,形成的高阶多项式特征就可能急剧增长。比如特征数量n=100n=100n=100的时候,可选择的二次特征就有n∗(n−1)2\frac{n*(n-1)}{2}2n∗(n−1)种,量级在O(n2)O(n^{2})O(n2),更别说更高次的...原创 2019-06-08 22:26:42 · 668 阅读 · 0 评论 -
机器学习基础 - [第五章:神经网络学习](2)模型表示
1、神经网络的基本结构——逻辑单元神经网络的基本结构,称之未逻辑单元,其实质是一个逻辑回归模型:2、人工神经网络人工神经网络其实就是由逻辑单元经过层层连接之后形成的模型,比如下面的单层感知机模型,它由layer1、layer2、layer3三层组成,其中:layer1也叫输入层,它输入的的是特征向量x={x1,x2,x3}x=\{x_{1},x_{2},x_{3}\}x={x1,x2...原创 2019-06-08 23:11:24 · 287 阅读 · 0 评论 -
机器学习基础 - [第三章:逻辑回归](1)逻辑回归模型的假设函数
1、逻辑回归模型的假设函数逻辑回归模型的假设函数是逻辑函数g(z)=11+e−zg(z)=\frac{1}{1+e^{-z}}g(z)=1+e−z1作用在特向量xxx和参数θ\thetaθ的内积θTx\theta^{T}xθTx上的结果:hθ(x)=11+e−θTxh_{\theta}(x)=\frac{1}{1+e^{-\theta^{T}x}}hθ(x)=1+e−θTx1假设函数的...原创 2019-06-04 14:09:01 · 2801 阅读 · 0 评论 -
机器学习基础 - [第二章:多变量线性回归](5)正规方程法
1、什么是正规方程法?正规方程法是将代价函数对每一个参数求偏导,然后使其为零,通过解方程组来求解代价函数的最优参数:2、如何使用正规方程法来求解模型的最优参数?使用正规方程法主要分为以下几个步骤:(1) 将训练样本的特征表示成特征矩阵XXX,标签表示为向量yyy;(2)通过以下式子来求解代价函数的最优参数:θ=(XTX)−1XTy\theta=(X^{T}X)^{-1}X^{T}yθ=...原创 2019-06-03 22:20:55 · 340 阅读 · 0 评论 -
机器学习基础 - [第二章:多变量线性回归](4)特征选择与多项式回归
1、什么是多项式回归?多项式回归是指利用线性回归函数来拟合复杂函数;或者说假设函数不再是简单的一次函数;例如:h(θ)=θ0+θ1x+θ2x2 h(\theta)=\theta_{0}+\theta_{1}x+\theta_{2}x^{2}h(θ)=θ0+θ1x+θ2x22、不同的特征选择以房屋价格预测为例,我们可以选择不同的特征,你可以选择:(1)房屋的临街宽度、房子的临街深...原创 2019-06-03 21:57:17 · 812 阅读 · 0 评论 -
机器学习基础 - [第二章:多变量线性回归](3)多元线性回归模型的梯度下降算法技巧
1、如何知道梯度下降算法是否正常工作?当在多元线性回归模型上使用梯度下降算法求解代价函数对应的最优参数时,有可能无法收敛到局部最优值,即梯度下降算法没有正常工作,那么,我们有什么样的办法可以知道梯度下降是否正常工作呢?当然,我们可以根据代价函数随迭代次数的变化曲线来获悉梯度下降是否正常工作(当然,通过自动收敛测试算法也可以获知,不过不常用)不同的代价函数随迭代次数的变化曲线可以反映的情况是不...原创 2019-06-03 21:24:10 · 842 阅读 · 0 评论 -
机器学习基础 - [第二章:多变量线性回归](2)多元线性回归模型的梯度下降算法技巧
1、多元线性回归模型在使用梯度下降可能会遇到什么样的问题?多元性线性回归具有多个特征{x1,x2,...,xn}\{x_{1},x_{2},...,x_{n}\}{x1,x2,...,xn},当某些特征的取值范围差异很大时,梯度下降法可能要经过一段很长的时间才能收敛到局部最优值,如图1左边所示:但是,如果这些特征这些特征的值在一个比较相似的范围,收敛速度就会很快。所以,当特征取值差距比...原创 2019-06-03 20:44:39 · 460 阅读 · 0 评论 -
机器学习基础 -[线性代数基础]
1、矩阵与向量2、数据矩阵与参数矩阵原创 2019-06-03 16:52:37 · 214 阅读 · 0 评论 -
机器学习基础 - [第一章:单变量线性回归](7)线性回归模型的梯度下降
1、使用梯度下降算法来求解线性回归模型的局部最小值在前面,我们已经得到了单变量线性回归模型的假设函数hθ(x)h_{\theta}(x)hθ(x)和采用均方误差的代价函数J(θ0,θ1)J(\theta_{0},\theta_{1})J(θ0,θ1),如图1右半部分所示,现在我们用梯度下降来求解使代价函数获得局部最小的对应参数值,如图2所示:将假设函数的具体形式代入梯度下降算法的核心公...原创 2019-06-03 15:59:52 · 354 阅读 · 0 评论