机器学习导论(一) 基本概念

上海交通大学张志华老师的公开课《机器学习导论》,课程链接:

http://ocw.sjtu.edu.cn/G2S/OCW/cn/CourseDetails.htm?Id=397

争取三天一节,做好笔记。ok,直奔主题。

(一) 基本概念 

data mining 和 machine learning本质是一码事儿,ml更贴近数学。(在我眼里ml更底层,data mining、computer vision、nlp 都是用到了它)

machine learning定义(Mike Jodan)

A field that bridge computations and statistics, with ties to information theory, signal processing, algorithms, control theory and optimization theory.

ML可以用这样一个公式表示:

ML=Matrix + Statistics + Optimization + Algorithm

1.definition

data $X=[x_1 ,...,x_n]^T_{(n\times p)}$是一个$n\times p$的矩阵,它包含n个 sample。

sample $x_i=(x_{1i},...,x_{pi})$是一个p维向量,包含p个特征(features)。

对于每个sample,可以给予一个 label $y_i$。

例如,人是sample,身高体重是feature,性别是label。往往,我们要预测sample的label,也即

input sample-> output label

分类问题:label的取值为有限个,如果label有两个(一般为0/1或者-1/+1),则是二分类问题,否则是多分类问题。

回归问题:label的取值是无限的,例如$y\in \mathbb{R}$.

监督学习:先给定一些sample( training samples)以及它们的label,然后预测新给的sample。分类、回归都属于监督学习。

2.linear model

\[ y=x^T a\]

线性模型即通过feature的线性组合来预测label,换言之,认为每个feature都有权重,对feature加权求和来预测y。

要确定weight $a$, 最直接的就是通过统计中的最小二乘来估计,即最小化

\begin{align*}     L=&\frac{1}{2}\sum_{i=1}^n(y_i-x_i^Ta)^2 \\     =&\frac{1}{2}\|y-Xa\|_2^2     \end{align*}

通过求导来求,

\[\frac{\partial L}{\partial a}=X^T(y-Xa)=0\]

如果$X^TX$可逆,我们可以解得

\[   a=(X^TX)^{-1}X^Ty    .   \]

当$n>p$时$,X^TX$一般都是可逆的。但有时feature很多,sample没那么多,这时不可逆,就没有唯一解了(underdetermined)。

这时可以给$L$(即loss function)加一个penalty $\lambda p(a)$,其中$\lambda>0$。常常我们令$p(a)=a^Ta$,这个问题就变成了ridge regression(脊回归):

\[ L(a)+\lambda p(a)= \frac{1}{2}\|y-Xa\|_2^2+\frac{1}{2}\lambda a^Ta    \]

求导得:

\[\frac{\partial L}{\partial a}=X^T(y-Xa)-\lambda a=0\]

这时由于$X^TX+\lambda I_p$是正定矩阵必然可逆,我们有

\[   a=(X^TX+\lambda I_p)^{-1}X^Ty    .   \]

那么$\lambda $这个数的值我们该怎么给呢?为此,我们需要把数据划分为三类:Training data(训练数据),Validation data(验证数据) and Test data(测试数据)。训练数据是用来学$a$的,测试数据是用来调$\lambda$,测试数据就是要预测的数据(或者验证最终结果的)。

此外,$p(a)=\|a\|_1=\sum_{i=1}^p\|a_i\|$也比较常见,这时变为Lasso问题,即

\[  \frac{1}{2}\|y-Xa\|_2^2+\frac{1}{2}\lambda \|a\|_1 \]

用1范数作为penalty有这样一个特点,它会令$a$的一些项为0,这样就能起到自动选feature的功能。

3.极大似然估计(MLE)

注意到,在刚才的讨论中,利用线性模型我们得到的$y$是连续的,那么怎么用于分类问题呢?例如二分类问题$y\in\{0,1\}$,一种最简单的方法是给定一个$\alpha$,如果$y<\alpha$,则$y=0$,否则$y=1(0<\alpha<1)$。

为了有更严谨的数学依据,可以假设y服从一个伯努利分布,$\{y_i\} i.i.d. ~Ber(\alpha)$,由伯努利分布,Loss function为:

\[ L= \prod_{i=1}^n p(y_i)= \prod_{i=1}^n \alpha^{y_i}(1-\alpha)^{(1-y_i)} \]

我们需要考虑怎么把$L$和数据$X$联系起来,以及怎么定$\alpha$。

\begin{align*} f=&-ln L \\=&-\sum_{i=1}^n [y_iln\alpha+(1-y_i)ln(1-\alpha)] \end{align*}

令$$\alpha=\frac{1}{1+exp(-x^Ta)},$$

$f$就变成了关于$a$的函数,这个问题也就变成了一个优化问题。

此外,一样可以加penalty(惩罚项)或者说是regularization(正则化)。

4.无监督和半监督

之前说到p很大的情况,除了加正则项外还可以降维,也就是通过某种变换,由$x\in{\mathbb{R}^p}$到$z\in\mathbb{R}^q(p<min\{p,q\})$化为新的特征表示。降维可分为两种方法:

第一种是通过线性变换,即$ z=Bx,B\in\mathbb{R}^{q\times p} $, 如PCA。

第二种是非线性的$z=f(x)$。

非监督学习:只考虑sample。

除了降维,另一种典型的非监督是聚类问题,只有samples没有label,它通过feature把samples分为几类。 没有测试数据、训练数据之分。

半监督学习:少量的sample有label,大量的sample没有label。

时间: 2024-08-23 15:51:34

机器学习导论(一) 基本概念的相关文章

《机器学习导论》第三章 贝叶斯决策定理 学习笔记

在机器学习领域,我们碰到的第一个问题就是:如何选择特征量. 可是看了一些资料,这点好像都是一笔带过,因为很多都是所谓的不可观测量,如何把不可观测量量化呢?这个或许能给机器学习带来新的契机,就像当年牛顿把力.质量.加速度等模糊的概念定义下来,经典物理出现了前所未有的发展,香农把信息量化,造就了信息革命. 以前觉得贝叶斯好像没有大家说的那么神奇,现在知道,是因为当年对它的理解就有问题,贝叶斯更重要的一点应该是能够在加入evidence的情况下,从先验概率进化到后验概率,这点简直就是机器学习的内涵啊

【机器学习】一些基本概念及符号系统

注:其实自认为还是非常喜欢数学的,但是对于复杂的公式还是有种恐惧感,就像最开始学英语时,对英语的感觉一样.但是数学与英语不同的地方在于,你可以尽情的刨根问底,从最基础的知识开始了解,直到最终把一个符号或者公式的含义弄明白.在机器学习的过程中,也会碰到各种各样的符号,尤其是遇到多参数,多样本的情况时,更是让人眼花缭乱.最近学习完coursera上吴恩达的机器学习前两周的课程,有种豁然开朗的感觉.在此做一个小结. 1. 一些基本概念 图1. 机器学习的基本过程 训练集(Training Set):为

机器学习笔记之基础概念

本文基本按照<统计学习方法>中第一章的顺序来写,目录如下: 1. 监督学习与非监督学习 2. 统计学习三要素 3. 过拟合与正则化(L1.L2) 4. 交叉验证 5. 泛化能力 6. 生成模型与判别模型 7. 机器学习主要问题 8. 提问 正文: 1. 监督学习与非监督学习 从标注数据中学习知识的规律以及训练模型的方法叫做监督学习,但由于标注数据获取成本较高,训练数据的数量往往不够,所以就有了从非标注数据,也就是非监督数据中学习的方法. 由于非监督数据更容易获取,所以非监督学习方法更适合于互联

《机器学习导论》学习笔记 第一章 绪论

必须先搞清楚机器学习中两个很重要的概念,一个是监督学习(Supervised Learning)和无监督学习(Unsupervised Learning). 这两者的区别就是前者知道了结果的正确值,后者没有这个指导值,也就是说你不知道所谓的正确结果. wikipedia上这样描述: 监督学习从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果.监督学习的训练集要求是包括输入和输出,也可以说是特征和目标.训练集中的目标是由人标注的. 无监督学习与监督学习相比,训练集没有人

学习日志---机器学习导论

推荐书: 数据挖掘:实用机器学习 数据挖掘:概念与技术  韩家伟著:细读+后面的引用文章: 机器学习实战(python): 机器学习实用案例解析(R语言): 神经网络与机器学习  simon haykin著:难 Building mL system with python(机器学习系统设计): R语言官方网站:www.r-project.org WEKA:官网 www.cs.waikato.ac.nz/ml/weka/ Petaho: community.pentaho.com/projects

机器学习的一些基本概念

回归: 在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等. 训练集(training set)或者训练数据(training data):输入数据,一般称为x 拟合的函数(或者称为假设或者模型):一般写做 y = h(x) 输入数据的维度(特征的个数,#features):n 典型的机器学习的过程:

摘录-Introduction to Statistical Learning Theory(统计机器学习导论)

机器学习目标:(二分类)   经验风险:   过度拟合:   经验风险最小化:   结构风险最小化:   正则:   特点:   误差错误估计错误:   误差上界分析:   R(g)的经验风险上界:     对错误分类的误差F定义(值域[0或1]):   F和R的关系:     关于F的Hoe不等式:   意义:   统一上界:       与Hoe的差异:   增长函数:   VC维:   VC维无限的函数族:   证明:将给定的点进行+-+-划分,如果有连续++或--的点在中间添加一个新点,

《机器学习导论》第二章 监督学习 学习笔记

训练集上训练的模型在多大程度上能够对新的实例预测出正确输出称为泛化(generalization) 对最好的泛化来说,我们应当使假设的复杂性和潜在数据的函数的复杂性相匹配.如果假设没有函数复杂,例如,当试图用直线拟合从三次项式抽取的数据时,称为欠拟合(underfitting).在这种情况下,随着复杂性的增加,训练误差和确认误差都会降低,但是,如果我们假设太浮渣,数据不足以约束该假设,我们最后也许得不到好的假设.或者如果存在噪声,则过分书杂的假设可能不仅学习潜在的函数,而且也学习数据中的噪声导致

数据结构与算法导论之基本概念和术语介绍

为了与大家取得"共同的语言",下面对一些概念和术语赋予确定的含义. 1.数据(data):对客观事物的符号表示,在计算科学中指所有能输入到计算机中并被计算机程序处理的符号总称. 2.数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理.一个数据元素可以由若干个数据项(data item)组成,数据项是数据不可分割的最小单位. 3.数据对象(data object):性质相同的数据元素的组合,是数据的一个子集. 总结而言,数据.数据对象.数