前情回顾

机器学习100天|Day1数据预处理

100天搞定机器学习|Day2简单线性回归分析

100天搞定机器学习|Day3多元线性回归

100天搞定机器学习|Day4-6 逻辑回归

100天搞定机器学习|Day7 K-NN

100天搞定机器学习|Day8 逻辑回归的数学原理

100天搞定机器学习|Day9-12 支持向量机

100天搞定机器学习|Day11 实现KNN

100天搞定机器学习|Day13-14 SVM的实现

100天搞定机器学习|Day15 朴素贝叶斯

Day17,Avik-Jain开始在Coursera深度学习的专业课程,完成第1周和第2周内容以及学习课程中的逻辑回归、神经网络,并用Python实现一个神经网络。

Day4-6我们已经学习过逻辑回归模型。

100天搞定机器学习|Day4-6 逻辑回归

但是当时并没有扩展性的深入探讨,毕竟这个模型十分简单易懂。其实模型之间是有关联的,比如Logistic Regression引出SVM回归模型。

首先,我们再回归一下Logistic Regression

逻辑回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。我们想要的函数应该是,能接受所有的输入然后预测出类别。例如,对于而分类问题,该函数应该返回0或1。

逻辑回归假设函数如下

它对θTX作了一个函数g变换,映射至0到1的范围之内,而函数g称为sigmoid function或者logistic function,函数图像如下图所示。

逻辑回归是用来得到样本属于某个分类的概率,当输入z等于0时,Sigmoid函数值为0.5。随着z的增大,对应的函数值趋近于1;随着z的减小,对应的函数值趋近于0。

然后,我们通过逻辑回归引出SVM

我们发现hθ(x)只与θTX有关,θTX>0,则hθ(x)>0.5.g(z)只不过是用来映射,真实的类别决定权还在θTX。模型达到的目标无非就是让训练数据中y=1的特征θTX>>0,而是y=0的特征θTX<<0。Logistic回归就是要学习得到θ,使得正例的特征远大于0,负例的特征远小于0,强调在全部训练实例上达到这个目标。

上图中间那条线是θTX=0,logistic回顾强调所有点尽可能地远离中间那条线,学习出的结果也就中间那条线。这样我们可以得出结论,我们更应该关心靠近中间分割线的点,让他们尽可能地远离中间线,而不是在所有点上达到最优。

然后,看看逻辑回归的代价函数

当y=1时,并将z=θTx带入其中, 损失函数图像进行少量修改就能得到SVM损失函数图像,取z=1的点作为分界点画一条和逻辑回归很接近的线性图像得到上图中玫红色的直线,称其为Cost1(z)。 y=0,类似地得到Cost0(z)。

从 逻辑回归 处修改后得到的基本公式为:

因为人们在使用逻辑回归和支持向量机时遵循的规则不同,有些地方还需要修改 ,在上述式子中的损失部分和正则化部分都去掉 1/m 项

在逻辑回归中使用λ来平衡样本的损失函数项和正则化项,而在SVM中,使用C来平衡.

最终的SVM的表达式

在这里,当最小化代价函数,获得参数 θ 时,支持向量机所做的是它来直接预测 y 的值等于 1,还是等于 0。所以学习参数 θ 就是支持向量机假设函数的形式。

另:详细过程建议大家观看吴恩达课程原版机器学习公开课

https://www.coursera.org/course/ml

--------------回归正题分割线--------------

神经网络又与逻辑回归什么关系呢?先说结论:

逻辑回归是没有隐藏层的神经网络

逻辑回归引出神经网络的过程,我认为李宏毅的机器学习课程最为巧妙。

首先Logistic回归是有局限性的,对于线性不可分的数据没有办法分类。

比如上面这种情况,就没有办法使用一条直线进行分类。

一个解决方法是可以通过转换特征空间方法解决异或问题,线性不可分的数据在特征转化后可以很好地被红色直线区分开。 但是不能总是通过依赖手工的方法来找到一个好的转换,这就违背了机器学习的本质。

so,Logistic回归可以看做是两层神经元,激活函数是Sigmoid函数的神经网络。左边两个Sigmoid函数作用是特征转换,右边作用是分类。

Logistic回归连接在一起就是深度学习的基本结构。

100天搞定机器学习|Day17-18 神奇的逻辑回归的更多相关文章

  1. 100天搞定机器学习|Day22 机器为什么能学习?

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  2. 100天搞定机器学习|Day21 Beautiful Soup

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  3. 100天搞定机器学习|Day33-34 随机森林

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  4. 100天搞定机器学习|Day35 深度学习之神经网络的结构

    100天搞定机器学习|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习 ...

  5. 100天搞定机器学习|day37 无公式理解反向传播算法之精髓

     100天搞定机器学习(Day1-34) 100天搞定机器学习|Day35 深度学习之神经网络的结构 100天搞定机器学习|Day36 深度学习之梯度下降算法 本篇为100天搞定机器学习之第37天,亦 ...

  6. 100天搞定机器学习|Day7 K-NN

    最近事情无比之多,换了工作.组队参加了一个比赛.和朋友搞了一些小项目,公号荒废许久.坚持是多么重要,又是多么艰难,目前事情都告一段落,我们继续100天搞定机器学习系列.想要继续做这个是因为,一方面在具 ...

  7. 100天搞定机器学习|Day11 实现KNN

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

  8. 100天搞定机器学习|Day8 逻辑回归的数学原理

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

  9. 100天搞定机器学习|Day9-12 支持向量机

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

随机推荐

  1. 调用scanf函数的一个陷阱

    我们在写C程序时,经常使用scanf函数,让用户输入数据,可是有时候会出现一些很奇怪的问题.例如,下面的程序是一个简单的四则运算: #include <stdio.h> int main( ...

  2. spark 源码分析之十五 -- Spark内存管理剖析

    本篇文章主要剖析Spark的内存管理体系. 在上篇文章 spark 源码分析之十四 -- broadcast 是如何实现的?中对存储相关的内容没有做过多的剖析,下面计划先剖析Spark的内存机制,进而 ...

  3. 【题解】生日蛋糕-C++

    Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, ...

  4. panic: time: missing Location in call to Time.In

    docker容器发布go项目出现以下问题: panic: time: missing Location in call to Time.In COPY --from=build /usr/share/ ...

  5. JavaScript知识点---->运算规则与运算(逻辑、位)

    *在js中不同类型之间的运算,所得到结果的类型也会有所变化: string + number = string string + boolean = string string + undefiend ...

  6. 解决springmvc返回中文乱码问题

  7. Android studio 混淆打包安装后报错NullPointerException int java.util.List.size()

    菜鸟的我,尝试混淆打包app...打包之前没有什么问题,混淆打包之后遇到各种问题.首先,感谢原博主的分享.解决了我的问题.谢谢. 原文地址:http://blog.csdn.net/tou_star/ ...

  8. http面试笔试常考知识点(二)

    接上一篇随笔 1. https协议为什么比http安全? 内容加密:建立一个信息安全通道,确保信息传输安全: 身份认证:确保网站的真实性: 数据完整性校验:防止内容被第三方冒充或者篡改 2.常见状态码 ...

  9. [leetcode] 17. Letter Combinations of a Phone Number (medium)

    递归DFS class Solution { Map<Character, String> mapping = new HashMap<>(); public List< ...

  10. [sublime3] 在linux下的终端中使用sublime3打开文件

    通过ln命令创建软连接实现 echo $PATH 查看路径 例 我的路径是: /home/rh/anaconda3/bin:/home/rh/bin:/home/rh/.local/bin:/usr/ ...