机器学习学习笔记2(Ng课程cs229)

牛顿方法

机器学习学习笔记2(Ng课程cs229)_第1张图片
简单的来说就是通过求当前点的导数得到下一个点.用到的性质是导数值等于该点切线和横轴夹角的正切值.
在这里插入图片描述

极大似然估计

收敛速度:quadratic conversions 二次收敛

θ为矩阵时
机器学习学习笔记2(Ng课程cs229)_第2张图片
每次迭代都需要重新计算H -> nxn 特征较多时计算量比较大

极大似然估计可以推导:
高斯分布 =>最小二乘法
伯努利分布 => logistic回归

指数分布族 exponential family distribution

p(y;η) = b(y)exp(ηTT(y) - a(η))

被称为自然参数(natural parameter)或者典范参数(canonical parameter); 实数或者向量
T(y)是充分统计量(sufficient statistic)(对于我们考虑的分布来说,通常T(y)=y);
给定T,a,b,通过改变参数 η 得到不同的分布.

广义线性模型 generalized linear models GLM

为了导出GLM,作三个假设:
(1) y|x;θ ~ ExponentialFamily(η)
(2)给定x,我们的目标是预测T(y)的预期值. 在大部分例子中,我们有T(y)=y,因此意味着我们通过学习得到的假设满足 h(x) = E[y|x] (这个假设对logistic回归和线性回归都成立)
(3)自然参数和输入变量是线性相关的,也就是说η =θTx (如果自然参数是向量,则ηiiTx

例:伯努利分布 => logistic回归
机器学习学习笔记2(Ng课程cs229)_第3张图片

Multinomial 多项式分布

指示函数
1{True} = 1, 1{False} = 0

softmax回归(softmax regression).是logistic回归的推广
机器学习学习笔记2(Ng课程cs229)_第4张图片

反过来可以得到,
在这里插入图片描述
机器学习学习笔记2(Ng课程cs229)_第5张图片

θ1…θk-1 是k-1个n+1的参数向量

判别学习算法 discriminative learning algorithms 和 生成学习算法 generative learning algorithms

判别学习算法:

  • 直接学习p(y|x),即给定输入特征,输出所属的类
  • 或学习得到一个假设hθ(x),直接输出0或1

生成学习算法:

  • 对p(x|y)进行建模,p(x|y)表示在给定所属的类的情况下,显示某种特征的概率。处于技术上的考虑,也会对p(y)进行建模。
  • p(x|y)中的x表示一个生成模型对样本特征建立概率模型,y表示在给定样本所属类的条件下

例:在上例中,假定一个肿瘤情况y为恶性和良性,生成模型会对该条件下的肿瘤症状x的概率分布进行建模
对p(x|y)和p(y)建模后,根据贝叶斯公式p(y|x) = p(xy)/p(x) = p(x|y)p(y)/p(x),可以计算:p(y=1|x) = p(x|y=1)p(y=1)/p(x),其中,p(x) = p(x|y=0)p(y=0) + p(x|y=1)p(y=1)

高斯判别分析 Guassian Discriminant Analysis

假设 p(x|y) => Guassian
在这里插入图片描述

多元高斯分布

二元正态分布的概率密度函数改写成矩阵-向量形式 http://blog.csdn.net/neu_chenguangq/article/details/46581987
如图像:
机器学习学习笔记2(Ng课程cs229)_第6张图片

机器学习学习笔记2(Ng课程cs229)_第7张图片
将上式推广至N维:
在这里插入图片描述
即:
在这里插入图片描述
其中:

  • μ 相当于每个正态分布的对称轴,是一个一维向量
  • Σ是协方差矩阵

高斯判别分析:

机器学习学习笔记2(Ng课程cs229)_第8张图片

机器学习学习笔记2(Ng课程cs229)_第9张图片
机器学习学习笔记2(Ng课程cs229)_第10张图片

机器学习学习笔记2(Ng课程cs229)_第11张图片
叫做joint likelihood
而之前学习的
机器学习学习笔记2(Ng课程cs229)_第12张图片
叫做 conditional likelihood

求出最大似然估计为:
机器学习学习笔记2(Ng课程cs229)_第13张图片

μ0分子为y=0时所有x的和,分母为y=0的个数,μ0为所有负样本的平均值
μ1同理
机器学习学习笔记2(Ng课程cs229)_第14张图片
P(y=0) = P(y=1)
argmax使结果最大的参数的值(使y最大的x的值)
机器学习学习笔记2(Ng课程cs229)_第15张图片
左面P(x|y=0) 右面P(x|y=1)
最后计算P(y=1|x)
P(x) = P(x|y=0)P(y=0) + P(x|y=1)P(y=1)

logistic回归和高斯判别分析

机器学习学习笔记2(Ng课程cs229)_第16张图片
高斯判别分析假设更强
如果x|y服从高斯分布,使用高斯判别效果更好
如果数据服从柏松分布,使用logistic回归也会得到较好的结果,但是使用高斯判别则不会
高斯判别的优点:使用数据少(因为数据不是精确符合高斯分布,而是近似高斯分布)

上面的公式推导
x | y=1 ExpFamily(η1)
x | y=0 ExpFamily(η0)
=> P(y = 1|x) is logistic

logistic回归建模的鲁棒性

朴素贝叶斯 Naive Bayes

机器学习学习笔记2(Ng课程cs229)_第17张图片
邮件分类,需要2^50000-1个参数

做一个很强的假设,对于给定的y,x_i是条件独立的(conditionally independent)
机器学习学习笔记2(Ng课程cs229)_第18张图片
很显然这个假设是不正确的,因为一个词出现会影响到另一个词(不是条件独立的),但是朴素贝叶斯仍然有效,在对文本文件(邮件、网页)进行分类时

模型参数包括:

Φi|y=1 = p(xi=1|y=1), Φi|y=0 = p(xi=1|y=0), and Φy = p(y=1)

联合似然性(joint likelihood)为:
在这里插入图片描述
得到最大似然估计值:
机器学习学习笔记2(Ng课程cs229)_第19张图片

Φj|y = 1

y = 1 是垃圾邮件,分子表示垃圾邮件中包含单词j的邮件数量,分母表示垃圾邮件数量,垃圾邮件中出现j的概率

很容易计算:
机器学习学习笔记2(Ng课程cs229)_第20张图片

如何选取x中的词(生成词典),可以遍历邮件里所有词,也可以只取出现次数大于3的
朴素贝叶斯:求P(x|y) P(y),而P(y)=Φy, P(x|y)为假设,服从伯努利分布,xi取值0或1
如果出现一个在训练集合从未出现的词,概率为0,得到的最终的概率是0/(0+0),在过去几个月的邮件(训练数据)未出现的词,概率为0,统计的意义上是不科学的
为了优化,使用Laplace smothing(Laplace平滑)

Laplace smothing(Laplace平滑)

比如球队连输5场比赛,第6场比赛的胜率
机器学习学习笔记2(Ng课程cs229)_第21张图片

在这里插入图片描述
y有k个可能的取值

回到朴素贝叶斯问题,通过laplace平滑:
机器学习学习笔记2(Ng课程cs229)_第22张图片
分子加1,分母加1就把分母为零的问题解决了.

你可能感兴趣的:(AI,机器学习,学习笔记,cs229,高斯混合模型,朴素贝叶斯)