机器学习算法小节

一、机器学习的分类

传统的机器学习分类可以分为监督式学习、非监督式学习两大类,目前已经扩充并包括强化学习等。

二、监督式学习:回归 分类 两大类

1.线性回归:线性回归是最简单的回归模型,其损失函数为平方代价函数,且为一个典型的凹函数,可以通过梯度下降收敛到最低点。

对于多元问题,原理是一致的;对于高次问题可以通过提前处理特征值来完成。

2.分类问题:二分类问题的关键在于我们希望特征输入后输出值为0-1之间的值,因而我们可以采用一些激活函数来完成对输入的处理,最简单的一个就是sigmod函数,该函数对于小于0的输入返回值小于0.5,对于大于0的输入值返回值大于0.5,所以可以分类为0和1。分类问题可以设计为sigmod函数嵌套线性函数,这个线性函数可以构成一个决策边界。损失函数需要重新构造,其损失函数也是一个凹函数,并使用梯度下降的方法完成。

3.SVM:支持向量机是一种大间距分类模型,在二分类问题中我们看到决策边界的定义是一个线性函数,那么对于一个二分类问题,可能会有多种决策边界,但是SVM的决策边界则会收敛为一个距离两个类别都最远的一个曲线,而且可以是非线性函数。其实现原理是通过kernels将数据升维,因为对于复杂的分类问题,在当前维度解决这个问题是一个很困难的,因而我们需要通过核函数将数据升维,在输入特征中增加核函数的一个维度,在高维的空间下便可以实现大间距超平面来完成分类。

4.神经网络:神经网络建立在感知机的模型之上,然后感知机模型的一个简单实现就是通过sigmod函数来输入0-1之间的值,通过多个激活函数的连接完成神经网络对复杂问题的决策。求解神经网络最常见的办法是通过正向传播来获取每个神经节点的输出值,然后通过BF反向传播算法来将最终结果的误差反向传递给前面所有的神经元,从而求出结果偏差对于每一个参数的偏导,从而实现梯度下降求解。

三、非监督学习:

1.聚类问题:k-means算法是一种简单易用的聚类算法,这是一种迭代算法,反复执行:根据cluster中心确定其周围原子 -- 根据周围原子重新确定cluster中心。

2.PCA降维算法:PCA降维算法,是一种线性降维的算法,简而言之,就是寻找一个距离所所有数据最近的超平面,将所有数据点全部映射到该平面上,一般用于在获取大量特征参数后对数据进行清洗。

3.异常检测算法:最常见的就是高斯异常检测算法,该算法的核心思想是将每一个特征值通过高斯函数映射到一个正态分布的曲线中,然后将所有特征值相乘,获取一个高维的高斯函数,在给定了异常的阈值后就可以根据一个输入特征向量来判断该点是否为异常点。当然这种算法有一定的局限性,它要求所给特征值没有线性关系,如果特征之间具有线性关系,那么可以通过直接构建一个高维正态分布曲线或者是新增一个特征来取消特征之间线性关系。

4.推荐系统算法:推荐系统算法本质上是多元线性回归的应用,对于每一个影片的特征向量和其对应的用户评价,那么我们可以针对这一个用户设计他自己的线性回归模型。但是这样有一个缺陷就是影片特征我们必须都明确,这样的需要对每一个影片打标签工作量较大,因此这里提出一种协同过滤算法,我们先针对用于的个人偏好设置(参数向量)和他的电影评价来实现对一个影片的特征的构造,然后再根据影片的特征和用户的电影评价来实现该用户的影片偏好。这十分类似于k-means中的迭代过程。

四、补充

1.梯度下降算法:梯度下降是机器学习算法的核心,是寻求最优结果的可行办法。常用的梯度下降算法有batch gradient descent、minibatch gradient descent和random gradient descent。第一个是最常见的梯度下降办法,但是由于每一次更新参数都需要遍历所有的数据,所以对于大数据进行池梯度下降的效率很低。mini-batch是指每次进行梯度下降的时候只选择了一小批样本进行梯度下降(在实现前先要对数据进行乱序处理)。随机梯度下降就是对每一个特征向量都进行一次梯度下降,也就是说这个mini-batch大小为1.

2.正则化、归一化、标准化:现在网上对于这几个名词的解释并不一定准确,但是我们只要明确了意义就可以了,正则化一般指的是防止参数过拟合的一种方式,在梯度下降的过程中为每一个参数设计一个正则项从而防止部分参数项的过大而导致拟合效果下降。对于归一化我们一般指的feature scaling特征缩放,特征缩放的意义是将特征值都约束在一定的范围内,这样在梯度下降的过程才会更加容易收敛。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值