白话机器学习笔记(二)学习分类

这篇具有很好参考价值的文章主要介绍了白话机器学习笔记(二)学习分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

分类用图形来解释,把他想象为有大小有方向带箭头的向量。

设权重向量为 w w w,虚线为使权重向量称为法线向量的直线。

直线的表达式为: w ⋅ x = 0 w\cdot x=0 wx=0 (两个向量的内积)

也可写为: w ⋅ x = ∑ i = 1 n w i x i = w 1 x 1 + w 2 x 2 = 0 w\cdot x=\sum\limits_{i=1}^nw_ix_i=w_1x_1+w_2x_2=0 wx=i=1nwixi=w1x1+w2x2=0

w ⋅ x = ∣ w ∣ ⋅ ∣ x ∣ ⋅ c o s θ w\cdot x=|w|\cdot|x|\cdot cos\theta wx=wxcosθ 要使内积0, θ = 90 ° \theta=90\degree θ=90° θ = 270 ° \theta=270\degree θ=270°

感知机

感知机是接受多个输入后将每个值与各自的权重相乘,最后输出总和的模型。是神经网络和深度学习的基础模型。人们常用这样的图来表示它。

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

训练数据的准备

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

f w ( x ) f_w(x) fw(x):根据参数向量 x x x来判断图像是横向还是纵向的函数,即返回1或者-1的函数,这个函数被称为判别函数。

f w ( x ) = { 1 ( w ⋅ x ≥ 0 ) − 1 ( w ⋅ x < 0 ) f_w(x)= \begin{cases} 1& {(w\cdot x\ge0)}\\ -1&{(w\cdot x<0)} \end{cases} fw(x)={11(wx0)(wx<0)

根据内积正负来分割区域

权重向量的更新表达式

w : = { w + y ( i ) x ( i ) ( f w ( x ( i ) ) ≠ y ( i ) ) w ( f w ( x ( i ) ) = y ( i ) ) w:= \begin{cases}w+y^{(i)}x^{(i)}&(f_w(x^{(i)})\not=y^{(i)})\\w&(f_w(x^{(i)})=y^{(i)}) \end{cases} w:={w+y(i)x(i)w(fw(x(i))=y(i))(fw(x(i))=y(i))

分类正确不动,分类失败更新权重向量, y ( i ) y^{(i)} y(i)为1或-1,做向量的加法和减法去旋转直线。

线性可分

感知机只能解决线性可分问题

无法解决下图情况

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

之前提到的感知机也被称为简单感知机或单层感知机,实际上多层感知机就是神经网络。

逻辑回归

sigmoid函数

f θ ( x ) = 1 1 + e x p ( − θ T x ) f_\theta(x)=\frac{1}{1+exp(-\theta^Tx)} fθ(x)=1+exp(θTx)1 ( e x p ( x ) = e x exp(x)=e^x exp(x)=ex)

图形如下:

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

θ T x = 0 \theta^Tx=0 θTx=0 f θ ( x ) = 0.5 f_\theta(x)=0.5 fθ(x)=0.5 0 < f θ ( x ) < 1 0<f_\theta(x)<1 0<fθ(x)<1是sigmoid函数的两个特征。

决策边界

把位置数据 x x x是横向图像的概率作为 f θ ( x ) f_\theta(x) fθ(x),表达式如下

P ( y = 1 ∣ x ) = f θ ( x ) P(y=1|x)=f_\theta(x) P(y=1∣x)=fθ(x)

这是在给出 x x x的数据时 y = 1 y=1 y=1,即图像为横向的概率。

y = { 1 ( f θ ( x ) ≥ 0.5 ) 0 ( f θ ( x ) < 0.5 ) y=\begin{cases}1&(f_\theta(x)\ge0.5)\\0&(f_\theta(x)<0.5) \end{cases} y={10(fθ(x)0.5)(fθ(x)<0.5)

可以改写为:

y = { 1 ( θ T x ≥ 0 ) 0 ( θ T x < 0 ) y=\begin{cases}1&(\boldsymbol{\theta}^T\boldsymbol{x}\ge0)\\0&(\boldsymbol{\theta}^T\boldsymbol{x}<0)\end{cases} y={10(θTx0)(θTx<0)

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

我们将 θ T x = 0 \boldsymbol{\theta}^T\boldsymbol{x}=0 θTx=0这条直线作为边界线,把数据分类为横向和纵向,这种用于数据分类的直线称为决策边界

为了求正确的参数 θ \theta θ而定义目标函数,进行微分,然后求参数的更新表达式。这种算法就称为逻辑回归

似然函数

开始求参数的更新表达式。

P ( y = 1 ∣ x ) P(y=1|x) P(y=1∣x)是图像为横向的概率, P ( y = 0 ∣ x ) P(y=0|x) P(y=0∣x)是图像为纵向的概率。

我们期待的概率是这样的

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

假定所有的训练数据都是互不影响、独立发生的,这种情况下整体的概率就可以用下面的联合概率来表示。

L ( θ ) = P ( y ( 1 ) = 0 ∣ x ( 1 ) ) P ( y ( 2 ) = 0 ∣ x ( 2 ) ) ⋯ P ( y ( 6 ) = 1 ∣ x ( 6 ) ) L(\theta)=P(y^{(1)}=0|x^{(1)})P(y^{(2)}=0|x^{(2)})\cdots P(y^{(6)}=1|x^{(6)}) L(θ)=P(y(1)=0∣x(1))P(y(2)=0∣x(2))P(y(6)=1∣x(6))

将其一般化,写法如下:

L ( θ ) = ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) L(\theta)=\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}} L(θ)=i=1nP(y(i)=1∣x(i))y(i)P(y(i)=0∣x(i))1y(i)

考虑使目标函数最大化的参数 θ \theta θ,可以认为似然函数 L ( θ ) L(\theta) L(θ)中,使其值最大的参数 θ \theta θ能够最近似地说明训练数据。

对数似然函数

取似然函数的对数

l o g L ( θ ) = l o g ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) logL(\theta)=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}} logL(θ)=logi=1nP(y(i)=1∣x(i))y(i)P(y(i)=0∣x(i))1y(i)

log是单调递增函数,如图

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

L ( θ ) L(\theta) L(θ)最大化等价于 l o g L ( θ ) logL(\theta) logL(θ)最大化

l o g L ( θ ) = l o g ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) logL(\theta)=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}} logL(θ)=logi=1nP(y(i)=1∣x(i))y(i)P(y(i)=0∣x(i))1y(i)函数变形如下
l o g L ( θ ) = l o g ∏ i = 1 n P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) = ∑ i = 1 n ( l o g P ( y ( i ) = 1 ∣ x ( i ) ) y ( i ) + l o g P ( y ( i ) = 0 ∣ x ( i ) ) 1 − y ( i ) ) = ∑ i = 1 n ( y ( i ) l o g P ( y ( i ) = 1 ∣ x ( i ) ) + ( 1 − y ( i ) ) l o g P ( y ( i ) = 0 ∣ x ( i ) ) ) = ∑ i = 1 n ( y ( i ) l o g P ( y ( i ) = 1 ∣ x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − P ( y ( i ) = 1 ∣ x ( i ) ) ) ) = ∑ i = 1 n ( y ( i ) l o g f θ ( x i ) + ( 1 − y ( i ) ) l o g ( 1 − f θ ( x ( i ) ) ) ) \begin{aligned} logL(\theta)&=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}}\\&= \sum\limits_{i=1}^n(logP(y^{(i)}=1|x^{(i)})^{y^{(i)}}+logP(y^{(i)}=0|x^{(i)})^{1-y^{(i)}})\\&= \sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})logP(y^{(i)}=0|x^{(i)}))\\&= \sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})log(1-P(y^{(i)}=1|x^{(i)})))\\&= \sum\limits_{i=1}^n(y^{(i)}logf_\theta(x^{i}) +({1-y^{(i)}})log(1-f_\theta(x^{(i)}))) \end{aligned} logL(θ)=logi=1nP(y(i)=1∣x(i))y(i)P(y(i)=0∣x(i))1y(i)=i=1n(logP(y(i)=1∣x(i))y(i)+logP(y(i)=0∣x(i))1y(i))=i=1n(y(i)logP(y(i)=1∣x(i))+(1y(i))logP(y(i)=0∣x(i)))=i=1n(y(i)logP(y(i)=1∣x(i))+(1y(i))log(1P(y(i)=1∣x(i))))=i=1n(y(i)logfθ(xi)+(1y(i))log(1fθ(x(i))))
接下来对各个参数 θ j \theta_j θj求微分
∂ l o g L ( θ ) ∂ θ j = ∂ ∂ θ j ∑ i = 1 n ( y ( i ) l o g P ( y ( i ) = 1 ∣ x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − f θ ( x ( i ) ) ) ) \begin{aligned} \frac{\partial logL(\theta)}{\partial\theta_j}&= \frac{\partial}{\partial\theta_j}\sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})log(1-f_\theta(x^{(i)}))) \end{aligned} θjlogL(θ)=θji=1n(y(i)logP(y(i)=1∣x(i))+(1y(i))log(1fθ(x(i))))
f θ ( x ) = 1 1 + e x p ( − θ T x ) f_\theta(x)=\frac{1}{1+exp(-\theta^Tx)} fθ(x)=1+exp(θTx)1

过程省略得
∂ l o g L ( θ ) ∂ θ j = ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) x j ( i ) \frac{\partial logL(\theta)}{\partial\theta_j}= \sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))x_j^{(i)} θjlogL(θ)=i=1n(y(i)fθ(x(i)))xj(i)
最大化为目标,与微分结果符号相同得方向移动,更新表达式如下
θ j : = θ j + η ∑ i = 1 n ( y ( i ) − f θ ( x ( i ) ) ) x j ( i ) \theta_j:=\theta_j+\eta\sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))x_j^{(i)} θj:=θj+ηi=1n(y(i)fθ(x(i)))xj(i)
也可以调整为下面这样
θ j : = θ j − η ∑ i = 1 n ( f θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j:=\theta_j-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θjηi=1n(fθ(x(i))y(i))xj(i)

线性不可分

将逻辑回归应用于线性不可分问题

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

不能用直接分类,但是用曲线可以分类

向训练数据中加入 x 1 2 x_1^2 x12
θ = [ θ 0 θ 1 θ 2 θ 3 ] , x = [ 1 x 1 x 2 x 1 2 ] \boldsymbol{\theta}= \begin{bmatrix} \theta_0\\\theta_1\\\theta_2\\\theta_3 \end{bmatrix} , \boldsymbol{x}= \begin{bmatrix} 1\\x_1\\x_2\\x_1^2 \end{bmatrix} θ= θ0θ1θ2θ3 ,x= 1x1x2x12

θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 \boldsymbol{\theta}^T\boldsymbol{x}= \theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2 θTx=θ0+θ1x1+θ2x2+θ3x12


θ = [ θ 0 θ 1 θ 2 θ 3 ] = [ 0 0 1 − 1 ] \boldsymbol{\theta}= \begin{bmatrix}\theta_0\\\theta_1\\\theta_2\\\theta_3\end{bmatrix}= \begin{bmatrix} 0\\0\\1\\-1 \end{bmatrix} θ= θ0θ1θ2θ3 = 0011
θ T x = x 2 − x 1 2 ≥ 0 \boldsymbol{\theta}^T\boldsymbol{x}=x_2-x_1^2\ge0 θTx=x2x120如下图

白话机器学习笔记(二)学习分类,学习笔记,机器学习,笔记,学习

现在决策边界是曲线了,参数 θ \theta θ可以再调整。如果再增加 x 2 2 x_2^2 x22就会有圆形得决策边界。

这就是逻辑回归,还有SVM(支持向量机得分类算法)也有很名。文章来源地址https://www.toymoban.com/news/detail-607605.html

到了这里,关于白话机器学习笔记(二)学习分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习笔记07---朴素贝叶斯分类器

    贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。     贝叶斯公式:  其中,P(c)是类\\\"先验\\\"概率;P(x|c)是样本x相对于类标记c的类条件概率,或称

    2024年02月07日
    浏览(60)
  • 机器学习笔记 - 基于Scikit-Learn的各种分类器进行分类并比较

            scikit-learn是基于python语言构建机器学习应用程序的最佳库之一。简单易用,并且它有很多示例和教程。除了监督式机器学习(分类和回归)外,它还可用于聚类、降维、特征提取和工程以及数据预处理。该接口在所有这些方法上都是一致的,因此它不仅易于使用,

    2024年02月09日
    浏览(61)
  • 简易机器学习笔记(十一)opencv 简易使用-人脸识别、分类任务

    前段时间摸了下机器学习,然后我发现其实openCV还是一个很浩瀚的库的,现在也正在写一篇有关yolo的博客,不过感觉理论偏多,所以在学yolo之前先摸一下opencv,简单先写个项目感受感受opencv。 openCV实际上已经有一个比较完整的模型了,下载在haarcascades 这里我们下haarcascade

    2024年01月21日
    浏览(46)
  • 机器学习笔记 - 基于keras + 小型Xception网络进行图像分类

            Xception 是深度为 71 层的卷积神经网络,仅依赖于深度可分离的卷积层。         论文中将卷积神经网络中的 Inception 模块解释为常规卷积和深度可分离卷积运算(深度卷积后跟点卷积)之间的中间步骤。从这个角度来看,深度可分离卷积可以理解为具有最大数

    2024年02月11日
    浏览(30)
  • 机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类

            这里主要介绍了基于自定义动作识别数据集训练用于视频分类的 3D 卷积神经网络 (CNN) 。3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。         这里的模型主要基于D. Tran 等人2017年的论文“动作识别的时空卷积研

    2024年01月23日
    浏览(48)
  • 【机器学习合集】人脸表情分类任务Pytorch实现&TensorBoardX的使用 ->(个人学习记录笔记)

    注意:整个项目来自阿里云天池,下面是开发人员的联系方式,本人仅作为学习记录!!! 该文章原因,学习该项目,完善注释内容,针对新版本的Pytorch进行部分代码调整 本文章采用pytorch2.0.1版本,python3.10版本 源码链接 1. 网络结构 2. 训练函数 部分代码内容与作者不同

    2024年02月08日
    浏览(43)
  • 机器学习笔记 - 使用CLIP在没有数据的情况下创建图像分类器

            想象一下,如果我们现在需要对人们是否戴眼镜进行分类,但您没有数据或资源来训练自定义模型。该怎么办?这里我们了解如何使用预先训练的 CLIP 模型来创建自定义分类器,而无需任何培训。这种方法称为 零样本 图像分类,它可以对原始 CLIP 模型训练期间未

    2024年02月14日
    浏览(33)
  • 【机器学习笔记15】多分类混淆矩阵、F1-score指标详解与代码实现(含数据)

    参考文章 4.4.2分类模型评判指标(一) - 混淆矩阵(Confusion Matrix)_进击的橘子猫的博客-CSDN博客_混淆矩阵 之前在逻辑回归的文章中简单提到过F1-score,但并没有详细对其进行说明和代码实现。这里补一下。 混淆矩阵 (又称 误差矩阵 )是评判模型结果的指标,属于模型评估的

    2023年04月17日
    浏览(46)
  • 【经验分享】分类算法与聚类算法有什么区别?白话讲解

    经常有人会提到这个问题,从我个人的观点和经验来说2者最明显的特征是:分类是有具体分类的数量,而聚类是没有固定的分类数量。 你可以想象一下,分类算法就像是给你一堆水果,然后告诉你苹果、香蕉、橙子分别应该放在哪里。它已经知道每个水果属于哪个类别,所

    2024年02月21日
    浏览(35)
  • 1.机器学习-机器学习算法分类概述

    🏘️🏘️个人主页:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。 🎉🎉 免费学习专栏 : 1. 《Python基础入门》——0基础入门 2.《Python网络爬虫》——从入门到精通 3.《Web全栈开

    2024年01月18日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包