机器学习系列--线性模型(线性回归、逻辑回归)

一、关于线性模型

线性模型的基本形式:
给定由 d d d个属性描述的示例 x = ( x 1 ; x 2 ; . . . ; x d ) x=(x_1;x_2;...;x_d) x=(x1;x2;...;xd),其中 x i x_i xi x x x在第 i i i个属性上的取值,线性模型试图学到一个通过属性的线性组合来预测的函数。
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x) = {w_1x_1 + w_2x_2 +...+ w_dx_d + b} f(x)=w1x1+w2x2+...+wdxd+b
一般用向量形式写成:
f ( x ) = w T x + b {f(x)=w^Tx + b} f(x)=wTx+b
其中 w = ( w 1 ; w 2 ; . . . ; w d ) w = (w_1;w_2;...;w_d) w=(w1;w2;...;wd). w w w b b b是要学习的参数,参数确定之后,模型就得到确定。

问题1:机器学习想做一件什么事?

机器学习是想要通过现有的数据,找到隐藏在事物背后的规律。
而大部分规律是符合线性模型的形式。

问题2 :什么是线性模型?

线性模型的基本形式为:
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x) = {w_1x_1 + w_2x_2 +...+ w_dx_d + b} f(x)=w1x1+w2x2+...+wdxd+b

  • 判断是否是线性模型针对的是:权重参数 w w w

错误的理解:
(1)线性模型学习出来的流行只能是线性的
(2)线性和非线性的区别是:是否可以用直线将样本划分开
(3)区分是否为线性模型,主要看一个乘法式子中的自变量x

问题3:偏置 b b b代表了什么?

l o s s = 1 2 ∑ n = 1 N { y n − b − ∑ j = 1 M − 1 w j ϕ ( X n ) } 2 loss = {1\over 2} \sum_{n=1}^N\{y_n -b- \sum_{j=1}^{M-1}{w_j\phi(X_n)}\}^2 loss=21n=1N{ynbj=1M1wjϕ(Xn)}2
b = y ‾ − ∑ j = 1 M − 1 w j ϕ j ‾ b = \overline y - \sum_{j=1}^{M-1}{w_j\overline{ \phi_j}} b=yj=1M1wjϕj

y ‾ = 1 N ∑ n = 1 N y n \overline y = {1\over N} \sum_{n=1}^Ny_n y=N1n=1Nyn

ϕ ‾ j = 1 N ∑ n = 1 N ϕ j ( x n ) \overline \phi_j = {1\over N}\sum_{n=1}^N\phi_j(x_n) ϕj=N1n=1Nϕj(xn)

偏置 b b b补偿了目标值的平均值(在训练集上的)与预测值的平均值的差距。【可以使得数据中可以存在任意固定的偏置】

二、Linear Regression

2.1、求解线性回归的基本思想

  • 线性模型的表达式为: y ^ = f ( x ) = w T x + b \hat{y} = {f(x)=w^Tx + b} y^=f(x)=wTx+b
  • 目标是: f ( x ) 与 y ( 真 实 值 ) 越 接 近 越 好 f(x) 与 y(真实值)越接近越好 f(x)y()

问题1:如何衡量 y ^ 与 y \hat{y} 与 y y^y之间的差距?

最直观的理解就是计算 y ^ 与 y \hat{y} 与 y y^y之间的距离。------也就是损失函数,常用的MSE损失(平方差损失),CE损失(交叉熵损失)

(补充)其他的距离计算方式

(1)欧式距离

d i s t ( p i , p j ) = ∑ k = 1 n ( p i k − p j k ) 2 dist(p_i, p_j) = \sqrt{\sum_{k=1}^n (p_{ik} - p_{jk})^2} dist(pi,pj)=k=1n(pikpjk)2

(2)【最常用】均方差距离

d i s t ( p i , p j ) = ∑ k = 1 n ( p i k − p j k ) 2 dist(p_i, p_j) = {\sum_{k=1}^n (p_{ik} - p_{jk})^2} dist(pi,pj)=k=1n(pikpjk)2

(3)【稀疏】曼哈顿距离

d i s t ( p i , p j ) = ∑ k = 1 n ∣ p i k − p j k ∣ dist(p_i, p_j) = {\sum_{k=1}^n |p_{ik} - p_{jk}|} dist(pi,pj)=k=1npikpjk

(4)【多维】马氏距离

d i s t ( p i , p j ) = ( p i − p j ) T s − 1 ( p i − p j ) dist(p_i, p_j) = {\sqrt{(p_i - p_j)^T s^{-1}(p_i - p_j)}} dist(pi,pj)=(pipj)Ts1(pipj)        s − 1 表 示 协 方 差 矩 阵 \ \ \ \ \ \ s^{-1}表示协方差矩阵       s1

(5)汉明距离
(6)编辑距离

2.2 线性回归的解法

求解 w 和 b w和b wb使 E ( w , b ) = l o s s = 1 2 ∑ i = 1 m ( y i − w i − b ) 2 E_{(w,b)} = loss = {1\over 2} \sum_{i=1}^m(y_i -w_i - b)^2 E(w,b)=loss=21i=1m(yiwib)2最小化的过程,称为线性回归模型的最小二乘“参数估计”

E ( w , b ) E_{(w,b)} E(w,b) 分别对 w 和 b w和b wb求导,得到

d ( E ( w , b ) ) d w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) {d(E_{(w,b)}) \over dw} =2(w\sum_{i=1}^m x_i^2 - \sum_{i=1}^m(y_i - b)x_i) dwd(E(w,b))=2(wi=1mxi2i=1m(yib)xi)

d ( E ( w , b ) ) d b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) {d(E_{(w,b)}) \over db} =2(mb - \sum_{i=1}^m (y_i - wx_i)) dbd(E(w,b))=2(mbi=1m(yiwxi))

d ( E ( w , b ) ) d w 和 d ( E ( w , b ) ) d b {d(E_{(w,b)}) \over dw} 和 {d(E_{(w,b)}) \over db} dwd(E(w,b))dbd(E(w,b)) 同时为零时,可以得到 w 和 b w和b wb的最优解。

  • 一元情况下
    可以得到解析解【通过严格的公式得到的解】:
    w ∗ = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w^* = {\sum_{i=1}^m y_i(x_i - \overline x) \over \sum_{i=1}^m x_i^2 - {1 \over m}(\sum_{i=1}^m x_i)^2} w=i=1mxi2m1(i=1mxi)2i=1myi(xix)
    b ∗ = 1 m ∑ i = 1 m y i − w ∗ x i b^* = {1 \over m}\sum_{i=1}^m y_i - w^*x_i b=m1i=1myiwxi
    其 中 x ‾ = 1 m ∑ i = 1 m x i 其中 \overline x = {1 \over m}\sum_{i=1}^m x_i x=m1i=1mxi x i x_i xi的均值。
  • 多元情况下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    使用正则化,可以使解唯一:
    使 用 正 则 化 前 : w ∗ = ( x T x ) − 1 x T y 使 用 正 则 化 后 : w ∗ = ( x T x + λ I ) − 1 x T y 使用正则化前:w^* = (x^T x)^{-1}x^T y \\ 使用正则化后:w^* = (x^T x + \lambda I)^{-1}x^T y 使w=(xTx)1xTy使w=(xTx+λI)1xTy
    解 释 正 则 化 为 什 么 使 解 唯 一 { 从 矩 阵 分 解 从 模 型 选 择 解释正则化为什么使解唯一 \begin{cases} 从矩阵分解 \\ 从模型选择 \end{cases} 使{

三、逻辑回归 Logistics Regression

回归问题: y = w T x + b y = {w^Tx + b} y=wTx+b

分类问题: l n y 1 − y = w T x + b ln{y \over 1-y} = {w^Tx + b} ln1yy=wTx+b

y 1 − y {y \over 1-y} 1yy 表示 x x x 为正类相当于反类的相对可能性,因为取了对谁,所以称为对数几率。

l n y 1 − y = w T x + b ln{y \over 1-y} = {w^Tx + b} ln1yy=wTx+b展开可以表示为: y = e w T x + b 1 + e w T x + b y = {e^{w^T x + b}\over 1+e^{w^T x + b}} y=1+ewTx+bewTx+b

Logistic Regression 的目标函数

目标:每一个data 属于其自身的类别的概率最大
l ( w , b ) = ∑ i = 1 m l n   p ( y i ∣ x i ; w , b ) l(w,b) = \sum_{i=1}^mln \ p(y_i|x_i;w,b) l(w,b)=i=1mln p(yixi;w,b)
我们用 W 代 替 ( w , b ) W代替(w,b) W(w,b),则有目标
W ∗ = a r g   m a x ∑ i = 1 m l n   p ( y i ∣ x i ; W ) W^* = arg \ max \sum_{i=1}^mln \ p(y_i|x_i;W) W=arg maxi=1mln p(yixi;W)
在这里插入图片描述

分类问题的解决方案

1、判别函数的方案

定义:找到一个函数 f ( x ) f(x) f(x)称其为判别函数。这个函数把每一个输入 x x x直接映射为类别标签。

举个例子:
给定数据中有三类,“猫”,“狗”,“鱼”
直接给数据一个标签:“猫=1”,“狗=2”,“鱼=3”
则判别函数输出直接就是–2

2、判别模型(判别式)的方案–从数据出发

定义:首先解决后验类密度 p ( C k ∣ x ) p(C_k|x) p(Ckx)这一推断问题,接下来使用决策论来对新的输入 x x x进行分类。
这种直接对后验概率建模的方法称为判别式模型 C k C_k Ck表示类别】

举个例子:
给定数据中有三类,“猫”,“狗”,“鱼”
直接给数据一个标签:“猫=1”,“狗=2”,“鱼=3”
则判别式输出为:----(0.3,0.6,0.1)一种概率的形式。

3、生成模型的方案–假设一种分布,以统计学和贝叶斯作为理论基础

定义:首先给定每个类别 C k C_k Ck,独立的确定类条件密度 p ( x ∣ C k ) p(x|C_k) p(xCk)。这是一个推断问题。
然后,推断先验类概率 p ( C k ) p(C_k) p(Ck)。再使用贝叶斯定理计算后验。

p ( C k ∣ x ) =   p ( x ∣ C k ) p ( C k ) p ( x ) {p(C_k|x)=}\ {{p(x|C_k)p(C_k)}\over {p(x)}} p(Ckx)= p(x)p(xCk)p(Ck)

p ( C k ∣ x ) {p(C_k|x)} p(Ckx) 后验概率
p ( x ∣ C k ) {p(x|C_k)} p(xCk) 似然概率
p ( C k ) {p(C_k)} p(Ck) 先验
得到后验概率之后,我们就可以使用决策论来确定每个新的输入 x x x的类别。
显示的或者隐式的对输入以及输出进行建模的方式称为生产式模型。

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值