Coursera-吴恩达机器学习课程笔记-Week3
logistic regression
Binary classification problems
logistic regression 是一个分类算法
Hypothesis function
decision boundary 决策边界
与线性回归算法类似,先了解logistic回归算法的表达式
然后是它的cost function
代价函数本质上就是对每一个训练样本计算真实值和预测值的差距,差距大则代价函数的取值也大(这就是对算法的大惩罚);反之,预测值接近真实值,代价函数也小。下面的函数满足这个条件:
整理得到:
最后用梯度下降min代价函数可以求参
其他最小化代价函数的方法(高级优化)
Conjugate gradient(共轭梯度法)、BFGS (变尺度法) 和L-BFGS (限制变尺度法) 等方法可以用来代替梯度下降法来最小化logistic回归的代价函数。
下面是这些高级方法的优点和缺点:
Multi-class classification problems
面对多分类问题, 同样用logistic回归算法。
有n个分类,就用n个logistic回归分类器,每一次把一个类和其他类看作二元分类,进行n次就可以解决多分类问题。
算法模型训练过后一般会有两种情况:
- 欠拟合 underfitting ——高偏差 high bias
- 过拟合 overfitting ——高方差 high variance -> 泛化能力差
正则化(Regularization)
如何解决过拟合问题:
- 舍弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA)
- 正则化。 保留所有的特征,但是减少参数的大小(magnitude)。
正则化:在代价函数里加入正则化项。对部分特征参数加入惩罚,使他们参数值接近0。
正则化的线性回归
最小化线性回归的cost function有两种方式:梯度下降和正规方程。
下面是梯度下降的方式:
上面矩阵的尺寸是(n+1)*(n+1)
正则化的logistic回归
正则化后的函数:
正则化总结
无论是对线性回归还是logistic回归。正则化都是在原有的cost function里加入新的正则项来惩罚一些参数(降低参数大小),然后在根据新的cost function利用梯度下降或其他优化方法来最小化代价函数。
Coursera-吴恩达机器学习课程笔记-Week3的更多相关文章
- ML:吴恩达 机器学习 课程笔记(Week3~4)
Logistic Regression Regularization Neural Networks: Representation
- ML:吴恩达 机器学习 课程笔记(Week1~2)
吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...
- Coursera 吴恩达 机器学习 学习笔记
Week 1 机器学习笔记(一)基本概念与单变量线性回归 Week 2 机器学习笔记(二)多元线性回归 机器学习作业(一)线性回归——Matlab实现 机器学习作业(一)线性回归——Python( ...
- ML:吴恩达 机器学习 课程笔记(Week7~8)
Support Vector Machines Unsupervised Learning Dimensionality Reduction
- ML:吴恩达 机器学习 课程笔记(Week5~6)
Neural Networks: Learning Advice for Applying Machine Learning Machine Learning System Design
- ML:吴恩达 机器学习 课程笔记(Week9~10)
Anomaly Detection Recommender Systems Large Scale Machine Learning
- Coursera-吴恩达机器学习课程笔记-Week2
参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week2 一. 多变量线性回归(Linear Regression with Multiple Variables) 多变量就时当一个exa ...
- Coursera-吴恩达机器学习课程笔记-Week1
参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week 1 一. 引言 机器学习模型可分为监督学习Superviese learning(每个数据集给出了正确的值)和无监督学习Unsupe ...
- Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记
Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
随机推荐
- Tomcat创建项目
查看项目信息 index.jsp默认首页 更新资源自动部署不用重启服务器,要用debug的方式启动 更新java代码和更新资源自动部署不用重启服务器,要用debug的方式启动
- 2.10 webdriver中 js 使用
来源: 使用Webdriver执行JS小结 http://lijingshou.iteye.com/blog/2018929 selenium常用的js总结 http://www.cnblogs. ...
- win10无法运行Vmware,怎么办
在win10上安装了Vmware12.15都无法运行,怎么办,找了一晚上 1.点击“检查更新”或去官网下载最新版本 Vmware15.5.0,或者百度云下载 链接:https://pan.baidu. ...
- selenium chromedriver退出报错
记录使用python调用chromedriver时遇到的问题 代码: #!/usr/bin/env python #-*- coding:utf-8 -*- # author : fy # versi ...
- Dev-Cpp/Code::Block/MinGW下使用EasyX
众所周知,EasyX是个很香的东西,但EasyX目前只支持Visual Studio,那么如果要在MinGW(Dev-Cpp和Code::Block均使用这个编译器)上使用EasyX怎么办呢? 这篇文 ...
- idea中使用Data Source and Drivers时,如果使用自己自定义的jar包
- SQL基础语法—insert语句
1 insert语句 insert语句用于插入数据到表中,其基本语法有以下三种: Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IG ...
- ErgExp-lookbehind assert(后行断言)
//先行断言:先遇到一个条件,判断后面的条件是否满足 let test = 'hello world' console.log(test.match(/hello(?=\sworld)/)) //后行 ...
- HBase 启动后HMaster进程自动消失
原因分析 1.hadoop 与 hbase 版本不兼容,导致的异常. 2.log日志信息显示 org.apache.hadoop.hbase.TableExistsException: hbase:n ...
- 手把手教你做一个python+matplotlib的炫酷的数据可视化动图
1.效果图 2.注意: 上述资料是虚拟的,为了学习制作动图,构建的. 仅供学习, 不是真实数据,请别误传. 当自己需要对真实数据进行可视化时,可进行适当修改. 3.代码: #第1步:导出模块,固定 i ...