《机器学习实战》第一章读书笔记

看过第一章之后,个人认为这里有三个比较重要的问题

一、机器学习的主要任务

二、如何选择合适的算法

三、开发机器学习应用的步骤

一、机器学习的主要任务

1.分类

在分类问题中,机器学习主要任务是将实例数据划分到合适的分类中

2.回归

在回归问题中,它主要通过给定数据点拟合曲线来预测数值型数据。


分类和回归属于监督学习,之所以是监督学习是因为这类算法必须知道预测什么,即目标变量的分类信息。与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类。将寻找描述数据统计值得过程称之为密度估计。此外,无监督学习还可以减少特征数据的维度,以便我们可以使用二维或者三维图形更加直观的展示数据信息。

用于监督学习的算法:KNN、线性回归、朴素贝叶斯、局部加权线性回归、SVM、Ridge回归、决策树、Lasso最小回归系数估计

用于无监督学习的算法:K-均值、最大期望算法、DBSCAN、Parzen窗设计


二、如何选择合适的算法

有人可能会想几种算法都解决同一类问题,那我们是不是就可以只精通一种可以解决这类问题的算法就可以了?答案是否定的。在我们选择实际可用的算法时,必须考虑下面两个问题1.使用机器学习算法的目的是什么,想要算法完成何种任务,是预测明天下雨的概率还是对投票者按兴趣分组?2.需要分析和收集的数据是什么?

首先根据第一条,使用机器学习算法的目的是什么。如果你想预测目标变量的值,则可以选择监督学习算法,否则就使用无监督算法。当你确定用监督算法之后,需要确定目标变量的类型,如果目标变量是离散型的,如是/否、1/2/3、A/B/C等,则可以选择分类算法;如果目标变量是连续型的数值,如0~100,-1000~1000等,则需要选择回归算法。

如果不想预测目标变量的值,则可以选择无监督学习算法,进一步分析是否需要将数据化为离散的组。如果这是唯一的要求,则使用聚类算法,如果还需要估计数据与每个分组的相似度,则需要使用密度估计算法。

但这些规则也不是一成不变的,本书第九章用分类算法来处理回归问题,说明我们还是要根据多方面的考虑来选择算法。

其次就是要考虑的是数据问题。我们应该充分了解数据,对实际数据了解的越充分,越容易找到合适的算法。主要应该了解数据的以下特性:特征是离散型的还是连续型的变量,特征值中是否存在缺失的值,何种原因造成的缺失值,数据中是否存在异常值,某个特征发生的频率如何等等。

我们只能在一定程度上缩小算法的选择范围,一般不存在最好的算法或者可以给出最好的效果的算法,同时还要尝试不同算法的执行效果。对于所选的每种算法,都可以使其它的机器学习技术来改进其性能。


三、开发机器学习应用的步骤

1.收集数据,可以使用公开数据,也可以使用爬虫爬取数据。

2.准备输入数据,确保输入的数据格式正确。

3.分析输入数据,此步骤主要是人工分析以前得到的数据

4.训练算法,把处理好的数据输入算法进行训练。

5.测试算法,利用测试集测试算法的准确性。

6.使用算法,将机器学习算法转换为应用程序。


猜你喜欢

转载自blog.csdn.net/nageaixiaodenanhai/article/details/79758884