周志华 机器学习初步 线性模型
Posted 临风而眠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了周志华 机器学习初步 线性模型相关的知识,希望对你有一定的参考价值。
周志华 《机器学习初步》 线性模型
还未更新完,会持续更新
文章目录
一.线性回归
1.线性模型
线性模型的特点和重要性
-
线性模型的重要性
- 人在考虑问题时,通常不是直接去思考一些非线性的问题。
- 而考虑线性的问题,我们马上会有一个几何的直观的印象。基于这种几何直观的印象,我们可能能够从直观上得到一些解决方案,之后在线性模型的基础上可能得到针对非常复杂的非线性问题的解决方案
- 比如要用线性模型去做分类和回归
- 分类,找一条线把两类点分开
- 回归,找一条线把点串起来
-
线性模型的特点:简单、基本、可理解性(understandability)/可解释性(comprehensibility)好
- 线性模型形式简单、易于建模, 但却蕴涵着机器学习中一些重要的基本思想, 许多功能更为强大的非线性模型(nonlinear model)可在线性模型的基础上 通过引入层级结构或高维映射而得
- 此外, 由于
w
\\boldsymbolw
w 直观表达了各属性在预测中的重要性(权重), 因此线性模型有很好的可解释性
- 例如若在西瓜 问题中学得 “ f 好瓜 ( x ) = 0.2 ⋅ x 色泽 + 0.5 ⋅ x 根蒂 + 0.3 ⋅ x 敲声 + 1 f_好瓜 (\\boldsymbolx)=0.2 \\cdot x_\\text 色泽 +0.5 \\cdot x_\\text 根蒂 +0.3 \\cdot x_\\text 敲声 +1 f好瓜(x)=0.2⋅x色泽 +0.5⋅x根蒂 +0.3⋅x敲声 +1 ”, 则意味着可通过综合考虑色泽、根蒂和敲声来判断瓜好不好, 其中根蒂最要紧, 而敲声比色泽更重要.
线性模型的基本形式
-
给定由 d 个属性描述的示例 x = ( x 1 ; x 2 ; … ; x d ) \\boldsymbolx=\\left(x_1 ; x_2 ; \\ldots ; x_d\\right) x=(x1;x2;…;xd), 其中 x i x_i xi 是 x \\boldsymbolx x 在第 i 个属性上的取值, 线性模型(linear model)试图学得一个通过属性的线性组合来进行 预测的函数, 即
f ( x ) = w 1 x 1 + w 2 x 2 + … + w d x d + b , \\\\\\\\f(\\boldsymbolx)=w_1 x_1+w_2 x_2+\\ldots+w_d x_d+b,\\\\\\\\ f(x)=w1x1+w2x2+…+wdxd+b, -
一般用向量形式写成 f ( x ) = w T x + b , f(\\boldsymbolx)=\\boldsymbolw^\\mathrmT \\boldsymbolx+b, f(x)=wTx+b,其中 w = ( w 1 ; w 2 ; … ; w d ) \\boldsymbolw=\\left(w_1 ; w_2 ; \\ldots ; w_d\\right) w=(w1;w2;…;wd).
-
w \\boldsymbolw w 和 b b b 学得之后, 模型就得以确定.
2.线性回归
感觉老师这里用的“学得”这个词很好,之前在别的教程暂时没有看到这种表述哈哈,机器学习,“学得”
给定数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) , 其中 x i = ( x i 1 ; x i 2 ; … ; x i d ) , y i ∈ R . D=\\left\\\\left(\\boldsymbolx_1, y_1\\right),\\left(\\boldsymbolx_2, y_2\\right), \\ldots,\\left(\\boldsymbolx_m, y_m\\right)\\right\\, 其中 \\boldsymbolx_i=\\left(x_i 1\\right.; x_i 2 ; \\ldots ; x_i d ), y_i \\in \\mathbbR. D=(x1,y1),(x2,y2),…,(xm,ym),其中xi=(xi1;xi2;…;xid),yi∈R. “线性回归” (linear regression) 试图学得一个线性模型以尽可能准确地预测实值输出标记
- 线性回归试图学得
f ( x i ) = w x i + b 使得 f ( x i ) ≃ y i f\\left(x_i\\right)=w x_i+b \\text 使得 f\\left(x_i\\right) \\simeq y_i f(xi)=wxi+b 使得 f(xi)≃yi
我们要找到这么一个线性方程,使得 f(x) 等于y,理想情况是完全相等。但由于有 overfitting 的存在,完全相等未必是好的,所以我们找一个约等于关系也是正确的。但是为了简化,把约等于符号写成等于也可以。
离散属性的处理
-
线性回归擅长的处理数值属性
-
例如若在西瓜问题中学得 “ f 好瓜 ( x ) = 0.2 ⋅ x 色泽 + 0.5 ⋅ x 根蒂 + 0.3 ⋅ x 敲声 + 1 f_好瓜 (\\boldsymbolx)=0.2 \\cdot x_\\text 色泽 +0.5 \\cdot x_\\text 根蒂 +0.3 \\cdot x_\\text 敲声 +1 f好瓜(x)=0.2⋅x色泽 +0.5⋅x根蒂 +0.3⋅x敲声 +1 ”,
- x色泽如果是青绿、乌黑这种,x敲声是浑浊、清脆,这没法做加法,所以我们要把先把这些离散属性转换成数值。
-
离散属性的处理
先考虑一种最简单的情形: 输入属性的数目只有一个,为便于讨论, 此时我们忽略关于属性的下标, 即 D = ( x i , y i ) i = 1 m D=\\left\\\\left(x_i, y_i\\right)\\right\\_i=1^m D=(xi,yi)i=1m, 其中 x i ∈ R . x_i \\in \\mathbbR. xi∈R.
- 若有 “序” (order), 则连续化;
- 对离散属性, 若属性值间存在 “序” (order) 关系, 可通过连续化将其转化为连续值, 例如二值属性 “身高” 的取值 “高” “矮” 可转化为 1.0,0.0, 三值属性 “高度” 的取值 “高” “中” “低” 可转化为 1.0,0.5,0.0;
- 西瓜的颜色,青绿色,乌黑色,浅白色,我们分别赋予1,0.5,0?我们没法随意定序,这时候我们就不能把它简单的把当做1, 0 这样来处理。因为在具体算法的求解过程中,很可能会把 1 和 0 当成了数值关系。若将无序属性连续化, 则会不恰当地引入序关系, 对后续处理如距离计算等造成误导。
- 否则, 转化为 k 维向量
- 若属性值间不存在序关 系, 假定有 k 个属性值, 则通常转化为 k 维向量, 例如属性 “瓜类” 的取值 “西瓜” “南瓜” “黄瓜” 可转化为 (0,0,1),(0,1,0),(1,0,0).
- 比如还是上面说的西瓜的颜色,青绿色,乌黑色,浅白色,我们可以分别是 (0,0,1),(0,1,0),(1,0,0).
- 若有 “序” (order), 则连续化;
-
性能度量:均方误差/平方损失(square loss)
-
我们怎么样去找一个线性回归的解决方案?(如何确定 w 和 b )
-
显然, 关键在于如何衡量 f(x) 与 y 之间的差别
-
均方误差是回归任务中最常用的性能度量, 因此我们可试图让均方误差最小化, 即
w ∗ , b ∗ w^*, b^* w∗,b∗ 表示 w 和 b 的解.
( w ∗ , b ∗ ) = arg min ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2
以上是关于周志华 机器学习初步 线性模型的主要内容,如果未能解决你的问题,请参考以下文章
-