机器学习的概念:
机器学习是一个通用的工具,机器学习研究的对象是多维向量空间的数据。它从各种不同类型的数据(数字,文本,图像,音频,视频)出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到数据的分析与预测中去。
一:机器学习分类:
主要分类两种:1.有监督学习 supervise Learning 2.无监督学习,Unsupervise Learning后面还扩展出来3.半监督学习 4,强化学习ReinforcementLearning
1.有监督学习:(分类)
有监督学习是指进行训练的数据包含两部分信息:特征向量 + 类别标签。也就是说,他们在训练的时候每一个数据向量所属的类别是事先知道的。在设计学习算法的时候,学习调整参数的过程会根据类标进行调整,类似于学习的过程中被监督了一样,而不是漫无目标地去学习,故此得名。
训练数据集:包括训练数据(特征向量),以及对训练数据的标签(例子:狗 动物,羊,动物,板凳非动物);
测试数据集:对机器学习后的模型进行验证的数据集,包括测试数据(特征向量)和测试数据的标签;
2.无监督学习:(聚类)
无监督学习是指相对于有监督而言,无监督方法的训练数据没有类标,只有特征向量。甚至很多时候我们都不知道总共的类别有多少个。因此,无监督学习就不叫做分类,而往往叫做聚类。就是采用一定的算法,把特征性质相近的样本聚在一起成为一类。
3.半监督学习(聚类+分类)
半监督学习是一种结合有监督学习和无监督学习的一种学习方式。它是近年来研究的热点,原因是在真正的模型建立的过程中,往往有类标的数据很少,而绝大多数的数据样本是没有确定类标的。这时候,我们无法直接应用有监督的学习方法进行模型的训练,因为有监督学习算法在有类标数据很少的情况下学习的效果往往很差。但是,我们也不能直接利用无监督学习的方式进行学习,因为这样,我们就没有充分的利用那些已给出的类标的有用信息。
先用无监督学习进行聚类,人工参与对聚类进行标签化,再进行有监督学习。
4.强化学习 强化学习是不同于有监督/无监督/半监督学习模式;是没有标签,但是会对机器的每一种尝试进行不同的奖励或者惩罚,机器最终给出一个奖励最大值的路径。
强化学习机制就类似于迷宫游戏
强化学习的几个要素
1)环境(标准的为静态stationary,对应的non-stationary)(迷宫中的每个点)
2)agent(与环境交互的对象)(黄色或者蓝色的小人)
3)动作(action space,环境下可行的动作集合,离散or连续)(在每个点允许的动作,⬆ ➡等)
4)反馈(回报,reward,正是有了反馈,RL才能迭代,才会学习到策略链)(小人往前走会加分,被大嘴吃到减分)
5)输出(Policy)在每个状体下,得分最高的选择是什么?
结果P=f(s.a.r)
二:几种机器学习的区别
监督学习(SL):给很多数据和标签(x,y),从这些数据中寻找函数 y=f(x)。
非监督学习(UL):发现数据中隐藏的结构和规律,也是寻找函数 ,只不过没有标签。
强化学习(RL):没有明确的指导信号,reward可以看做是指导信号,类比SL是求解函数 ,其中x是Agent的状态,z是Agent在该状态获得的奖励reward,f是要求解的策略policy,y则是输出的动作action,即根据状态和奖励序列求解最优策略。
RL 和SL UL的另外一个重要区别是SL UL需要满足数据是服从独立同分布的,而RL则不满足这个条件,因为Agent和环境交互过程中,它们的状态都是不断变化的,破坏了数据独立同分布的性质。RL系统中是时间往往很重要,这也是D.Sliver大神的观点,RL本质是对连续序列做决策的过程。
个人理解,强化学习是没有谁告诉你下一步该怎么走,要自己摸索,每一个动作对应一个奖赏,最后得到一个奖赏最大的方式进行数据处理。而监督学习是有数据和标签,通过反向传播算法的反馈来调节参数,直到误差最小
三:机器学习的算法
分类算法: 逻辑回归(LR),朴素贝叶斯(Naive Bayes),支持向量机(SVM),随机森林(Random Forest),AdaBoost,GDBT,KNN,决策树……
回归算法: 线性回归(LinearRegression),多项式回归(Polynomial Regression),逐步回归(Stepwise Regression),岭回归(Ridge Regression),套索回归(Lasso Regression)
聚类算法: K均值(K-Means),谱聚类、DBSCAN聚类、模糊聚类、GMM聚类、层次聚
降维算法: PCA(主成分分析)、SVD(奇异值分解)
推荐算法: 协同过滤算法
四:机器学习的数学基础和工具
微积分 线性代数 统计学
python pycharm
文中使用了较多CSDN和知乎的知识,仅用于笔记。