本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
无监督学习
有监督学习的特点:给出数据集,给出已知的结果集,通过计算确定哪个结果对应变量。如癌症的良性/恶性。
无监督学习的特点:只给出一组数据集,不知道是什么类型,不知道有什么特点,结果也是未知的,需要算法自己分析数据集。典型的算法例如:聚类算法。
典型的无监督学习:谷歌新闻。谷歌每天抓取几万-几十万新闻,通过聚类算法将新闻分词若干个不同的主题,将同类新闻集合显示在同个主题下。
无监督学习、聚类算法的应用非常广泛:大数据机器的使用、社交媒体的特征标签及人脉关系、客户的用户画像、天体运行研究等。
鸡尾酒会算法
假设酒会上有N个人,M个麦克风,每个人同时在说话。由于每个人距离每个麦克风的距离是不一样的,因此每个麦克风录下来的声音也是不一样的。
鸡尾酒会算法的功能就是,获取这M个麦克风的音频,通过算法分析、还原出N个声音轨道。
而整个算法的代码只有一行:
[W,s,v] = svd((repmat(sum(x.*x.1),size(x,1),1).*x)*x');
选择不同的编程环境,其代码也会不同。教程选用octave
Octave 和 Matlab 有相似性,也可以自己用Matlab实现。
在很多硅谷公司里,大部分人会用 Octave 先建立机器学习的算法模型,当这个模型可以使用以后,再用c++ java python 等其他编程语言移植。Octave 中内置了许多复杂的函数,这些函数是其他编程语言所没有的,如果一开始就用c++ java之类的语言,那么Octave 一行可以搞定的问题,他们可能需要写非常多代码,连接很多个库才行。
octave
下载
octave.org/download 根据系统情况下载
windows 安装
windows系统:win 10 允许安装包,按步骤点下一步安装即可。 安装过程中,会修改系统dl文件,杀毒软件可能会提示信任或拦截,可以直接信任整个程序。 安装完成后,桌面生成俩程序:
第一次运行octave GUI
GUI 社区新闻(可以理解成GUI软件包更新):octave.org/community-n…
GUI启动后界面
CUI启动后界面
macos 安装
macOS 10.12版本,由于兼容性问题,只能安装旧版本,考虑与windows系统的一致性,以及后续学习需要,先更新macOS至最新版,再进行octave安装。
更新macOS:support.apple.com/zh-cn/HT201… 在App Store中下载新版macOS,然后允许安装即可。安装后不会覆盖旧系统的程序,但第一次打开程序时可能会更新配置。