算法简介

机器学习的工作:前期的数据预处理,后期的参数选择
归一化范围的选取,降维算法的选取,最佳参数选取的算法

线性回归

拟合出一条直线来最佳匹配所有的数据
最小二乘法:求解一条直线,使所有误差的平方和最小
函数求极值:数学上,求导数为0,计算机不适用,可能求解不出来,也可能计算量太大;机器学习中,梯度下降、牛顿法

逻辑回归

在线性回归的结果上加了一个sigmoid函数,将数值结果转化为了0到1的概率
一般来说,它的分类线都是线性的,当然也可以画出非线性的决策边界,但数据量大时效率低,于是,出现了神经网络和支持向量机,它们可拟合出非线性的分类线

感知机

包含输入层、一个隐含层、输出层,处理线性分类问题,由分离超平面来分类判别。PLA的任务是找到分类函数h(x),即求出参数w和b,当x的维度为2时,h(x)为直线,当x的维度>2时,h(x)为平面。可以把h(x)理解成一种加权和。
知错就改型,它会对每一个样本都去检验,有错误,就更新W调整h(x),如何更新呢,如梯度下降的方式去最小化损失函数L,这样找到更新的W

  1. 几何上理解(钝角,锐角),Wt+1=Wt+ηYiXi
  2. 每次更新w,使L(W)最小化,从而修正这条线或平面

感知机学习出来的超平面wx+b并不是唯一的,因为其选择了

  1. 不同的初值
  2. 在训练中是随机地选择一个误分类点进行更新w,b

感知机的缺点
感知机是线性的模型,不能表达复杂的函数,不能解决线性不可分的问题,连异或问题都无法解决,那如何解决线性不可分的问题呢

  1. 用更多的感知机去进行学习,也就是人工神经网络的由来
  2. 用非线性模型,核技巧,如SVM进行处理。将特征
    (线性回归,高次项。。?这种可以吗?)
逻辑回归和感知机算法是比较相似的,在做预测的时候,逻辑回归可以输出一个概率,而感知机就只输出是与否,如果我们把逻辑回归模型中>0.5的情况下认为是“是”,小于等于认为是“否”的话,那么两者就非常相近了

神经网络

学习机理:分解和整合
将原始样本分解成特征,学习后,处理或输出
理解:正方形——>折线——>两条直线
由此,一个复杂图形变成大量细节进入神经元
(A OR B) AND (A NAND B) 的结果 与A XOR B的结果是一样的,所以可以组合多个感知器来表示XOR,每个样本的特征表述都被输入到两个神经元:一个NAND神经元和一个OR神经元。这些神经元的输出将连接到第三个AND神经元上,测试XOR的条件是否为真.
人工神经网络分为两种类型,前馈人工神经网络,反馈人工神经网络(或RNN)
BP算法的详细过程,点此链接http://blog.csdn.net/u013719780/article/details/51755747

SVM

可以说是逻辑回归算法的强化
支持向量:一个点到这个决策边界的最小间隔时的向量
找到一个决策边界,使得数据集中所有点到它的向量产生的 间隔最大
通过和“高斯核”的组合,svm可以表达出非常复杂的分类界线
核:将低维的空间映射到高维的空间

聚类

计算种群中的距离,根据距离的远近将数据划分为多个族群

降维,(代表PCA)

将数据从高维降低到低维层次
如,房价包含房子的长,宽,面积等特征,但长宽与面积重叠了,通过降维便可以去除冗余相关信息

子算法

梯度下降:线性回归、逻辑回归、神经网络、推荐算法
牛顿法:线性回归
BP:神经网络
SMO:SVM

深度学习

多隐层的神经网络具有优异的特征学习能力,学习得到的是对数据有更本质的特征,从而有利于可视化和分类
深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服
(Geoffrey Hinton在<>上发布的文章)

你可能感兴趣的:(算法简介)