Coursera-AndrewNg(吴恩达)机器学习笔记——第三周
一.逻辑回归问题(分类问题)
- 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件;判断肿瘤是恶性还是良性等。机器学习中逻辑回归便是解决分类问题的一种方法。
二分类:通常表示为yϵ{0,1},0:“Negative Class”,1:“Possitive Class”。 - 逻辑回归的预测函数表达式hθ(x)(hθ(x)>=0 && hθ(x)<=1):
其中g(z)被称为逻辑函数或者Sigmiod函数,其函数图形如下:
理解预测函数hθ(x)的意义:其实函数hθ(x)的值是系统认为样本值Y为1的概率大小,可表示为hθ(x)=P(y=1|x;θ)=1-P(y=0|x;θ).
- 决策边界(Decision boundary):y=0和y=1的分界线,由逻辑函数图形可知,当y=1时,g(z)>=0.5,z>=0,也就是说θTX>=0,这样我们就可以通过以xi为坐标轴,作出θTX=0这条直线,这条直线便是决策边界。如下图所示:
代价函数(Cost Function)J(θ):一定要是一个凸函数(Convex Function),这样经过梯度下降方便找到全局最优 。
根据以上两幅图我们可以看出,当预测值hθ(x)和实际值结果y相同时,代价值为0;当预测值hθ(x)和实际结果y不同时,代价值无穷大。组合在一起可以写为:
向量化后可写为:- 梯度下降算法:和线性回归中使用的一样
向量化: - 高级优化方法(用来代替梯度下降选择参数θ):Conjugate gradient(共轭梯度法)、BFGS、L-BFGS,只需要掌握用法即可,不需了解原理。
优点:不需要手动选择学习速率α,收敛速度比梯度下降快,更复杂。%首先写一个函数用来计算代价函数和代价函数的梯度
function [jVal, gradient] = costFunction(theta)
jVal = [...code to compute J(theta)...];
gradient = [...code to compute derivative of J(theta)...];
end %然后在命令行中通过调用fminunc()函数来计算参数θoptions = optimset('GradObj', 'on', 'MaxIter', 100);
initialTheta = zeros(2,1);
[optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options); - 多分类问题:可以转化为n+1个二分类问题看待,如下:
通过这种形式,我们可以预测出结果最接近哪个y值。
二.过拟合问题和解决方法
Underfit:欠拟合问题具有高偏差;Overfit:过拟合问题具有高方差。
过拟合的定义:如果训练集中有过多的特征项,训练函数过于复杂,而训练数据又非常少。我们学到的算法可能会完美的适应训练集,也就是说代价会接近与0。但是却没有对新样本的泛化能力。
解决方法:手动的选择合适的特征;或者使用模型选择算法(用来选取特征变量)。
- 正规化(Regularization):正则化中我们将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小θ(j)),相当于减少参数θ(j)所对应的多项式对整个预测函数的影响。以下内容以线性回归为例。
正规化代价函数:其中λ过大会导致欠拟合。
正规化梯度下降:θ0不需要
其中当参数Θ不为θ0时,梯度下降形式又可以改写为:
正规化正规方程:其中L为(n+1)*(n+1)维矩阵。
正规化逻辑回归:
代价函数:
梯度下降形式和线性回归相同。
- 正规化逻辑回归中高级的求解参数θ方法:
无~~~~
Coursera-AndrewNg(吴恩达)机器学习笔记——第三周的更多相关文章
- Coursera-AndrewNg(吴恩达)机器学习笔记——第三周编程作业
一. 逻辑回归 1.背景:使用逻辑回归预测学生是否会被大学录取. 2.首先对数据进行可视化,代码如下: pos = find(y==); %找到通过学生的序号向量 neg = find(y==); % ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第三周编程作业(逻辑回归)
一. 逻辑回归 1.背景:使用逻辑回归预测学生是否会被大学录取. 2.首先对数据进行可视化,代码如下: pos = find(y==); %找到通过学生的序号向量 neg = find(y==); % ...
- 吴恩达机器学习笔记(三) —— Regularization正则化
主要内容: 一.欠拟合和过拟合(over-fitting) 二.解决过拟合的两种方法 三.正则化线性回归 四.正则化logistic回归 五.正则化的原理 一.欠拟合和过拟合(over-fitting ...
- 吴恩达机器学习笔记(六) —— 支持向量机SVM
主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...
- Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记
Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
- Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记(完结)
Week 1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
- [吴恩达机器学习笔记]12支持向量机5SVM参数细节
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.5 SVM参数细节 标记点选取 标记点(landma ...
- [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...
- [吴恩达机器学习笔记]12支持向量机2 SVM的正则化参数和决策间距
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.2 大间距的直观理解- Large Margin I ...
随机推荐
- TCP的流量控制与拥塞控制小结
概述 为了提高信道的利用率TCP协议不使用停止等待协议,而是使用连续ARQ协议,意思就是可以连续发出若干个分组然后等待确认,而不是发送一个分组就停止并等待该分组的确认.其中TCP的流量控制与拥塞控制是 ...
- 海量数据挖掘MMDS week3:社交网络之社区检测:基本技巧
http://blog.csdn.net/pipisorry/article/details/49052057 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- H5学习之旅-H5的框架(13)
H5框架语法介绍 :frame:框架对于页面的设计有很大的作用 frameSet:框架集标签定义如何将窗口分割为框架 ,每一个frameset定义一些列行或者列,rowS/COLS规定了每行或者每列占 ...
- Cocos2D遍历场景图(Scene Graph)
另一个Cocos2D有用的调试特性是打印出递归的打印出节点的孩子们. 你可以添加以下一行到MainScene或GameScene的didLoadFromCCB的方法中: [self.scene wal ...
- LeetCode之“数学”:Plus One
题目链接 题目要求: Given a non-negative number represented as an array of digits, plus one to the number. Th ...
- Hbase节点管理
1.退役节点 (1) shell>balance_switch false 然后,hbase-daemon.sh stop regionserver (2) graceful_stop.sh U ...
- nasm预处理器(1)
与处理器将所有以反斜杠结尾的连续行合并为一行. 单行的宏以%define来定义:当单行的宏被扩展后还含有其他宏时,会在执行时而不是定义时展开. %define a(x) 1+b(x) %define ...
- 如何使用firefox适用于javascript的debugger命令
首先安装firebug,在firefox的扩展里搜索安装即可. 然后在页面中启用firebug中的脚本: 然后在网页某些位置加入debugger命令,比如如下页面代码: <!DOCTYPE ht ...
- rails项目如何改变已建立的model结构
有时候第一次用rails g model或者scaffold建立数据模型的时候难免会出错,比如字段类型错误或者字段名称错误,甚至少添加或多添加了几个字段哦.这种情况下手动去修改数据结构是比较头疼的,官 ...
- Jmeter(二十四)_服务器性能监控
下载插件 1.访问网址http://jmeter-plugins.org/downloads/all/,下载三个文件.其中JMeterPlugins-Standard和JMeterPlugins-Ex ...