第三章 线性判别 -二维向量投影

2024-06-02 19:52

本文主要是介绍第三章 线性判别 -二维向量投影,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算二维平面上的点到某向量w上的投影点。

import numpy as np
import matplotlib.pyplot as plt
x1=np.random.normal(7,1,[20,1])
x2=np.random.normal(7,1,[20,1])
C0=np.concatenate((x1,x2),axis=1).T #C0类x1=np.random.normal(2,1,[20,1])
x2=np.random.normal(2,1,[20,1])
C1=np.concatenate((x1,x2),axis=1).T #C1类w=np.array([[2.],[1.]])
w=w/np.sqrt(np.dot(w.T,w))#这里很重要,w一定是要转换成单位向量
print("w",w)#对C0类进行投影
P0=(np.dot(w.T,C0))#该投影点是w单位向量的距离
M0=w*(P0)#转换成坐标点#对C1类进行投影
P1=(np.dot(w.T,C1))#该投影点是w单位向量的距离
M1=w*(P1)#转换成坐标点#C0的向量均值计算投影点
u0=np.mean(C0,axis=1)
print('u0',u0)
C0_mean_len=np.dot(w.T,u0)#均值点在w向量上的长度
C0_avg_point=w*C0_mean_len#计算点坐标
print("M0_avg_point",C0_avg_point)
#C1的向量均值计算投影点
u1=np.mean(C1,axis=1)
print('C1_avg',u1)
C1_mean_len=np.dot(w.T,u1)#均值点在w向量上的长度
C1_avg_point=w*C1_mean_len#计算点坐标
print("M1_avg_point",C1_avg_point)#对两类点进行描点
plt.scatter(C0[0],C0[1])
plt.scatter(C1[0],C1[1])#画出w向量的直线
plt.plot([0,w[0][0]*15],[0,w[1][0]*15])#画出两类点的投影点
plt.scatter(M0[0],M0[1])
plt.scatter(M1[0],M1[1])#画出两类均值点的投影点
plt.scatter(C0_avg_point[0],C0_avg_point[1],marker="*",c='r',s=100)
plt.scatter(C1_avg_point[0],C1_avg_point[1],marker="*",c='k',s=100)ax = plt.gca()
ax.set_aspect(1)
plt.show()

 结果如图:五角星点为均值投影点。

这篇关于第三章 线性判别 -二维向量投影的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024929

相关文章

poj2576(二维背包)

题意:n个人分成两组,两组人数只差小于1 , 并且体重只差最小 对于人数要求恰好装满,对于体重要求尽量多,一开始没做出来,看了下解题,按照自己的感觉写,然后a了 状态转移方程:dp[i][j] = max(dp[i][j],dp[i-1][j-c[k]]+c[k]);其中i表示人数,j表示背包容量,k表示输入的体重的 代码如下: #include<iostream>#include<

hdu2159(二维背包)

这是我的第一道二维背包题,没想到自己一下子就A了,但是代码写的比较乱,下面的代码是我有重新修改的 状态转移:dp[i][j] = max(dp[i][j], dp[i-1][j-c[z]]+v[z]); 其中dp[i][j]表示,打了i个怪物,消耗j的耐力值,所得到的最大经验值 代码如下: #include<iostream>#include<algorithm>#include<

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

HDU 2159 二维完全背包

FATE 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

Vector3 三维向量

Vector3 三维向量 Struct Representation of 3D vectors and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doin

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : = { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i = 1 , 2 , . . . , n } \textbf{K}^{n}:=\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i=1,2,...,n\} Kn:={(a1​,a2​,...,an​)∣ai​∈K,i=1,2,...,n

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假