当我们对一个较为复杂的模型(例如神经网络)使用梯度下降算法时,可能会存在一些不容易察觉的错误,意味着,虽然代价看上去在不断减小,但最终的结果可能并不是最优解.为了避免这样的问题,我们采取一种叫做梯度的数值检验(Numerical Gradient Checking)方法.这种方法的思想是通过估计梯度值来检验我们计算的导数值是否真的是我们要求的. 对梯度的估计采用的方法是在代价函数上沿着切线的方向选择离两个非常近的点然后计算两个点的平均值用以估计梯度.即对于某个特定的…
本节学习内容:通过使得θ = 0从而简化代价函数来初步了解代价函数的特性及作用原理.   …
一.初识机器学习 何为机器学习?A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.理解:通过实验E,完成某一项任务T,利用评价标准P对实验结果进行迭代优化! 机器学习主要包括监督学习…
一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌,如下: 二.单变量线性回归 绘制图形:rx代表图形中标记的点为红色的x,数字10表示标记的大小. plot(x, y, ); % Plot the data 计算代价函数(Cost Funtion):迭代次数1500,学习速率0.01.  iterations = 1500; alpha = 0.…
一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌,如下: 二.单变量线性回归 绘制图形:rx代表图形中标记的点为红色的x,数字10表示标记的大小. plot(x, y, ); % Plot the data 计算代价函数(Cost Funtion):迭代次数1500,学习速率0.01.  iterations = 1500; alpha = 0.…
一.逻辑回归问题(分类问题) 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件:判断肿瘤是恶性还是良性等.机器学习中逻辑回归便是解决分类问题的一种方法.二分类:通常表示为yϵ{0,1},0:"Negative Class",1:"Possitive Class". 逻辑回归的预测函数表达式hθ(x)(hθ(x)>=0 && hθ(x)<=1): 其中g(z)被称为逻辑函数或者Sigmiod函数,其函数图形如下: 理解预测函数hθ(x)的…
[1] ML Introduction a. supervised learning & unsupervised learning 监督学习:从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果.监督学习的训练集要求包括输入输出,也可以说是特征和目标.训练集中的目标是由人标注的.常用于:训练神经网络.决策树.回归分析.统计分类 无监督学习:输入数据没有被标记,也没有确定的结果.样本数据类别未知,需要根据样本间的相似性对样本集进行分类,试图使类内差距最小化,…
一. 逻辑回归 1.背景:使用逻辑回归预测学生是否会被大学录取. 2.首先对数据进行可视化,代码如下: pos = find(y==); %找到通过学生的序号向量 neg = find(y==); %找到未通过学生的序号向量 plot(X(pos,),X(pos,),,); %使用+绘制通过学生 hold on; plot(X(neg,),X(neg,),); %使用o绘制未通过学生 % Put some labels hold on; % Labels and Legend xlabel('E…
一.随机梯度下降算法 之前了解的梯度下降是指批量梯度下降:如果我们一定需要一个大规模的训练集,我们可以尝试使用随机梯度下降法(SGD)来代替批量梯度下降法. 在随机梯度下降法中,我们定义代价函数为一个单一训练实例的代价: 随机梯度下降算法为:首先对训练集随机“洗牌”,然后: 下面是随机梯度下降算法的过程以及和批量梯度下降算法的异同: 随机梯度下降算法是先只对第1个训练样本计算一小步的梯度下降,即这个过程包括调参过程,然后转向第2个训练样本,对第2个训练样本计算一小步的梯度下降,这个过程也包括调参…
一. 逻辑回归 1.背景:使用逻辑回归预测学生是否会被大学录取. 2.首先对数据进行可视化,代码如下: pos = find(y==); %找到通过学生的序号向量 neg = find(y==); %找到未通过学生的序号向量 plot(X(pos,),X(pos,),,); %使用+绘制通过学生 hold on; plot(X(neg,),X(neg,),); %使用o绘制未通过学生 % Put some labels hold on; % Labels and Legend xlabel('E…
问题描述:m examples : (x(1),y(1)), (x(2),y(2)),..., (x(m),y(m)) and n features; 计算方法:θ = (XTX)-1XTy; 计算过程: (1) x(i) = [ x0(i)  x1(i) ...  xn(i) ] 为列矩阵: (2)design matrix: X = [ (x(1))T (x(2))T (x(3))T ... (x(n))T ] (3)compute with the format θ = (XTX)-1XT…
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin Intuition 人们有时将支持向量机看作是大间距分类器.在这一部分,我将介绍其中的含义,这有助于我们直观理解 SVM 模型的假设是什么样的.以下图片展示的是SVM的代价函数: 最小化SVM代价函数的必要条件 如果你有一个正样本,y=1,则只有在z>=1时代价函数\(cost_1(z)\)才等于0.…
主要内容: 一.模型简介 二.一些变量所代表的含义 三.代价函数 四.Forward Propagation 五.Back Propagation 六.算法流程 待解决问题: 视频中通过指出:当特征变多时(或者非线性),利用logistic回归模型解决问题将导致计算量很大,即算法复杂度很高.然后就此引出神经网路,所以说神经网路在解决多特征(或者非线性)问题上是比logistic回归更优的.但为什么呢?有什么合理的解释? 一.模型简介 1.最简单的神经网络就是只有输入层和输出层: 2.稍微复杂一点…
主要内容: 一.Batch gradient descent 二.Stochastic gradient descent 三.Mini-batch gradient descent 四.Online learning 五.Map-reduce and data parallelism 一.Batch gradient descent batch gradient descent即在损失函数对θ求偏导时,用上了所有的训练集数据(假设有m个数据,且m不太大).这种梯度下降方法也是我们之前一直使用的.…
主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常大时,括号括起来的部分就接近于0,所以就变成了: 非常有意思的是,在最小化 1/2*∑θj^2的时候,最小间距也达到最大.原因如下: 所以: 即:如果我们要最小化1/2*∑θj^2,就要使得||θ||尽量小,而当||θ||最小时,又因为,所以p(i)最大,即间距最大. 注意:C可以看成是正则项系数λ…
梯度下降算法和线性回归算法比较如图: 对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即: 我们刚刚使用的算法,有时也称为批量梯度下降.实际上,在机器学习中,通常不太会给算法起名字,但这个名字”批量梯度下降”,指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分求导项时,我们需要进行求和运算,所以,在每一个单独的梯度下降中,我们最终都要计算这样一个东西,这个项需要对所有…
在之前的学习中,我们给出了一个数学上关于梯度下降的定义,本次视频我们更深入研究一下,更直观地感受一下这个算法是做什么的,以及梯度下降算法的更新过程有什么意义.梯度下降算法如下: 描述:对…
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数…
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述支持向量机,事实上,我将会从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机. 逻辑回归公式 逻辑回归公式如下图所示, 可以看出逻辑回归公式由两个变量x和\(\theta\)构成,其中x表示输入的数据,而\(\theta\)是可学习的变量,如图中右半部分所示,其图像坐标轴横轴为x.\(h…
http://www.cnblogs.com/xing901022/p/9332529.html 本章主要讲解了逻辑回归相关的问题,比如什么是分类?逻辑回归如何定义损失函数?逻辑回归如何求最优解?如何理解决策边界?如何解决多分类的问题? 更多内容参考 机器学习&深度学习 有的时候我们遇到的问题并不是线性的问题,而是分类的问题.比如判断邮件是否是垃圾邮件,信用卡交易是否正常,肿瘤是良性还是恶性的.他们有一个共同点就是Y只有两个值{0,1},0代表正类,比如肿瘤是良性的:1代表负类,比如肿瘤是恶性的…
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landmark)如图所示为\(l^{(1)},l^{(2)},l^{(3)}\),设核函数为 高斯函数 ,其中设预测函数y=1 if \(\theta_0+\theta_{1}f_1+\theta_{2}f_2+\theta_{3}f_3\ge0\) 在实际中需要用 很多标记点 ,那么如何选取 标记点(lan…
一.多变量线性回归问题(linear regression with multiple variables) 搭建环境OctaveWindows的安装包可由此链接获取:https://ftp.gnu.org/gnu/octave/windows/,可以选择一个比较新的版本进行安装,本人win10操作系统,安装版本4.2.1,没有任何问题.注意不要安装4.0.0这个版本.当然安装MATLAB也是可以的,我两个软件都安装了,在本课程中只使用Octave就已经足够用了! 符号标记:n(样本的特征数/属…
对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程. 正则化线性回归的代价函数为: 如果我们要使用梯度下降法令这个代价函数最小化,因为我们未对theta0进行正则化,所以梯度下降算法将分两种情形: 对上面的算法中…
多分类问题——识别手写体数字0-9 一.逻辑回归解决多分类问题 1.图片像素为20*20,X的属性数目为400,输出层神经元个数为10,分别代表1-10(把0映射为10). 通过以下代码先形式化展示数据 ex3data1.mat内容: load('ex3data1.mat'); % training data stored in arrays X, y m = size(X, ); %求出样本总数 % Randomly data points to display rand_indices =…
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematics Behind Large Margin classification 向量内积 假设有两个向量\(u=\begin{bmatrix}u_1\\u_2\\ \end{bmatrix}\),向量\(v=\begin{bmatrix}v_1\\v_2\\ \end{bmatrix}\),其中向量的内积…
11. 机器学习系统的设计 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 11.3 偏斜类的误差度量 Error Metrics for Skewed Classes 偏斜类 Skewed Classes 类偏斜情况表现为训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例 示例 例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有0.5%的实例是恶性肿瘤.假设我们编写一个非学习而来的算法,在所有情…
主要内容: 一.欠拟合和过拟合(over-fitting) 二.解决过拟合的两种方法 三.正则化线性回归 四.正则化logistic回归 五.正则化的原理 一.欠拟合和过拟合(over-fitting) 1.所谓欠拟合,就是曲线没能很好地拟合数据集,一般是由于所选的模型不适合或者说特征不够多所引起的. 2.所谓过拟合,就是曲线非常好地拟合了数据集(甚至达到完全拟合地态度),这貌似是一件很好的事情,但是,曲线千方百计地去“迎合”数据集,就导致了其对其他数据的预测性或者说通用性不高.这就好像,期末考…
主要内容: 一.回归与分类 二.Logistic模型即sigmoid function 三.decision boundary 决策边界 四.cost function 代价函数 五.梯度下降 六.自带求解函数 七.多分类问题 一.回归与分类 回归:用于预测,输出值是连续型的.例如根据房子的大小预测房子的价格,其价格就是一个连续型的数. 分类:用于判别类型,输出值是离散型的(或者可以理解为枚举型,其所有的输出值是有限的且已知的),例如根据肿瘤的大小判断其是恶行肿瘤还是良性肿瘤,其输出值就是0或1…
一.问题动机 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用.这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题. 给定数据集…
如果你准备研究机器学习的东西,或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统,拥有多么复杂的变量:而是构建一个简单的算法,这样你可以很快地实现它. 构建一个学习算法的推荐方法为:1. 从一个简单的能快速实现的算法开始,实现该算法并用交叉验证集数据测试这个算法2. 绘制学习曲线,决定是增加更多数据,或者添加更多特征,还是其他选择3. 进行误差分析:人工检查交叉验证集中我们算法中产生预测误差的实例,看看这些实例是否有某种系统化的趋势. 类偏斜情况表现为我们的训练集中有非常多的同一…