1.机器学习分类
目前机器学习主流分为:有监督学习,无监督学习,强化学习。
1.有监督学习:
通过学习许多有标签的样本,然后对新的数据做出预测。例如,准确识别新照片上的水果(分类)或者预测二手房的售价(回归)。
有监督学习可分为回归和分类。
回归:即给出一堆自变量X和因变量Y,拟合出一个函数,这些自变量X就是特征向量,因变量Y就是标签。 而且标签的值连续的,例LR。
分类:其数据集,由特征向量X和它们的标签Y组成,当你利用数据训练出模型后,给你一个只知道特征向量不知道标签的数据,让你求它的标签是哪一个?其输出结果是离散的。例如logistics、SVM、KNN等。
2.无监督学习:
我们事先没有任何训练样本,而需要直接对数据进行建模。
比如我们去参观一个画展,我们完全对艺术一无所知,但是欣赏完多幅作品之后,我们也能把它们分成不同的派别。无监督学习主要算法是聚类,聚类目的在于把相似的东西聚在一起,主要通过计算样本间和群体间距离得到,主要算法包括Kmeans、层次聚类、EM算法。
在无监督学习中,我们基本上不知道结果会是什么样子,但我们可以通过聚类的方式从数据中提取一个特殊的结构。
3.强化学习:
强化学习是一种学习模型,它并不会直接给你解决方案——你要通过试错去找到解决方案,Alphago用的就是强化学习。
强化学习不需要标签,你选择的行动越好,得到的反馈越多,所以你能通过执行这些行动看是输是赢来学习下围棋,不需要有人告诉你什么是好的行动什么是坏的行动。
2.机器学习的三要素
模型:判别模型,生成模型
策略:按照什么样的准则学习,从而定义优化目标。最通俗来说就是如何确定损失函数
损失函数与风险函数
经验风险最小化与结构风险最小化
算法:合适的最优参数
算法指学习模型的具体计算方法。通常采用数值计算的方法求解,如:梯度下降法。
3.经典机器学习算法
4.具体案例
4.1.线性回归
为了理解简单,我们按照一元回归为例进行分析。
一元线性回归方程可以用
表示。
其中该方程我们在机器学习里面称为:假设函数。
1.假设函数
有了假设函数之后,我们的目的是:寻求一个最佳的参数a0,a1,使得样本集的点尽可能落在这个函数上。
为了计算出最佳参数a0,a1,产生了代价函数,用来衡量假设函数计算出来的预测值与实际值的差距。
2.代价函数
线性回归里面代价函数使用的最小二乘法。
具体函数如下:
为了尽量减少预测结果与真实值的差距,需要最小化代价函数。
3.如何计算使得代价函数最小呢?
对于一元线性方程(的假设函数)来说,它的图像是一条直线。
而代价函数则是一个凸函数(对于y=kx来说,是一个抛物线;对于y=kx+b来说,是一个三维的类似于碗形状的图像)。
计算最小化代价函数,其实就是求这个凸函数的最低点。
获取凸函数的最低点的方式:
1.可以直接对这个函数求导,计算导数为0的电,即凸函数的最低点,即我们所需要计算的值。
2.可以采取梯度下降算法。(梯度下降法最大的问题是可能计算出来的是局部极小值,这与初始点的选取有关。)
梯度下降法是按下面的流程进行的:
1)首先随机选取一个点,也可以是一个零点。
2)分别求此点关于参数的偏导,即斜率(决定下山的方向)。
3)更新点的坐标信息。
公式如下:
具体实现可以参照:此博客
有关:损失函数 代价函数 目标函数的区别,可以参照此博客讲解的很详细。
其中我把比较重要的截图放到此处