NG_ML_Cousera_Summary

来源:互联网 发布:心理健康测试软件 编辑:程序博客网 时间:2024/06/03 21:16

NG_ML_Cousera_Summary


Abstract:

topic
上完了NG在Coursera上的machine learning,自己给自己做个总结吧,主要的知识点入上图所示


1. Supervised Learning

1.1 Linear Regression

 线性回归,主要通过线性方程h(x)=θ1x+θ0 去拟合输出。Cost方程如下
 这里写图片描述
 然后通过梯度下降更新参数
 这里写图片描述
 more detail:
 这里写图片描述
 ng还给出了另一种求解方式,即通过矩阵方程直接求得最终 theta,不过显然这与GD方法会存在数据规模与速度上的tradeoff。

1.2 Logistic Regression

 线性回归是用在回归问题上,逻辑回归虽名为回归,实则分类。
 现在对raw output做了个非线性变化sigmoid将其映射到0~1之间,以代表分类的confidence。
    这里写图片描述
 与是可以得到其Loss为下图
 这里写图片描述
 更新参数与线性回归类似
 这里写图片描述
 向量化版本:这里写图片描述

1.3 Neural Networks

 太多啦~不做总结了,要去细看。

1.4 Support Vector Machines

 Coursera上是由逻辑回归展开的,对其非线性变化sigmoid进行替换如下
 这里写图片描述
 于是对逻辑回归式子:
 这里写图片描述
变成了,cost如上图所示
这里写图片描述
当y=1时, 我们希望构建新的代价函数如cost 1 (z)所示,当z>=1时,cost 1 (z)=0
当y=0时,我们希望构建新的代价函数如cost 0 (z)所示,当z<=-1时,cost 0 (z)=0
调整后的Loss函数是一个凸函数,即不会陷入局部最小值。
这里写图片描述
如上图在式子中θ表示的是一个分割平面的法向量,而对于运算θ`X来说,这个运算其实是等价于p(i)||θ||,其中这里p(i)是x(i)在特征向量θ上的投影长度。故Loss即希望希望正负类可以尽可能的远离分割平面,对z值而言即尽可能趋于相应极值,即p(i)||θ||取向正无穷与负无穷。
故当C越大时,相当于正则项变小,theta可以变大,即p(i)可大可小,故对距离距离变得不敏感,会去迎合一些outlier,因为其p(i)也可以符合平面距离的阈值。便容易过拟合,high variance。
当C变小,时theta变小,p(i)只能变大,此时距离敏感,迎合outlier会使大量正常样本不符合阈值,故outlier易被忽视。 也易欠拟合,high bias。

kernels

核函数即对其特征进行变化,使SVM可以更加表现力,除了多项式变化外,还有高斯核。
这里写图片描述
其中l为landmark,可见f表示对每个地标的距离,在选取地标时,事实上是将landmark设置为样本特征。也就是新特征即代表着对原有特征的远近。当σ越小时,新特征也会越敏感,也容易导致过拟合,反之则欠拟合。

2. Unsupervised Learning

2.1 K-means

 在看了这门课之前我一直以为K-means很难。。原来这么通俗易懂。。(私以为)。
 K-means是一个聚类算法,无监督。
 K-means会先生成k个点,相应的即会有K个聚类Cluster。
 这里写图片描述
 然后会对每个样本特征计算到每个点的距离,将其分配到离他最近的一个点的麾下。
 这里写图片描述
然后计算每个点其麾下特征的平均值mu,mu即为该点的新坐标。
然后样本分配归属点->计算mu,移动点->归属->移动->…如此反复直到聚类点不在移动。
需要注意的是初始聚类点的确定,采用的方法是将其初始化为m个样本特征中选取而来的k个,可以多做几次选取,选取初始Loss(如下图)最小的方案。
这里写图片描述

2.2 Principal Component Analysis

 PCA是一个非常常见的降维手段。其方式是寻找在特征空间中的一个低维空间,该空间可以使得原空间内的特征值在映射至该子空间时丢失的数据量最小。然后以该子空间去表示原空间上的特征。在表示上与线性回归有一点相似。
 这里写图片描述
 这里写图片描述
 当可以看到LR是,尽量缩短其h(x)与y的绝对差,而PCA是尽量缩短x与子空间的绝对距离,该距离越小等同于投影时损失越小。在进行PCA前应先mean normalization。
 这里写图片描述
 然后对所有样本计算协方差矩阵sigma。
 对协方差矩阵进行奇异值分解,计算出其特征矩阵,特征向量按特征值大小降序排列。对Octave,svd(…)可以计算。U即特征矩阵。z为投影后的低维特征向量。
 这里写图片描述
 至于如何选取K,一种是根据需要,另一种可以看projection error,即损失值,对Octave可以通过svd的第二个返回值快速计算。
 这里写图片描述
 也可以通过z值,返回估计原特征空间的值 ,即原特征向量“投影点的坐标”。
 这里写图片描述

2.3 Anomaly Detection

 仅通过高斯分布来计算概率。
 高斯分布
 若变量X符合高斯分布,记为 x~N(μ,σ^2 )。用训练集去计算μ,σ。每个特征都单独计算,可以对特征做些变化使其适合高斯分布(log,^2,^1/2),然后累乘为最终结果,因为将其认为独立变量。可以通过高斯变式增强其对特征分布的适应性。
 这里写图片描述
 对比有监督学习,其可以在正负类不平衡的时候工作。
 这里写图片描述
 然后可以设置阈值epsilon,当p

3. Others

3.1 Recommend System

 对每个物品有其特征向量x,对用户有其特征向量theta,一个物品的rating=theta` * x。
 于是可以分别在已知其一的情况下,学习另一个。
 即y(i,j)为用户j对物品i的评分。r(i,j)=1/0 代表是否有评分。
 这里写图片描述
 这里写图片描述
 这里写图片描述
 这里写图片描述
 于是可以通过随机初始值的情况下,迭代反复,互相学习。故简化如下
 这里写图片描述
 对新用户而言,事实上可以将其对物品的评分初始化为平均值参与计算。

3.2 OCR

 OCR分为几个步骤 文字检查->文字切割->文字识别。
 文字检测是用一个滑动窗口在输入图片上以一定步长进行滑动,对窗口内的图像进行判断是否是一个物品。类似的在行人检测中也可使用,物体识别也是这样。但我认为这应该是一个比较粗暴的办法吧。。。
 其他两步也就是通过分类器实现啦~。

3.3 recall与precision

这里写图片描述
 tp ground truth=1,h=1,本来为1,判断为1
 fp ground truth=0,h=1,本来为0,判断为1
 fn ground truth=1,h=0,本来为1,判断为0
 tn ground truth=0,h=0,本来为0,判断为0
 acc=(tp+tn)/total
 P即被判断为1的样本中确切是1的比例,R即本就为1的样本被判断为1的比例。
 P越高代表命中率越高查杀越准,相应的就有漏掉的情况,R越高代表查杀严格,误判高。
 F1=2*(P*R)/(P+R)。F1越高,一般认为结果越好。

0 0