01-分类与逻辑回归

从感知机到逻辑回归

线性回归: 预测连续的数值

逻辑回归:对错,是否,男女等分类问题

binary classification

二分类

  • 是否通过考试
  • 安卓还是ios
  • 是否是垃圾邮件

多分类

问题分析

根据人的年龄,判断某个人是爱看电视 还是爱看书

feature: 年龄

label:爱看书,爱看电视

机器学习就是找到一个函数,一个公式,输入是年龄,输出是爱看书(1) 还是爱看电视(0)

年龄 爱好
5 看电视
15 看电视
25 看书
35 看书
45 看书

数据编码

年龄 爱好 编码
5 看电视 0
15 看电视 0
25 看书 1
35 看书 1
45 看书 1

线性模型

image-20191119164227993

考虑我们之前的y=mx+b的模型, 这种模型会产生一个问题, 小于0的值和大于1的值

image-20191119164644645

观察, 感知机的激活函数, sigmoid的函数 可以把值压缩到0~1 之间, 我们可以用sigmod函数来对线性函数进行进一步的加工处理。

线性模型和感知机激活函数组合

p=\dfrac {1}{1+e^{-\left( m*age - b\right) }}

假设m = 0.57 b = -11.1

p=\dfrac {1}{1+e^{-\left( 0.57 × age - 11.1\right) }}
年龄 爱读书的概率
5 0.00002
15 0.07
20 0.58
25 0.96
35 0.9998
45 0.9999999
55 0.99999999999

决策边界

sigmoid函数出来后是一个概率, 决策边界就是多大的概率我们才认为分类成功

例如大于58% 就认为喜欢读书, 小于58%认为喜欢看电视

线性回归梯度下降步骤

  1. 随机选取一个b值
  2. 计算这个b值对应的mse的斜率
  3. 如果mse的斜率非常大,那要根据mse的斜率,去修改b的值
  4. mse值越大,b的修改值越大,mse斜率为正,b需要减少,mse斜率为负,b需要增加
  5. 选取一个很小的值,叫learningrate,学习速率,可以理解为迈开的步伐
  6. 用learningrate和mse的信号去更新b的值
  7. 重复2-6的步骤,直到mse的斜率接近于0

逻辑回归梯度下降步骤

  1. 先把分类结果编码为0和1
  2. 随机选取一个b值
  3. 计算这个b值对应的~~mse~~ 误差函数的斜率
  4. 如果~~mse~~ 误差函数的斜率非常大,那要根据~~mse~~ 误差函数的斜率,去修改b的值
  5. ~~mse~~ 误差函数值越大,b的修改值越大,~~mse~~ 误差函数 斜率为正,b需要减少, 误差函数斜率为负,b需要增加
  6. 选取一个很小的值,叫learningrate,学习速率,可以理解为迈开的步伐
  7. 用learningrate和 误差函数的信号去更新b的值
  8. 重复2-6的步骤,直到 误差函数的各项偏导数斜率接近于0

误差函数

mse:mean square error 最小平方差

mae:mean absolute error 最小绝对值差

误差函数是评估,模型好坏的一种标识

image-20191119214413848

这两种误差函数在分类上面,显得无能为力, 分类的结果只有正确或者错误, 按照这种结果来说, 红色和蓝色线都是正确的分类线,都是正确的模型,但是红色更好 还是蓝色更好呢?

image-20191119215029569

每种类型的数据点,离红线越远,置信概率越大,误差越小。

那么我们如何用数学的角度,定义一个公式来描述,误差函数呢?

数据准确度

小明: 中国足球明天出线的概率是 80%

小刚: 中国足球明天出线的概率是 50%

问:这两个模型,这两个预测哪个更准确?

如果中国队第二天出线了,小明的模型好,

如果中国队第二天没出线,小刚的模型好。