对于只有很少线性代数基础或根本没有的读者而言,课程可以侧重于第一部分和第二部分,并且仅简单了解一些更高级的应用 。而熟悉背景知识的读者可以快速过一遍前面两部分,并将重点放在最后的应用部分上 。除了线性代数等数学基础,这本书还介绍了很多机器学习应用,包括比较流行的 K 均值聚类等 。而这些机器学习算法主要都介绍了数学表现形式和伪算法,并不涉及具体的代码,读者可另外查看这本书的配套代码实现 。
这本书提供的了基于 Julia 语言的配套代码!下面我们将简要介绍聚类这一方面课本内容与对应的 Julia 代码 。聚类也就是说将同类的无监督数据聚在一起,它的目标函数可以简单地定义为各样本到对应聚类中心的距离和 。如果这个距离和非常大,那么聚类的效果就不好,我们会希望通过最优化算法最小化这个距离 。在这本书中,距离可以定义为:而 K 均值聚类会更形象地利用图像展示聚类效果,下图展示了 K 均值聚类迭代一次的更新过程:而这一更新过程会有对应的为代码:除了这些基础内容外,这本书还会展示很多可视化内容以帮助理解理论知识,例如展示了最终聚类结果的图 4.4 和展示了损失函数下降趋势的图 4.5:当然,K 均值聚类还提供了对应 Julia 实现,如下展示了实现该算法的代码,读者在学习这本书的同时还能顺便学学 Julia 语言 。
【全球海量爆款!,线性代数pdf】function kmeans(X, k; maxiters = 100, tol = 1e-5)if ndims(X) == 2X = [X[:,i] for i in 1:size(X,2)]end;N = length(X)n = length(X[1])distances = zeros(N)reps = [zeros(n) for j=1:k]assignment = [ rand(1:k) for i in 1:N ]Jprevious = Inffor iter = 1:maxitersfor j = 1:kgroup = [i for i=1:N if assignment[i] == j]reps[j] = sum(X[group]) / length(group);end;for i = 1:N(distances[i], assignment[i]) =findmin([norm(X[i] - reps[j]) for j = 1:k])end;J = norm(distances)^2 /Nprintln("Iteration。
- 年全球十大畅销手机 2020手机
- 茅台集团市值全球排名,三星集团市值全球排名
- 全球房价排行榜 济南,济南房价最高的区域是哪里
- 《全球能源互联网》期刊,全球能源互联网研究院
- 2020全球安防50强,全球安防网
- 什么游戏最火,这些火爆全球的游戏
- 排名前三的手机品牌 手机排名前三
- 拍照稳居全球第一名 全球手机拍照第一名
- 海尔手机官方网站,海尔V80海尔全球CALL海尔全球CALL手机 价格多少
- 火爆全球的洗碗机实用吗,洗碗机实用性大吗
