算法第一章+process mining(k—means clustering )

来源:互联网 发布:日军退子弹 知乎 编辑:程序博客网 时间:2024/06/13 15:43

unsupervised learning:k-means clustering和 agglomerate凝聚

k-means clustering:首先定k个点当做中心,按照距离将其他的点分成k类。有关问题:k如何选择(一般是选一个小点的值,然后增加,最后找到最好的k值)。

凝聚的聚类方法:距离最近的凑在一起,可以根据这个画出一个dendrogram(系统图)。

算法第一章(第二部分):

如何得出算法的时间复杂度:观察,假设,预测,验证。先做实验分析,以三个数相加为0为例,时间复杂度是n的三次方。通过增加n,看时间的变化,经常把他们之间的关系通过log来画出来,因为log一下,它的函数关系就变成了直线。通过写这个程序我学到了什么:System.currentTimeMillis();可以用来获得当前时间。printwriter,scanner,file,append的方法用来操作文件。

数学模型:本来是每一个句子都要算在里面的,但是图灵说可以只考虑最大的项。

时间复杂度的分类:1,logn(二分法查找),nlogn(divide and conquer),n^2,n^3,2^n,就这几个。讲到了二分法的证明。还有用insert和binary算法可以大大的提高上面例子的时间复杂度,没时间,不写了。

算法的理论:theta是渐近线。O是上限。oumiga是下限。

java分内存的时候,不是你看到的内存,他还会分配索引。



0 0
原创粉丝点击