码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-04 19:55:56      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:style   http   io   ar   os   sp   for   strong   on   

上海交通大学张志华老师的公开课《机器学习导论》,课程链接:
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。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

标签:style   http   io   ar   os   sp   for   strong   on   

原文地址:http://www.cnblogs.com/aezero/p/4142590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!