IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习之三(读书笔记) -> 正文阅读

[人工智能]机器学习之三(读书笔记)

  • Binary-class Classification
  • 逻辑斯蒂回归
  • Multi-class Classification

五、Classification:Probabilistic Generative Model

在分类中找一个function,它的input是一个object x,它的output是这个object属于哪一个class。
在这里插入图片描述

task:在金融上,通过某个人的信息决定要不要借钱给他;医疗诊断;手写字辨识;人脸辨识;

以下以宝可梦为例,输入一个宝可梦输出它是哪一类:
在这里插入图片描述

1.将宝可梦数值化放到function中,即特性数值化:
Total(多强)、HP(生命值)、Attack(攻击)、Defense(防御)、SP Atk(特殊攻击时的攻击力)、SP Def(特殊攻击时的攻防御值)、Speed(速度);
那么一只宝可梦就是一个7个数字组成的vector(向量);
2.Training data for Classification
在这里插入图片描述

a.建立一个function f ( x ) f(x) f(x),内嵌一个函数 g ( x ) g(x) g(x) g ( x ) g(x) g(x)>0输出为分类1; g ( x ) g(x) g(x)<0输出为分类2;
b.定义Loss Function为输出数值为错误的次数;
c.找到最好的function(方法有SVM等)
在这里插入图片描述

find best function solution(非SVM):
两个分类中,x属于分类1的概率(其中 P ( C 1 ) P(C_{1}) P(C1?)为从calss1抽出x的几率、 P ( C 2 ) P(C_{2}) P(C2?)为从calss2抽出x的几率、 P ( x ∣ C 1 ) P(x\mid C_{1}) P(xC1?)从class1中能抽到指定x的几率、 P ( x ∣ C 2 ) P(x\mid C_{2}) P(xC2?)从class2中能抽到指定x的几率):
在这里插入图片描述

以上想法叫Generative Model(生成模型,可以算某一个x出现的几率 P ( x ) = P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(x) = P(x \mid C_{1})P(C_{1}) + P(x \mid C_{2})P(C_{2}) P(x)=P(xC1?)P(C1?)+P(xC2?)P(C2?) ,就可以自己产生x)。

从training data中估测出以上4个几率值:
假设Class1为水系的神奇宝贝,Class2为一般系;400个data中,水系和一般系的当做training data 。剩下的当做testing data;

Training data:79 Water ,61 Normal;

Prior:从Class1里sample出一只宝可梦的概率:
P ( C 1 ) P({C_{1}}) P(C1?) = 79 / ( 79 + 61 ) =0.56;
从Class2里sample出一只宝可梦的概率:
P ( C 2 ) P({C_{2}}) P(C2?) = 61 / ( 79 + 61 ) =0.44;

79只水系宝贝的分布(一个点代表一只):
在这里插入图片描述

如何计算不在这79个中的海归的 P ( x ∣ W a t e r ) P(x \mid Water) P(xWater)
假设这79个点都是从一个Gaussian distribution(高斯分布)中sample出来的,如何通过79个点找到这个高斯分布?


Gaussian Distribution
mean: μ \mu μ(是一个vector)、covariance(协方差): Σ \Sigma Σ(是一个matrix);
同样的x,把不同的 μ \mu μ Σ \Sigma Σ代入function,就会有不同的形状;
同样的 Σ \Sigma Σ、不同的 μ \mu μ,代表它们几率分布最高点的地方是不一样的;
在这里插入图片描述

同样的 μ \mu μ、不同的 Σ \Sigma Σ,代表几率分布最高点是一样的,但是分布,散的程度不一样;
在这里插入图片描述


根据79个点估测出Gaussion的mean μ \mu μ Σ \Sigma Σ,根据以上Gaussion的公式可算出某x从这个Gaussion中被sample出来的几率。
在这里插入图片描述


那么怎么找这个 μ \mu μ Σ \Sigma Σ呢?
用Maximum Likelihood(极大似然)的概念:找到likelihood最大的Gaussion。
给一个Gaussion,可以算出这个Gaussion sample出这79个点的几率(likelihood):
L ( μ , Σ ) = f μ , Σ ( x 1 ) f μ , Σ ( x 2 ) f μ , Σ ( x 3 ) . . . . . . f μ , Σ ( x 79 ) L(\mu,\Sigma ) = f_{\mu ,\Sigma }(x^{1})f_{\mu ,\Sigma }(x^{2})f_{\mu ,\Sigma }(x^{3})......f_{\mu ,\Sigma }(x^{79}) L(μ,Σ)=fμ,Σ?(x1)fμ,Σ?(x2)fμ,Σ?(x3)......fμ,Σ?(x79),其中 f μ , Σ ( x 1 ) f_{\mu ,\Sigma }(x^{1}) fμ,Σ?(x1)为从这个Gaussion中sample出第一个点的几率;

likelihood最大的Gaussion写作 ( μ ? , Σ ? ) (\mu^{\ast },\Sigma ^{\ast }) (μ?,Σ?)
穷举所有的 μ \mu μ Σ \Sigma Σ看哪个likelihood最大(通过对第二个式子微分=0求极值)
在这里插入图片描述


通过以上方法得到两个分类的Gaussion:
在这里插入图片描述

回到分类问题:
在这里插入图片描述

得到的结果在testing data上的正确率是47%(原因是因为feature取的太少,原本应该是7维的):
在这里插入图片描述

一般不会每个class都给一个Gaussion,一般是share同一个covariance的matrix,即 Σ \Sigma Σ,这样就可以需要比较少的parameter(防止过度拟合):
在这里插入图片描述

那么这个Gaussion就是:
在这里插入图片描述

其中 μ 1 \mu^{1} μ1 μ 2 \mu^{2} μ2的算法和之前一样(class1中的x平均起来就变成了 μ 1 \mu^{1} μ1,class2中的x平均起来就变成了 μ 2 \mu^{2} μ2),唯一不一样的是 Σ \Sigma Σ
Σ = 79 140 Σ 1 + 61 140 Σ 2 \Sigma = \frac{79}{140}\Sigma ^{1} + \frac{61}{140}\Sigma ^{2} Σ=14079?Σ1+14061?Σ2(把原来的加起来乘以数目再平均再相加)

调整后的结果为:
在这里插入图片描述

总结:three steps

  • Function Set(Model):
    在这里插入图片描述

  • Goodness of a function:
    找一个probability distribution可以最大化产生data的likelihood

朴素贝叶斯(Naive Bayes Classifier):假设所有的feature都是independent产生的,不model feature 和feature间covariance的关系,用这种方法做分类,叫做朴素贝叶斯。
在这里插入图片描述

posterior probability(后验概率):
在这里插入图片描述

z越大,sigmoid function(乙状函数)越趋近于1;z越小,sigmoid function(乙状函数)越趋近于0;
通过计算化简得到z:
在这里插入图片描述那么 P ( C 1 ∣ x ) = σ ( w ? x + b ) P(C_{1}\mid x) = \sigma (w\cdot x +b ) P(C1?x)=σ(w?x+b) (linear)

六、Logistic Regression

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


argmax是一种函数,是对函数求参数(集合)的函数。当我们有另一个函数y=f(x)时,若有结果
x0 = argmax(f(x)),则表示当函数f(x)取x=x0的时候,得到f(x)取值范围的最大值;若有多个点使得f(x)取得相同的最大值,那么argmax(f(x))的结果就是一个点集。换句话说,argmax(f(x))是使得 f(x)取得最大值所对应的变量点x(或x的集合)。arg即argument,此处意为“自变量”。


找一个 w w w b b b使得 L ( w , b ) L(w,b) L(w,b)最大化,即:
在这里插入图片描述

在这里插入图片描述

根据以上的数值化后,可得:

在这里插入图片描述
在这里插入图片描述

那么损失函数可改写为:
在这里插入图片描述

在这里插入图片描述

cross entropy between two Bernoulli distribution(两个伯努利分布之间的交叉熵):
使用Gradient Descent找到最佳function:

在这里插入图片描述在这里插入图片描述得到的式子为:
在这里插入图片描述
在这里插入图片描述

对比Logistic Regression和Linear Regression:

在这里插入图片描述

如上图所示,在Step 1 中,两者的Model Function不一样,并且前者的Output值范围在0~1之间,后者的Output值可以是any value;
在Step 2 中,两者的Loss Function不一样,并且前者的 y ^ \hat{y} y^?值为1或0(分类),后者的 y ^ \hat{y} y^?值为实数;
其中前者交叉熵为:
在这里插入图片描述

在Step 3中,两者的update方式一致。

Logistic Regression + Square Error(平方误差):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结论:如果使用Square Error无论离目标很近,还是很远,结果都是0,导致update很慢,不容易得到好的结果。

Discriminative v.s. Generative

Logistic Regression的方法称之为Discriminative(判别的);
用Gaussion描述posterior probability的方法称之为Generative;

  1. 两者的Model一样:
    在这里插入图片描述
  2. Generative Model的优点:
  • 在概率分布假设下,需要更少的training data
  • 在概率分布假设下,对噪音更具鲁棒性
  • 先验概率和类相关概率可以从不同的来源进行估计

七、Multi-class Classification

假设有三个类别,每个类别都有自己的weight 和 bias;
在这里插入图片描述
z 1 , z 2 , z 3 z_1,z_2,z_3 z1?,z2?,z3?丢进Softmax function:
首先将它们指数化,再相加求和得到total sum ∑ j = 1 3 e z j \sum_{j=1}^{3}e^{z^{j}} j=13?ezj,再将 e z j e^{z^{j}} ezj分别除以total sum得到Softmax function的Output: y 1 , y 2 , y 3 y_1,y_2,y_3 y1?,y2?,y3?,如图:
在这里插入图片描述

Softmax function的Output特点:
在这里插入图片描述
x x x C 1 C_1 C1?中取出的function为:
在这里插入图片描述
总结:
在这里插入图片描述
计算 y y y y ^ \hat{y} y^?和Cross Entropy要求 y ^ \hat{y} y^?是一个probilitity distribution (概率分布):
在这里插入图片描述
Limitation od Logistic Regression
假设存在一个如下图的Case,四组data,每组data有两个feature,使用Logistic Regression对此做分类:
在这里插入图片描述

无法做到,因为Logistic Regression的boundary是一条直线,无法把Class1和Class2分到boundary的两边。
但如果坚持用Logistic Regression分类解决办法就是使用Feature Transformation(特征变换):做一些转换,找一个比较好的feature space
在这里插入图片描述
[ x 1 x 2 ] \begin{bmatrix} x_1\\ x_2 \end{bmatrix} [x1?x2??]转到另一个space, x 1 ′ x_{1}^{'} x1?就是某一个点到 [ 0 0 ] \begin{bmatrix} 0\\ 0 \end{bmatrix} [00?]的距离, x 2 ′ x_{2}^{'} x2?就是某一个点到 [ 1 1 ] \begin{bmatrix} 1\\ 1 \end{bmatrix} [11?]的距离;
[ 0 0 ] \begin{bmatrix} 0\\ 0 \end{bmatrix} [00?]这个点距离 [ 0 0 ] \begin{bmatrix} 0\\ 0 \end{bmatrix} [00?]为0, x 1 ′ x_{1}^{'} x1?=0;距离 [ 1 1 ] \begin{bmatrix} 1\\ 1 \end{bmatrix} [11?]这个点为 2 \sqrt{2} 2 ? x 2 ′ x_{2}^{'} x2?= 2 \sqrt{2} 2 ?,那么 [ 0 0 ] \begin{bmatrix} 0\\ 0 \end{bmatrix} [00?]就转移到 [ 0 2 ] \begin{bmatrix} 0\\ \sqrt{2} \end{bmatrix} [02 ??]这个点;同理 [ 1 1 ] \begin{bmatrix} 1\\ 1 \end{bmatrix} [11?]就转移到 [ 2 0 ] \begin{bmatrix} \sqrt{2}\\ 0 \end{bmatrix} [2 ?0?]这个点; [ 1 0 ] \begin{bmatrix} 1\\ 0 \end{bmatrix} [10?] [ 0 1 ] \begin{bmatrix} 0\\ 1 \end{bmatrix} [01?]这两个点都转移到 [ 1 1 ] \begin{bmatrix} 1\\ 1 \end{bmatrix} [11?]这个点,如图:
在这里插入图片描述
由此可用Logistic Regression分类,缺点是很难找到一个好的transformation;

那么如何让机器自动产生一个transformation?
解答:把很多个Logistic Regression cascade(级联)起来
假设有两个input: x 1 x_1 x1? x 2 x_2 x2?,通过一个Logistic Regression的model,;两个input通过这个model相加得到 x 1 ′ x_1^{'} x1?,同理,通过另一个model得到 x 2 ′ x_2^{'} x2?,通过这组数据就可以再通过一个Logistic Regression 的model把两类分开,如下图:
在这里插入图片描述
举例:
在这里插入图片描述
某一个Logistic Regression 的model一部分是来自于其它Logistic Regression 的Output,而某一个Logistic Regression 的Output也可以是其它Logistic Regression 的Input,可以把每一个其它Logistic Regression叫做一个“Neuron”;把这些“Neuron”串起来就叫做“Neural Network‘。
在这里插入图片描述

本文是对blibli上李宏毅机器学习2020的总结,如有侵权会立马删除。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:37:50  更:2021-08-06 09:51:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 13:47:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码