💡机器学习作为人工智能的核心,与计算机视觉、自然语言处理、语音处理和知识图谱密切关联
💡【机器学习】是实现人工智能的核心方法,专门研究计算机如何模拟/实现生物体的学习行为,获取新的知识技能,利用经验来改善特定算法的性能。深度学习是机器学习算法的一种,深度学习算法具有多层神经网络结构,其在图像识别、语音处理等领域取得划时代的成果。
💡根据学习范式的不同,机器学习可划分为有监督学习、无监督学习、强化学习。
⭕机器学习分类---有监督学习
有监督学习:从有标注训练数据中推导出预测函数
💡有监督学习(Supervised Learning):属于机器学习任务的一种类型,其主要是从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据该函数预测结果。
💡有监督学习的训练集要求包括【输入】和【输出】,或称为【特征】和【目标】,其中训练集中的目标是由【人工标注】的。
👉有监督学习一般包括确定训练类型、收集训练集、确定特征提取方法、选择算法、训练算法、评估准确性六大环节,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型,再利用该模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类目的。
🎈1.1有监督学习---逻辑回归
逻辑回归:对事件发生或不发生进行二元分类
逻辑回归(Logistic Regression,LR):是指学习某事件发生概率的算法,可对某个事件发生/不发生进行二元分类。💡逻辑回归使用Sigmoid函数,输出结果范围在[0,1]之间,逻辑回归的目标是发现特征与特定结果可能性之间的联系。
如下示例:根据学习时长预测学生是否通过考试,响应变量为"通过和未通过考试"。
🎈1.2有监督学习---支持向量机
支持向量机:以间隔最大化为基准学习远离数据的决策边界
💡支持向量机(Support Vector Machine,SVM):主要是以间隔最大化为基准,学习得到尽可能远离数据的决策边界算法,支持向量是确定决策边界的重要数据。
🎈1.3有监督学习---决策树
决策树:以树结构形式表达的预测分析模型
💡决策树(Decision Tree): 是一种树状结构,通过做出一系列决策(选择)来对数据进行划分,这类似于针对👉一系列问题进行选择。一棵决策树一般包含一个根结点、若干个内部结点和若干个叶结点,其中每个内部结点表示一个属性上的测试,每个分支代表一个测试输出,每个叶结点代表一种类别。⚠ 决策树生成是一个递归过程。
🎈1.4有监督学习---随机森林
随机森林:利用多决策树模型,提高模型预测精度
随机森林(Random Forest):是指利用多棵决策树对样本进行训练并预测的一种分类器。💡随机森林算法:从每个决策树收集输出,通过多数表决得到最终的分类结果。
🎈1.5有监督学习---朴素贝叶斯
朴素贝叶斯是常用于自然语言分类问题的算法
💡具体来说,就是计算数据为某个标签的概率,并将其分类为概率值最大的标签。朴素贝叶斯主要用于文本分类和垃圾邮件判定等自然语言处理中的分类问题。
如训练数据类别为电影(那部让人感动的电影名作重映,华丽的动作电影首映,复映的名作感动了世界),训练数据类别为宇宙(沙尘暴笼罩着火星,火星探测终于重新开始,VR中看到的火星沙尘暴让人感动),验证数据为'复映的动作电影名作让人感动'。🍻
另外,朴素贝叶斯也常用于自然语言分类问题的算法
⭕机器学习分类---无监督学习
无监督学习:对无标签样本进行学习揭示数据内在规律
💡无监督学习(Unsupervised Learning):主要是指训练数据在不含标记的情况下生成模型(通常在缺乏足够先验知识难以人工标注类别,或进行人工类别标注的成本高等情况下),无监督学习的目标是通过对无标签样本的学习来揭示数据的内在特性及规律。
💡无监督学习主要涉及聚类和降维问题,其中聚类问题涉及K-means聚类、概念聚类、模糊聚类等算法,聚类的目标是为数据点分组,使得不同聚类中的数据点不相似,同一聚类中的数据点则是相似的;
💡降维问题主要是主成分分析、线性判别分析、多维尺度分析等算法,其中主成分分析将数据中存在的空间重映射成一个更加紧凑的空间,此种变换后的维度比原来维度更小。
常见的无监督学习适用场景涵盖发现异常数据、用户类别划分、推荐系统等场景。
⭕机器学习分类---强化学习
💡强化学习(Reinforcement Learning,RL):又称再励学习或评价学习,是系统从环境到行为映射的学习,以使激励信号(强化信号) 函数值最大化。强化学习的关键要素有代理(Agent)、环境(Environment)、状态(State)、环境回报(Reward)
💡强化学习特点包括:
①学习过程中没有监督者,只有激励信号
②反馈信号是延迟而非即时的
③学习过程具有时间序列性质
④系统的动作会影响到后续的数据。、
🚄强化学习可分为策略迭代算法和价值迭代算法两类,典型算法包括策略梯度、Sarsa、Q-Learning、Actor-Critic等。 强化学习在游戏、自动驾驶、推荐系统等领域有着广阔应用前景。
🎈强化学习---策略梯度
策略梯度:有效处理高维及连续动作空间问题
💡策略梯度(Policy Gradient,PG):是一种基于策略优化的强化学习算法。强化学习中,机器通过判别特定状态下采取不同动作所得环境回报大小来评价采取该动作的优劣。
PG核心思想是:当一个动作环境回报较大,则增加其被选择概率;反之,减少该动作被选择概率。每个动作选择概率由神经网络决定,以参数化神经网络表示策略(记为𝜋𝜃),通过调整参数𝜃,使总体回报期望值最大化。而最大化问题可转化为求取回报函数关于参数𝜃的梯度,一般使用梯度上升算法,此即为策略梯度算法。
💡在PG算法基础上,通常进一步采取引入基线(baseline)、修改因果关系(当前策略不影响该时间点之前的回报)、引入回报权重等方式,来提高算法收敛性及收敛效率。
🎈强化学习---时序差分学习
时序差分学习:结合蒙特卡罗方法与动态规划特点,提升策略优化速度
💡时序差分学习(Temporal Difference,TD):与蒙特卡罗学习相似,不需要知晓具体环境模型,可直接从经验中学习。
TD学习结合动态规划与蒙特卡罗方法,可在每执行一步策略后即进行Q函数更新,而不必在完成一个采样轨迹后才做更新。
时序差分学习根据算法中采样策略和更新Q值策略是否相同,分为同策略算法(on-policy)和异策略算法(off-policy)。同策略代表算法为Sarsa,其行为策略和目标策略均为贪心策略;异策略代表算法为Q-Learning(或称SarsaMax),其行为策略为贪心策略,而目标策略为确定性策略。
⛳Sarsa收敛速度较快,但可能无法得到全局最优解;Q-Learning可找到全局最优解,但收敛速度较慢,因此需视具体问题选用。
🎈强化学习---深度Q网络
深度Q网络:神经网络与Q-Learning结合,有效应对复杂状态空间
🚄传统强化学习算法(如动态规划、蒙特卡罗方法、时序差分学习等),其状态均为离散、有限的,并使用查找表存储状态价值或Q函数,但现实生活中状态多为连续的,即使离散化后状态空间(系统全部可能状态的集合)仍十分庞大,因而产生内存不足、表格搜索耗时过长等问题。
💡DQN则通过DNN、CNN或RNN等神经网络对价值函数做近似表示,利用经验回放方式替代查找表,令最终结果无限逼近全局最优解,有效解决Q-Learning状态空间有限问题。
🎈强化学习---Actor-Critic算法
Actor-Critic算法:综合策略梯度与Q-Learning优势,提高学习效率和准确性
💡Actor-Critic算法(AC):又称"演员-评论家"算法,主要由策略网络Actor和评价网络Critic组成。其中,Actor使用策略梯度等基于策略优化的算法,决定当前状态下采取何种动作;Critic则使用Q-Learning等基于值优化的算法,对Actor所选动作进行评分,进而Actor根据Critic评分改进动作选择概率。
Actor-Critic算法结合策略梯度与Q-Learning算法优点,既可做到单步更新,又可扩展至连续状态空间,提高策略更新效率同时解决高偏差问题。目前,AC算法已发展出Advantage Actor-Critic(A2C)以及Asynchronousadvantage Actor-Critic(A3C)等改进型,进一步提高策略准确性、降低内存需求。
⭕机器学习---迁移学习
迁移学习:将知识由源域迁移至目标域,提高机器学习效率
迁移学习(Transfer Learning,TL):是一种机器学习方法,是把已训练好的模型参数迁移到新的模型来帮助新模型训练,其核心目标是将知识从源域迁移到目标域,让机器也可以做到"触类旁通"。
🚄迁移学习的主要优点是节省模型训练时间,且在目标域训练数据不足时,模型仍能取得较好的性能。迁移学习的训练框架可以概括为:
1)选择源模型,从可用模型中挑选出预训练模型
2)重用模型,在目标域中使用源模型进行训练
3)调整模型。模型可以在目标数据集中对输入-输出进行选择性微调,以让其适应目标任务。
🏁实现迁移学习的方式主要包括样本迁移、特征迁移、模型迁移。
⭕机器学习---联邦学习
联邦学习:以分布式机器学习方式,有效化解信息孤岛问题
🌟联邦学习(Federated Learning,FL):由Google公司首次提出,是一种由多个数据持有方协同训练模型,而不分享数据, 仅在中间阶段交换训练参数的学习机制。根据其数据分布情况,可分为【横向联邦学习、纵向联邦学习和联邦迁移学习】
🚄联邦学习的基本流程是:
1)客户端从服务器下载全局模型
2)训练本地数据得到本地模型
3)上传模型更新信息
4)中心服务器加权聚合本地模型,得到更新后的全局模型。
⚠经过多次迭代,得到趋近于集中式机器学习结果的模型。