自学的教程
吴恩达机器学习视频课程: https://study.163.com/course/courseMain.htm?courseId=1004570029&trace_c_p_k2=9039884a4c1f40ab98eb7fe5b0cf6e78
吴恩达老师的机器学习课程个人笔记:
https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes
1.监督学习
基本思想是,数据集中的每个样本都有“正确答案”。再根据这些样本做出预测。
可以将监督学习粗略的划分为两类:
1)回归问题:通过回归来推出一个连续的输出(典型例子:预测某一年的房价),回归就指的是根据之前的数据预测出一个准确的输出值。
2)分类问题:目标是推出一组离散的结果(典型例子:预测肿瘤是良性或恶性),根据之前的数据预测离散的输出值。
假设你经营着一家公司,你想开发学习算法来处理这两个问题:
- 你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你
想预测接下来的三个月能卖多少件? - 你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,
你要判断它们是否曾经被盗过?
问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数,一个连续的值。因此卖出的物品数,也是一个连续的值。
问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为 0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。
2. 无监督学习
无监督学习数据集的特点是,没有明确的相同的标签,所以我们的数据集就只是纯粹的数据集,而不知道每个数据点表示什么含义,不像监督学习,都有“正确答案”。
无监督学习,主要有两个大类:
1)聚类:
针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。无监督学习算法可能会把这些数据分成两个不同的簇,所以叫做聚类算法。聚类算法的应用十分广泛。比如社交网络的分析,通过某些特征对朋友进行分类;分析天文数据等等,诸多方面。
2)鸡尾酒宴问题
酒会上很多人,有的人离麦克风近,有的离得远。所以大家都在说话的时候传到麦克风中的声音不同。比如两个声音的叠加,无监督学习,可以将两个声音分离出来。