一不小心也发了十几篇推送了,朋友一直说我发的啥?看不懂……
其实我在总结简单机器学习的算法,没有很高深,只要有高中的数学基础就能读懂这些。如果有小伙伴会看我写的推文,现在应该已经大概了解简单机器学习算法是什么了。
这里的“大概”,是指如果你没见过鸡,你可能不知道鸡是长这样的:
但是通过看推文,你已经知道鸡长这样了:
机器学习的主要目的是预测,预测一个结局变量,这个变量可能是分类变量,也可能是个连续型的数值变量。在分类问题中,根据训练集是否人为注释标签(lable)可以将机器学习分为监督式学习(Supervised)和非监督式学习(Unsupervised)。说白话就是你需不需要提前告诉模型,哪些个体是好的,哪些个体是不好的,如果是,这个模型就属于监督式学习了。
最常用的简单机器学习算法大概有如下十种:
1、kNN算法
2、k均值聚类
3、贝叶斯算法
4、决策树
5、随机森林
这个没有说过,但其实它的原理很好理解,就是建立很多决策树,然后进行投票选举,根据少数服从多数的原则,采纳多数决策树的预测。
6、关联规则
7、线性回归
8、逻辑回归
这两个也没有说过,是因为我觉得这两个是统计学的内容,线性回归通常解决数值变量的预测,logistic回归是广义线性模型(glm)的一种,解决分类预测。
9、支持变量机
10、人工神经网络
这两个算法也叫黑箱算法,因为它们太复杂了,你完全解释不了一个模型是怎样工作的,所以只关注结果就好了。
大概的工作原理:支持向量机是根据特征变量将一个观测投射到一个n维的空间上去,例如一个点A(x,y),它有两个特征变量,分别是x和y,这时支持向量机会把它投射到一个二维的平面上,如果有一群这样的点,可不可以通过画一条线,将属性不同的点尽量切割,分到线的不同边。这里又分线性可分的情况和线性不可分的情况,最终的目的是计算出这样一个分割边界。二维的平面我们很好理解,三维的空间也很好理解,维度再高我们就不是很好理解了,可是算法能做到。
人工神经网络是机器学习的顶级算法了,它模拟生物的神经系统,设立不同层数的神经节点,最终产生输出。通常人工神经网络最直观的特征包括三个,分别为层数、每层节点数、节点的激活函数。每个神经网络都有三个基本层——输入层、输出层,和中间的隐藏层。如果隐藏层数大于一,那么就把这个神经网络叫做深度学习网络了,也就是所谓的“深度学习”。它几乎可以解决所有人工智能问题,目前很多应用,如自然语言识别、机器视觉、自动驾驶等,均依赖深度学习的发展和实现。
无论是支持向量机还是人工神经网络,其算法均和线性代数密不可分。由于对线性代数不熟悉,我没办法讲明白黑箱算法的具体原理。网上有很多资源,感兴趣的朋友可以翻翻。
好了,就总结到这里了,期待以后,能继续把这个专题写下去,总结下去。
领取专属 10元无门槛券
私享最新 技术干货