首先讲的K-mean聚类原理还是挺简单的。就是你要分K个类,你就选择K个点做中心点,然后让所有的点进行计算,离哪个点最近,就选择成为这个点的类,然后更新这K个点的位置,让其成为新类的中心,然后再重复上面那个工作,直到最后这K个点都不动了,算法也就收敛了。
这里的cost function很简单,就是各个点到选取的点的距离:
但是,这K个点应该怎么选取,才会让这些无标签的点真正地分成你需要的类呢,这里有个步骤:
就想这样多次进行K-mean找到一个cost function最优的来即可。
而对于K值的选择,多半是由你下游的需求来定的,比如你要把你的产品分成三个用户群,那你的K就定3。还有一个比较量化的方法就是elbow method:
这个是主成分分析的,以前看过一个挺好的文章,所以就没太看这个 这里是那个文章
这里首先讲的是正太分布(也叫高斯分布)的检测方法,就是利用各个特征独立且都符合正态分布的特性,通过极大似然法确定分布的均值和方差。然后建立p(x)模型,来判断新来的点是否异常,如果出现概率较小,那说明异常。具体见下图:
之后讲如何评价一个异常检测系统:
至于什么时候使用异常检测,什么时候使用监督学习,视频中给出这样的建议:当正样本很少的时候,并且未来的正样本可能与现在的正样本不同的时候采用异常检测。而监督学习则在正负样本都很多的时候使用:
然后给出了如何选择异常检测算法特征的方法:
多元高斯分布:
独立分布模型和多元高斯分布模型的对比:
基本思想就是多元高斯分布可以看出来特征之间的关系,而初始模型你还需要一一构建,但是初始模型计算量比较小,更加常用,而多元的必须是样本数大于特征数否则可能会造成Σ不可逆。
这张图就是推荐系统的精髓之所在:
参数说明:
其中Θ就是用户对于各类电影的评价分数,x则是某部电影属于哪类电影的向量(比如有0.9的浪漫,0.1的动作等等),y就是用户给电影打的分数。
而具体的算法也和之前的回归啊之类的差不多:
而其向量化表示更加简洁:
最后讲了一下要是来了一个啥也不知道的用户应该咋办:全部取均值。
对于大规模(上亿)的机器学习,传统的梯度下降法有个很大缺陷是需要把所有数据一次读入,十分耗时。所以要使用一种随机梯度下降法:
随机梯度下降法的意思,首先对于(x1,y1),让所有的参数Θ能更好拟合(x1,y1),然后让所有的参数Θ能更好拟合(x2,y2)。另外外层循环一般执行1-10次。
计算机讲究折中的艺术,因此就出现小批量梯度下降法:
如何判断你的梯度下降是收敛的呢:
这章里比较有价值的有两个知识点,一个是滑动窗口一个是上限分析。
即当文字检测由人亲自完成时,系统的准确性为89%提高了17%,当文字分割正确率是100%时,系统准确率变为90%,提高了1%;文字识别正确率为100%时,系统提高10%.这样你就会发现,如果把功夫用在文字检测上会比用在文字分割上获得的准确率提升更大。 最后介绍如何获得更多的数据,首先要问的问题就是 How much work would it be to get 10x as much data as we currently have? 所以该如何获得大量数据呢,比如对于文字检测,首先你可以获得文字库的文件,然后用处理软甲使其变形,或者给其背景增加噪点之类的。当然,在获得大量数据前,你要有个低偏差的模型,否则这一切是没有用的。
啊,终于写完了,这里是说好的课程链接。希望大家看得愉快~