Machine Learning
Linear Regression
LMS(least mean squares)
- 在使用批梯度下降(batch gradient descent)最小化代价函数时,每个theta的更新是同步的。
- 判断是否收敛是启发式的,即判断两次迭代的代价函数值的大小。
- 代价函数是一个凸二次函数,只存在一个全局最优值,而不存在局部最优值 。
- 在使用梯度下降时,每次迭代的步长会自动减小,因为梯度在减小。
- 使用随机梯度下降可以解决批梯度下降迭代次数过多的问题,但将不会收敛到全局最小值
- 将特征缩放到某个尺度内可以加快收敛的速度
The Normal Equation
- 造成不可逆的原因可能是特征的个数比样本个数多或者存在两个“相同”的特征。
Probabilistic Interpretation
- 预测值和真实值之间的误差服从高斯分布,原因是中心极限定理,总误差是由很多误差共同作用的结果。
- 最小二乘法可由极大似然估计推导出,证明了其合理性。
Locally Weighted Linear Regression
- 局部加权线性回归思想是:训练集中与测试样本距离越近样本,占的权重越大。
- 权重公式与高斯分布无关。
- 线性回归求出theta的值后不用保留训练集,而局部加权线性回归需要保留全部的训练样本。
Classification and Logistic Regression
Logistic Regression
- 梯度下降法用于寻找函数最小值,而梯度上升法用于寻找函数最大值。在线性回归中使用的是梯度下降,是最小化误差函数;在逻辑回归中使用梯度上升,是最大化似然函数。
The Perceptron Learning Algorithm
- 将逻辑回归中的sigmoid函数替换threshold函数(只有0,1两个值),就是感知机算法,该算法无法像最小二乘法一样可以用概率解释。
Newton’s Method
- 相比梯度上升法,牛顿法收敛速度更快,在逻辑回归中表现很好,但每次迭代的时候都需要求Hessian矩阵的逆,当特征个数比较多时,时间复杂度高。
Generalized Linear Models
The Exponential Family
- 指数分布族包括:高斯分布、伯努利分布、多项式分布、泊松分布、Gamma分布、Beta分布、Dirichlet分布等。
Constructing GLMs
- 构建广义线性模型均在这三个假设之下:a)随机变量服从的分布属于指数分布族;b)学习到的模型的输出为该分布的期望;c)自然参数(natural parameter)与输入x呈线性关系。
- 构建广义线性模型的大致步骤为:a)确定问题所服从的分布;b)将该分布改写为指数分布族的形式;c)通过该分布的期望构建假设函数(hypothesis);d)使用梯度下降、牛顿法等优化方法求解对数似然函数的极大值。
Generative Learning Algorithm
Gaussian Discriminant Analysis
- 判别式模型与生成式模型的区别:判别式模型是对整个数据集进行建模;生成式模型则是对正负类样本分别建模,然后比较测试样本与哪个模型更加匹配。
- GDA模型的假设为:标签y服从Bernoulli分布;正负类样本的特征x分别服从其对应均值为参数的多元高斯分布,值得注意的是,两个多元高斯分布是共用一个协方差,协方差是用整个训练集求出的协方差(并不是分开求的)。
- GDA与LR的联系:GDA假设 x|y 服从高斯分布,比逻辑回归中使用的假设更强(逻辑回归中使用的假设为P(y=1|x)是Logistic函数),这使得当数据量不足时,如果 x|y 是服从高斯分布的,那么GDA会有更好的效果。值得一提的是,假设 x|y 服从指数族分布,那么P(y=1|x)一定是Logistic函数(包含与被包含关系)。这也说明了Logistic回归有较强的鲁棒性,对模型的假设不是那么敏感。
Naive Bayes
- 朴素贝叶斯假设:每个特征都具有条件独立性,比如:“学校”这个词在一篇文章中出现了,并不会影响“学习”这个词在这篇文章中出现的概率。
- 朴素贝叶斯算法只能用于标称型的数据,对于连续型的数据,需要进行离散化处理。
- 拉普拉斯平滑:在求取概率时,分母加上y的取值个数,分子加1。其原因是:若测试集中的某个特征的取值从未出现在训练集的该特征中,会导致求取P(y=1|x)时分子分母取值均为0.
- Multinomial Event Model 的思想:以垃圾邮件分类为例,其假设一篇邮件的生成方式为,首先以一定的概率确定这篇邮件是垃圾邮件还是正常邮件,然后再以一定的概率从字典中选择词语,最终生成一封邮件。值得注意的是,这里的选词在模型中是不考虑选词的顺序的。
Support Vector Machines
- 最优化问题目标函数中可将函数间隔替换为1的原因:函数间隔是可以随着w,b的同步变化而变化的,但是超平面并没有变化,几何间隔也没有变化。也就是说函数间隔就是一个数,它的大小是对最优化问题是没有影响的,因为不管你这个数(函数间隔)变成了多少,我总可以找到一组w,b,使得w,b的变化与函数间隔的变化是同步的,因而并不影响几何间隔的求取。