机器学习笔记-第三章线性模型

基本形式

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

线性回归

  • 对于离散数据属性,若存在“序”关系,比如高中低,可转化为连续值{1,0.5,0};若不存在,则转化为k维向量(k为该属性有k个属性值)。
  • 最小二乘法:试图找到一条直线使所有样本到直线上的欧氏距离之和(均方误差)最小。
  • 最小二乘“参数估计”:是求解 w w w b b b使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)}=\sum_{i=1}^m(y_i-wx_i-b)^2 E(w,b)=i=1m(yiwxib)2最小化的过程。
    ⇒ w = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 , b = 1 m ∑ i = 1 m ( y i − w x i ) \Rightarrow w=\frac{\sum_{i=1}^my_i(x_i-\overline{x})}{\sum_{i=1}^mx_i^2-\frac{1}{m}(\sum_{i=1}^mx_i)^2}, b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i) w=i=1mxi2m1(i=1mxi)2i=1myi(xix)b=m1i=1m(yiwxi)
    其中 x ‾ = 1 m ∑ i = 1 m x i \overline{x}=\frac{1}{m}\sum_{i=1}^mx_i x=m1i=1mxi
  • 对数线性回归: l n y = w T x + b lny=w^Tx+b lny=wTx+b形式上仍是线性回归,实质上是在求取输入空间到输出空间的非线性函数映射。图3.1中,对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。
    机器学习笔记-第三章线性模型_第1张图片
  • 广义线性模型: y = g − 1 ( w T x + b ) y=g^{-1}(w^Tx+b) y=g1(wTx+b)其中 g ( . ) g(.) g(.)为联系函数(单调可微), g ( . ) = l n ( . ) g(.)=ln(.) g(.)=ln(.)时即对数线性回归。

对数几率回归

目标:分类任务,需要找到 g ( . ) g(.) g(.)函数将真实标记 y y y与线性回归模型联系起来。

  • 单位阶跃函数(不连续):
    y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 y=\left\{ \begin{array}{rcl} 0, & z<0 \\ 0.5, & z=0 \\ 1, & z>0 \end{array}\right. y= 0,0.5,1,z<0z=0z>0
    机器学习笔记-第三章线性模型_第2张图片
  • 对数几率函数(logistic function)是一种“Sigmoid函数”: y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1 y 1 − y \frac{y}{1-y} 1yy称为“几率”,反映了 x x x作为正例的相对可能性。
  • 优点: 避免了假设分布不准确所带来的问题;可得到近似概率预测;其目标函数是任意阶可导的凸函数

线性判别分析LDA

  • LDA思想: 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
    机器学习笔记-第三章线性模型_第3张图片
    符合说明:
    • X i X_i Xi:第i类示例的集合
    • μ i \mu_i μi:均值向量
    • ∑ i \sum_i i:协方差矩阵在这里插入图片描述机器学习笔记-第三章线性模型_第4张图片
      J = w T S b w w T S w w J=\frac{w^TS_bw}{w^TS_ww} J=wTSwwwTSbw为LDA欲最大化的目标。等价于:
      min ⁡ w − w T S b w s . t . w T S w w = 1 \min_w -w^TS_bw \\ s.t. w^TS_ww=1 wminwTSbws.t.wTSww=1

多分类学习

  • 基本思路(拆解法):将多分类任务拆分为若干个二分类任务求解。先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器;在测试时,对预测结果进行集成以获得最终的多分类结果。
    • (多类支持向量机是致力于直接求解多分类问题)
  • 拆分策略:一对一(OvO)、一对其余(OvR)、多对多(MvM)
  • 一对一(OvO):两两配对训练一个分类器,测试时所有分类器进行测试,最终结果通过投票产生:被预测最多的类别为最终分类结果。
  • 一对其余(OvR):将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。在测试时若仅有一个分类器预测为正例,则该类别为最终分类结果;若有多个分类器预测为正例,则考虑各分类器的预测置信度,选择置信度最大的类别作为最终分类结果。
  • 一对一和一对其余的区别:一对一需要训练 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个分类器,所以存储开销和测试时间开销通常较大,但在训练时只用到两个类的样例,而一对其余用了全部样例,因此在类别很多时,一对一开销更小;对于预测性能,多数情形下两者差不多。
  • 多对多(MvM):将若干个类作为正类、若干个类作为反类,正、反类构造必须有特殊的设计,最常用的技术为:“纠错输出码”(ECOC)、DAG拆分法(将类别划分表达成树形结构,每个节点对应于一个二类分类器)。
  • ECOC工作过程:
    • 编码:对N个类别做M次划分(编码矩阵,如二元码、三元码),每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集,生成M个分类器;
    • 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码,并与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
      机器学习笔记-第三章线性模型_第5张图片

类别不平衡问题

  • 类别不平衡:指分类任务中不同类别的训练样例数目差别很大的情况。
解决方法:
  • 欠采样:去除一些反例使得正、反例数目接近,然后再进行学习,代表算法EasyEnsemble(利用集成学习机制,将反例划分为若干个集合供不同学习器使用,确保全局不会丢失重要信息)。
  • 过采样:增加一些正例使得正反例数目接近,代表算法SOMTE(通过对训练集里的正例进行插值来产生额外的正例)。
  • 阈值移动:直接基于原始训练集进行学习,在预测时使用“再缩放”策略进行决策。
    • 再缩放:基于以下式子进行决策 y ′ 1 − y ′ = y 1 − y × m − m + \frac{y'}{1-y'}=\frac{y}{1-y}\times \frac{m^-}{m^+} 1yy=1yy×m+m即若 y 1 − y > m + m − \frac{y}{1-y}>\frac{m^+}{m^-} 1yy>mm+则预测为正例,其中 m + m^+ m+表示正例数目, m − m^- m表示反例数目, m + m − \frac{m^+}{m^-} mm+为观测几率。再缩放也是“代价敏感学习”的基础。

你可能感兴趣的:(机器学习,线性回归)