一、监督学习和无监督学习
1.1 监督学习:
监督学习:给出数据集和正确答案,要求机器给出更多的正确答案(实现预测)
离散数据问题 && 分类问题
单个 or 多个 特征/属性
特征:年龄、肿瘤尺寸;
1.2 无监督学习
将数据集分簇 -> 聚类算法,聚类算法只是无监督算法中的一种;
无监督学习:给定数据集,但没有给出正确答案,要求机器对其分类,我们并不知道这个数据集有多少类, 看机器把它们分成多少个簇;
应用:计算机集群 、社交网络、市场分析;
鸡尾酒会算法:一个酒会中两个人同时讲话,鸡尾酒会算法能将两个混合的声音分离成两个人各自的声音;
[w,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
~~~~~~ octave编程环境 or matlab,使用octave能够更快上手,使用c++、java则需要更复杂的代码(链接到库等等);一般,在octave中建立算法原型,待成熟后迁移到C++、Java或其它编译环境中;作为开发者,时间是最重要的;