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)

如何解决过拟合问题:

  1. 舍弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA
  2. 正则化。 保留所有的特征,但是减少参数的大小(magnitude)。

正则化:在代价函数里加入正则化项。对部分特征参数加入惩罚,使他们参数值接近0。

正则化的线性回归

最小化线性回归的cost function有两种方式:梯度下降和正规方程。

下面是梯度下降的方式:

上面矩阵的尺寸是(n+1)*(n+1)

正则化的logistic回归

正则化后的函数:

正则化总结

无论是对线性回归还是logistic回归。正则化都是在原有的cost function里加入新的正则项来惩罚一些参数(降低参数大小),然后在根据新的cost function利用梯度下降或其他优化方法来最小化代价函数。

Coursera-吴恩达机器学习课程笔记-Week3的更多相关文章

  1. ML:吴恩达 机器学习 课程笔记(Week3~4)

    Logistic Regression Regularization Neural Networks: Representation

  2. ML:吴恩达 机器学习 课程笔记(Week1~2)

    吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...

  3. Coursera 吴恩达 机器学习 学习笔记

    Week 1 机器学习笔记(一)基本概念与单变量线性回归 Week 2   机器学习笔记(二)多元线性回归 机器学习作业(一)线性回归——Matlab实现 机器学习作业(一)线性回归——Python( ...

  4. ML:吴恩达 机器学习 课程笔记(Week7~8)

    Support Vector Machines Unsupervised Learning Dimensionality Reduction

  5. ML:吴恩达 机器学习 课程笔记(Week5~6)

    Neural Networks: Learning Advice for Applying Machine Learning Machine Learning System Design

  6. ML:吴恩达 机器学习 课程笔记(Week9~10)

    Anomaly Detection Recommender Systems Large Scale Machine Learning

  7. Coursera-吴恩达机器学习课程笔记-Week2

    参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week2 一. 多变量线性回归(Linear Regression with Multiple Variables) 多变量就时当一个exa ...

  8. Coursera-吴恩达机器学习课程笔记-Week1

    参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week 1 一. 引言 机器学习模型可分为监督学习Superviese learning(每个数据集给出了正确的值)和无监督学习Unsupe ...

  9. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记

    Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

随机推荐

  1. DE1-GHRD

    新建工程socs_system 进入菜单选择Tools---Qsys 配置hps系统 首先选择 在更改参数 配置hps的sdram各项参数 将名字改为hps_0 这样hps配置完成:在配置存储器和其他 ...

  2. 关于QImage和IplImage之间转换的实现

    在嵌入式系统中实现qt和opencv的处理,最基础的就是QImage和IplImage之间的转换.这样两者就可以进行一起使用图像数据,从而达到利用qt显示和利用opencv处理的功能. 下面我将贴出代 ...

  3. Bootstrap框架学习

    Bootstrap框架个人总结 https://blog.csdn.net/To_Front_End/article/details/51142716 Bootstrap 教程 https://www ...

  4. cc.Sprite 与 ccui.ImageView 改变图片

    sprite.setTexture(fileName); imageView.loadTexture(fileName);

  5. Http接口安全设计

    1.  完全开放 2. 基本验证 appid(企业唯一标识)+args(请求参数)->sign(摘要). 3. 时效控制 appid+args+timestamp(时间戳)->sign. ...

  6. form表单提交且接口回调显示提交成功

    前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...

  7. Linux上后台运行node和springboot服务

    环境:Ubuntu18.04 阿里云云服务器 尝试全局安装forever和pm2均失败,最后以linux自带的nohub启动,以前同样用nohub启动springboot 命令: nohup npm ...

  8. unidac 断线重连

    unidac 断线重连 因为物理网络断连或数据库超时踢掉连接等原因,Tuniconnection建立的连接可能会断掉. 在默认状态下,程序会抛出异常框,并罢工. 其实Tuniconnection是可以 ...

  9. C++四种初始化方式

    1. 直接初始化直接调用与实参匹配的构造函数,形式如“T t(u)”.2. 拷贝初始化:复制初始化首先使用指定构造函数创建一个临时对象,然后用复制构造函数将那个临时对象复制到正在创建的对象”,形式如“ ...

  10. JS字符串的不可变性

    js中的字符串特性->不可变性,字符串的值是不可变的 1.改变字符串中的字符 var str = "hello"; str[1] = "W"; conso ...