Coursera在线学习---第五节.Logistic Regression
一、假设函数与决策边界



二、求解代价函数





这样推导后最后发现,逻辑回归参数更新公式跟线性回归参数更新方式一摸一样。
为什么线性回归采用最小二乘法作为求解代价函数,而逻辑回归却用极大似然估计求解?
解答:
1)因为线性回归采用最小二乘法作为代价函数,这个函数是一个凸函数,能够得到全局最优解。如下图所示,因为其二阶导数在每个维度的偏导都是一个大于等于0的常数,满足凸函数的充要条件。

2)但是在逻辑回归中却会出现问题,因为将逻辑回归的表达式带入到最小二乘函数中得到的是一个非凸函数的图像,那么就会存在多个局部最优解,无法像凸函数一样得到全局最优解。怎么办呢?再换一个损失函数,对数损失函数,或者说是极大似然估计求解代价函数,两个是一个意思。经求其二阶偏导也是恒大于等于0的值,所以满足凸函数的充要条件,能求得全局最优解。
3)再一个使用平方损失函数,梯度更新的速度会和 sigmod 函数的梯度相关,经过推导公式发现梯度多了一个sigmoid的导数乘项g(x)*(1-g(x)),sigmod 函数在定义域内的梯度都不大于0.25,导致训练速度会非常慢。
4)采用极大似然估计想要让每一个 样本的预测都要得到最大的概率,即将所有的样本预测后的概率进行相乘都最大,也就是极大似然函数。
三、解决多分类问题

四、逻辑回归中Octave 一些实用指令
pos=find(y==1) 从y中查找出值为1的索引位置
mean(double(p==y))*100 计算预测的精确度(Accuracy)。double(p==y)将预测结果向量p与真实值向量y逐一对比,相同则置为1,不同则置为0,然后通过mean()函数计算一下均值,精确度就计算出来了。
double(p~=y) 向量p与真实值向量y逐一对比,相同则置为0,不同则置为1。与上述对比正好相反。
五、 常用的评价分类器性能的指标
- Precision:TP÷(TP+FP),分类器预测出的正样本中,真实正样本的比例
- Recall:TP÷(TP+FN), 在所有真实正样本中,分类器中能找到多少
- Accuracy:(TP+TN)÷(TP+NP+TN+FN),分类器对整体的判断能力,即正确预测的比例
Coursera在线学习---第五节.Logistic Regression的更多相关文章
- Coursera在线学习---第七节.支持向量机(SVM)
一.代价函数 对比逻辑回归与支持向量机代价函数. cost1(z)=-log(1/(1+e-z)) cost0(z)=-log(1-1/(1+e-z)) 二.支持向量机中求解代价函数中的C值相当于 ...
- Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)
一.如何学习大规模数据集? 在训练样本集很大的情况下,我们可以先取一小部分样本学习模型,比如m=1000,然后画出对应的学习曲线.如果根据学习曲线发现模型属于高偏差,则应在现有样本上继续调整模型,具体 ...
- Coursera在线学习---第六节.构建机器学习系统
备: High bias(高偏差) 模型会欠拟合 High variance(高方差) 模型会过拟合 正则化参数λ过大造成高偏差,λ过小造成高方差 一.利用训练好的模型做数据预测时,如果效果不好 ...
- Coursera在线学习---第四节.过拟合问题
一.解决过拟合问题方法 1)减少特征数量 --人为筛选 --靠模型筛选 2)正则化(Regularization) 原理:可以降低参数Θ的数量级,使一些Θ值变得非常之小.这样的目的既能保证足够的特征变 ...
- [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...
- VUE2.0实现购物车和地址选配功能学习第五节
第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...
- 深度学习 Deep LearningUFLDL 最新Tutorial 学习笔记 2:Logistic Regression
1 Logistic Regression 简述 Linear Regression 研究连续量的变化情况,而Logistic Regression则研究离散量的情况.简单地说就是对于推断一个训练样本 ...
- Coursera在线学习---第九节(1).异常数据检测(Anomaly Detection)
一.如何构建Anomaly Detection模型? 二.如何评估Anomaly Detection系统? 1)将样本分为6:2:2比例 2)利用交叉验证集计算出F1值,可以用F1值选取概率阈值ξ,选 ...
- Coursera在线学习---第一节.梯度下降法与正规方程法求解模型参数比较
一.梯度下降法 优点:即使特征变量的维度n很大,该方法依然很有效 缺点:1)需要选择学习速率α 2)需要多次迭代 二.正规方程法(Normal Equation) 该方法可以一次性求解参数Θ 优点:1 ...
随机推荐
- sleep() 与 wait()的比较
1.这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还 ...
- ubuntu下安装 openssl&&编译运行测试代码
检查是否已安装 openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install libssl-devsudo apt-ge ...
- javascript之容易出错的地方
1: 不是所有的非空对象都有toString()方法的 var obj = Object.create(null); console.log(obj.toString()); // false; ...
- 【C++】C++函数重载的总结
函数重载: 出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数(overloaded function).一定要注意函数重载的两个关键词:形参列表和作用域. 任何程序有且仅有 ...
- Linux 下定位java应用 cpu高的原因(转)
使用场景: 遇到Linux下java应用cpu占用很高的时候,我们很想知道此时的应用到底在做什么导致资源的消耗. 方便我们进一步定位和优化~ 1.查询cpu耗用top5的进程(你也可以top10) [ ...
- css实现 显示一行文字,超出用...代替
overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
- 【Python】python学习文件的序列化和反序列化
json和pickle序列化和反序列化 json是用来实现不同程序之间的文件交互,由于不同程序之间需要进行文件信息交互,由于用python写的代码可能要与其他语言写的代码进行数据传输,json支持所有 ...
- 排座位&&Little Elephant And Permutation——排列dp的处理
排列的问题,就是要把序列排个序,使之达到某种最优值或者统计方案数 dp可以解决部分排列问题. 通常的解决方案是,按照编号(优先级)排序决策,从左到右决策两种. 这里主要是第一个. 排座位• 有
- 【agc003E】Sequential operations on Sequence
Portal -->agc003E Description 给你一个数串\(S\),一开始的时候\(S=\{1,2,3,...,n\}\),现在要对其进行\(m\)次操作,每次操作给定一个\(a ...
- Lab颜色空间
原文:http://blog.csdn.net/carson2005/article/details/7200440 同RGB颜色空间相比,Lab是一种不常用的色彩空间.它是在1931年国际照明委员会 ...