zoukankan      html  css  js  c++  java
  • 线性模型

    基本形式

    【引言:为什么学习线性模型

    线性模型($linear model$)形式简单、易于建模,但却蕴含着机器学习中一些重要的基本思想。

    许多功能更为强大的非线性模型($nonlinear model$)可在线性模型的基础上通过引入层级结构或高级映射而得。

    所以,首先学习线性模型是必要的。

    【定义:什么是线性模型

    给定由 $d$ 个属性描述的示例 $x = (x_1;x_2;...;x_d)$,其中 $x_i$ 是 $x$ 在第 $i$ 个属性上的取值,

    线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

    $$f(x)=w_1x_1+w_2x_2+...+w_dx_d+b$$

    一般用向量形式写成

    $$f(x)=w^Tx+b$$

    其中$w=(w_1;w_2;...;w_d)$,$w$ 和 $b$ 学得之后,模型就得以确定了。

    【优点:线性模型的优点】

    由于$w$直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性($comprehensibility$)亦称可理解性($understandability$)

    例如:若在西瓜问题中学得“$f_{好瓜}(x)=0.2x_{色泽}+0.5x_{根蒂}+0.3x_{敲声}+1$”,

    则意味着可通过综合考虑色泽、根蒂和敲声来判断瓜好不好,其中根蒂最要紧,而敲声比色泽更重要。

    【$Overview$】

    本章介绍几种经典的线性模型。

    我们先从回归任务开始,然后讨论二分类多分类任务。


     线性回归

    【定义:回归中的线性模型——线性回归】 

    给定数据集$D={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}$,其中$x_i=(x_{i1};x_{i2};...;x_{id}),y_iin mathbb{R}$。

    线性回归”($linear regression$)试图学得一个线性模型以尽可能准确地预测实值输出标记。

    【简化】??????????这是干啥??????????为啥要这样?????????

    为便于讨论,此时我们忽略关于属性的下标,即$D={{(x_i,y_i)}}_{i=1}^{m}$,其中$x_iin mathbb{R}$

    对于离散属性

    • 属性间存在“序”($order$)关系,可通过连续化将其转化为连续值,

    例如,二值属性“身高”的取值“高”“矮”可转化为{1.0,0.1},三值属性“高度”的取值“高”“中”,“低”可转化为{1.0,0.5,0.0}

    • 属性间不存在序关系,假定有k个属性,则通常转化为k维向量,

    例如属性“瓜类”的取值“西瓜”,“南瓜”,“黄瓜”可转化为{0,0,1},(0,1,0),(1,0,0)

    【例子:简单的情形——属性只有一个(一元线性回归)】

    我们先考虑一种最简单的情形:输入属性的数目只有一个。

    线性回归试图学得

    $$f(x_i)=wx_i+b,使得 f(x_i)simeq y_i$$

    如何确定 $w$ 和 $b$ 呢?

    显然,关键在于如何衡量 $f(x)$ 与 $y$ 之间的差别。

    2.3节介绍过,均方误差(2.2)是回归任务中最常用的性能度量,因此我们可试图让均方误差最小化,即

    $$(w^*,b^*)=mathop{argmin}_{(w,b)}sum_{i=1}^{m} (f(x_i)-y_i)^2=mathop{argmin}_{(w,b)}sum_{i=1}^{m} (y_i-wx_i-b)^2$$

    【例子:更一般的情形——有 $d$ 个属性描述(多元线性回归)】

    此时我们试图学得

    【例子:进行变化——对数线性回归】

    线性模型虽然简单,却有丰富的变化。

    【例子:推广到一般——广义线性模型】

    更一般的,考虑单调可微函数 $g(·)$ ,令

    $$y=g^{-1}(w^Tx+b)$$

    这样的模型称为“广义线性模型”($generalized linear model$)

    其中函数 $g(·)$ 称为“联系函数”($link function$)

    显然,对数线性回归是广义线性模型在 $g(·)=ln(·)$ 时的特例


    逻辑回归


    线性判别分析


    多分类学习


    类别不平衡问题

  • 相关阅读:
    yum安装LAMP
    CentOS7添加永久静态路由
    批量解压缩,显示进度条(2)
    Django静态文件配置
    大家同乐一下,搞了三天的字符串与STL!终于搞好了。。
    C++动态分配空间
    UNICODE问题
    VC编码规范 (转)
    vs2008中添加splash screen[分享]
    E
  • 原文地址:https://www.cnblogs.com/ForTech/p/8549196.html
Copyright © 2011-2022 走看看