zoukankan      html  css  js  c++  java
  • 机器学习--强化学习

    一、说在前面

      今天是这系列课程的最后一门课,虽然10节课听下来对机器学习内部的核心算法还有具体流程等等都还不太了解,但也算是对机器学习有了一个初步浅显的认识,对机器学习的探索不会止步于此。

    二、笔记

    1、强化学习概述
        机器学习方法
            有监督学习
                数据集中的样本带有标签,有明确目标
                回归和分类
            无监督学习
                数据集中的样本没有标签,没有明确目标
                聚类、降维、排序、密度估计、关联规则挖掘
            强化学习
                智能决策的过程,通过过程模拟和观察来不断学习、提高决策能力,最接近人类学习模式的机器学习方法
                例如:AlphaGo
    
        基本概念
                agent:智能体(学习的对象)
                environment:环境(和agent不断交互)
                state:状态(environment对agent的反馈)
                action:行动(根据state采取最佳的action)
                reward:奖励
    
        策略:在特定状态下应该怎么采取行动
        目标:找到最佳策略,即能够获得最大奖励的策略
    2、数学模型:马尔科夫决策过程(MDP)
        强化学习方法形式化为MDP,MDP是序列决策算法的一般数学框架
        通常将MDP表示为四元组(S,A,P,R)
            S:表示状态空间,是描述环境的状态
            A:表示行动空间,是智能体可执行的行动
            P:表示状态转移概率,状态s转换到状态s'的概率
            R:表示奖励,是环境根据智能体的动作反馈的奖励
    
        策略与目标
            策略:在马尔科夫决策过程中,最终需要求解一个策略,它是行动和状态之间的映射
                确定性策略:必须要有一个策略
                随机性策略:
            目标:
                最大化累积奖励的期望,t时刻累积奖励的期望
                为保证目标瘦脸,引入折扣因子γ,γ∈(0,1),最大化累积折扣奖励的期望
    
        强化学习的方法分类
            有模型(model-based):已知或者学习状态转移概率
            无模型(model-free):探索环境而不直接学习
                基于价值的方法:智能体每一步更新一个将状态和价值映射到一个取值函数、Q-learning、DQN
                基于策略的方法:直接优化策略函数,通过策略梯度来实现 
    
    3、Q-learning
        Q表
            建立一个表格用来存储状态和行动对应的Q值即Q(s,a)
            根据π(s)找出最佳策略
    
        Q-Learning
            状态s出发,根据策略π选择行动a,状态转换至s',得到奖励Ra(s,s')
            在状态s'下,直接利用现有的Q表,选择最大的Q(s',a')所对应的行动a'作为下一步的行动
    
    4、Deep Q Network
        在Q-learning中,当状态和行动空间是离散且维度不高时i,用Q-Table储存每个状态行动对的Q值,可以实现行动决策。而当状态和行动空间是高维连续时,使用Q-Table不现实。
    
        在Q-Learning中引入参数学习
            Q表本质上是一种映射,把状态映射为行动
            这种映射可以写成函数Q(s,a;γ),γ为函数的参数
            强化学习的过程等价于Q(s,a;γ)函数拟合
    
        核心创新:经验回收和目标网络
    
        基于策略的方法
            典型代表是策略梯度算法
  • 相关阅读:
    PE格式详细讲解10 系统篇10|解密系列
    复杂的数据类型1 C++快速入门07
    复杂的数据类型2 C++快速入门08
    复杂的数据类型2 C++快速入门08
    复杂的数据类型1 C++快速入门07
    PE格式详细讲解10 系统篇10|解密系列
    Win32基础知识1 Win32汇编语言002
    开题篇 Win32汇编语言001
    开题篇 Win32汇编语言001
    Win32基础知识1 Win32汇编语言002
  • 原文地址:https://www.cnblogs.com/suanai/p/14379281.html
Copyright © 2011-2022 走看看