当前位置: 首页 > news >正文

网站如何进行品牌建设百度网站官网网址

网站如何进行品牌建设,百度网站官网网址,广州平面设计公司,软件开发外包公司赚钱不文章目录 第 2章感知机2.1 感知机模型2.2 感知机学习策略2.2.1 数据集的线性可分性2.2.2 感知机学习策略 2.3 感知机学习算法2.3.1 感知机学习算法的原始形式2.3.2 算法的收敛性2.3.3 感知机学习算法的对偶形式 实践#xff1a;二分类模型#xff08;iris数据集#xff09;数… 文章目录 第 2章感知机2.1 感知机模型2.2 感知机学习策略2.2.1 数据集的线性可分性2.2.2 感知机学习策略 2.3 感知机学习算法2.3.1 感知机学习算法的原始形式2.3.2 算法的收敛性2.3.3 感知机学习算法的对偶形式 实践二分类模型iris数据集数据集可视化Perceptronscikit-learn实例 《统计学习方法李航》笔记 从原理到实现基于python-- 第 2章感知机 《统计学习方法李航》笔记 从原理到实现基于python-- 第1章 统计学习方法概论 我算是有点基础的有过深度学习和机器学的项目经验但也是半路出家无论是学Python还是深度学习都是从问题出发边查边做没有系统的学过相关的知识这样的好处是入门快如果想快速入门大家也可以试试直接上手项目从小项目开始但也存在一个严重的问题就是很多东西一知半解容易走进死胡同出不来感觉有点像陷入局部最优解找不到出路所以打算系统的学习几本口碑比较不错的书籍。   书籍选择 当然机器学习相关的书籍有很多很多英文版的神书据说读英文版的书会更好奈何英文不太好比较难啃。国内也有很多书周志华老师的“西瓜书”我也有了解过看了前几章个人感觉他肯能对初学者更友好一点讲述的非常清楚有很多描述性的内容。对比下来更喜欢《统计学习方法》毕竟能坚持看完才最重要。   笔记内容 笔记内容尽量省去了公式推导的部分一方面latex编辑太费时间了另一方面我觉得公式一定要自己推到一边才有用最好是手写。尽量保留所有标题但内容会有删减通过标黑和列表的形式突出重点内容要特意说一下标灰的部分大家最好读一下这部分是我觉得比较繁琐但又不想删掉的部分。   代码实现 最后是本章内容的实践如果想要对应的.ipynb文件可以留言 第 2章感知机 感知机 (perceptron) 是二类分类的线性分类模型其输入为实例的特征向量输 出为实例的类别取 1 和-1 二值。 感知机对应于输入空间(特征空间)中将实例划 分为正负两类的分离超平面属于判别模型。 感知机学习旨在求出将训练数据进行线性划分的分离超平面为此 导入基于误分类的损失函数利用梯度下降法对损失函 数进行极小化求得感知机模型。 感知机学习算法具有简单而易于实现的优点分为 原始形式和对偶形式。 2.1 感知机模型 感知机是一种线性分类模型属于判别模型。 感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification modeD 或线性分类器 (linear classifier) 即函数集合 f ∣ f ( x ) ω • x b {{f|f(x) ω • x b}} f∣f(x)ω•xb 几何解释线性方程 ω ⋅ x b 0 ω\cdot xb0 ω⋅xb0 对应于特征空间 R n R^n Rn 中的一个超平面 S 其中 ω 是超平面的法向量 b 是超平面的截距。 这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为 正、负两类。因此超平面 S称为分离超平面 (separating hyperplane) 如图 2.1 所示。 2.2 感知机学习策略 2.2.1 数据集的线性可分性 给定一个数据集T: T ( x l , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) T {(x_l ,y_1), (x_2 ,y_2) ,… , (x_n,y_n)} T(xl​,y1​),(x2​,y2​),…,(xn​,yn​) 其中 x i ∈ X R n , y i ∈ Y ( 1 , − 1 ) i 1 2 … n x_i \in X R^n, y_i \in Y(1 ,-1) i 1 2… n xi​∈XRn,yi​∈Y(1,−1)i12…n 如果存在某个超乎面 S ω ⋅ x b 0 ω\cdot xb0 ω⋅xb0 能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧则称数据集 T 为线性可分数据集( linearly separable data set ) ;否则称数据集 T 线性不可分。 2.2.2 感知机学习策略 假设训练数据集是线性可分的感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。 损失函数的一个自然选择是误分类点的总数。但是这样的损失函数不是连续可导函数不易优化。损失函数的另一个选择是误分类点到超平面 S 的总距离。 输入空间 R n R^n Rn 中任一点 x o x_o xo​ 到超平面 S S S 的 距离: 1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x 0 b ∣ \frac{1}{||w||}|w \cdot x_0b| ∣∣w∣∣1​∣w⋅x0​b∣ 对于误分类的数据 ( x i , x i ) (x_i,x_i) (xi​,xi​) 来说 − y i ( ω ⋅ x i b ) O -y_i(ω \cdot x_ib)O −yi​(ω⋅xi​b)O 当 ω • x i b 0 ω • x_i b 0 ω•xi​b0 时 y i − 1 y_i -1 yi​−1当 ω • x i b 0 ω • x_i b 0 ω•xi​b0 时 x i 1 x_i 1 xi​1 所有误分类点到超平面 S 的总 距离为 − 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ⋅ x 0 b ) -\frac{1}{||w||}\sum_{x_i\in M}y_i(w \cdot x_0b) −∣∣w∣∣1​xi​∈M∑​yi​(w⋅x0​b) 感知机 s i g n ( w • x b ) sign(w • x b) sign(w•xb) 学习的损失函数定义为: L ( w , b ) − ∑ x i ∈ M y i ( w ⋅ x 0 b ) L(w,b)-\sum_{x_i\in M}y_i(w \cdot x_0b) L(w,b)−xi​∈M∑​yi​(w⋅x0​b) 其中 M 为误分类点的集合。 这个损失函数就是感知机学习的经验风险函数。 2.3 感知机学习算法 感知机学习问题转化为求解损失函数式的最优化问题最优化的方法是随 机梯度下降法。 2.3.1 感知机学习算法的原始形式 求参数 w b w b wb 使其为以下损失函数极小化问题的解: m i n w , b L ( w , b ) − ∑ x i ∈ M y i ( w ⋅ x i b ) min_{w,b}L(w,b)-\sum_{x_i\in M}y_i(w \cdot x_ib) minw,b​L(w,b)−xi​∈M∑​yi​(w⋅xi​b) 其中 M 为误分类点的集合。 求解思路 感知机学习算法是误分类驱动的具体采用随机梯度下降法 (stochastic gradient descent)。首先任意选取一个超平面 w 0 , b 0 w_0,b_0 w0​,b0​ 然后用梯度下降法不断地极小化目标函数损失函数极小化过程中不是一次使M 中所有误分类点的梯度下降而是一次随机 选取一个误分类点使其梯度下降。假设误分类点集合 M 是固定的那么损失函数 L ( w , b ) L(w,b) L(w,b)的梯度由下式给出 ∇ w L ( w , b ) − ∑ x i ∈ M y i x i \nabla_w L(w,b)-\sum_{x_i\in M}{y_ix_i} ∇w​L(w,b)−xi​∈M∑​yi​xi​ ∇ b L ( w , b ) − ∑ x i ∈ M y i \nabla _b L(w,b)-\sum_{x_i\in M}{y_i} ∇b​L(w,b)−xi​∈M∑​yi​ 随机选取一个误分类点 x i , y i x_i,y_i xi​,yi​对 ω b ω b ωb 进行更新: w ← w η y i x i w\leftarrow wηy_ix_i w←wηyi​xi​ b ← b η y i b \leftarrow bηy_i b←bηyi​ 式中 η ( 0 η ≤ 1 ) η(0 η\leq1) η(0η≤1) 是步长在统计学习中又称为学习率(learning rate) 。 这种学习算法直观上有如下解释 当一个实例点被误分类即位于分离超平面的 错误一侧时则调整 ω b 的值使分离超平面向该误分类点的一侧移动以减少该误分类点与超平面间的距离直至超平面越过该误分类点使其被正确分类。 2.3.2 算法的收敛性 定理表明误分类的次数 k 是有上界的经过有限次搜索可以找到将训练数据完 全正确分开的分离超平面。也就是说当训练数据集线性可分时感知机学习算法原 始形式迭代是收敛的。 2.3.3 感知机学习算法的对偶形式 对偶形式的基本想法是将 ω ω ω 和 b b b 表示为实例 x i x_i xi​ 和标记 y i y_i yi​ 的线性组合的形式 通过求解其系数而求得 ω ω ω 和 b b b。 对偶形式中训练实例仅以内积的形式出现。 为了方便可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储这个矩阵就是所谓的 Gram 矩阵 (Gram matrix) G [ x i ⋅ x i ] N × N G[x_i \cdot x_i]_{N \times N} G[xi​⋅xi​]N×N​ 实践二分类模型iris数据集 import pandas as pd import numpy as np from sklearn.datasets import load_iris import matplotlib.pyplot as plt %matplotlib inline#load data iris load_iris() df pd.DataFrame(iris.data, columnsiris.feature_names) df[label] iris.targetdf.columns [sepal length, sepal width, petal length, petal width, label] df.label.value_counts()2 50 1 50 0 50 Name: label, dtype: int64数据集可视化 plt.scatter(df[:50][sepal length], df[:50][sepal width], label0) plt.scatter(df[50:100][sepal length], df[50:100][sepal width], label1) plt.xlabel(sepal length) plt.ylabel(sepal width) plt.legend()data np.array(df.iloc[:100, [0, 1, -1]]) X, y data[:,:-1], data[:,-1] y np.array([1 if i 1 else -1 for i in y])Perceptron # 数据线性可分二分类数据 # 此处为一元一次线性方程 class Model:def __init__(self):self.w np.ones(len(data[0]) - 1, dtypenp.float32)self.b 0self.l_rate 0.1# self.data datadef sign(self, x, w, b):y np.dot(x, w) breturn y# 随机梯度下降法def fit(self, X_train, y_train):is_wrong Falsewhile not is_wrong:wrong_count 0for d in range(len(X_train)):X X_train[d]y y_train[d]if y * self.sign(X, self.w, self.b) 0:self.w self.w self.l_rate * np.dot(y, X)self.b self.b self.l_rate * ywrong_count 1if wrong_count 0:is_wrong Truereturn Perceptron Model!def score(self):pass训练 perceptron Model() perceptron.fit(X, y)Perceptron Model!分类可视化 x_points np.linspace(4, 7, 10) y_ -(perceptron.w[0] * x_points perceptron.b) / perceptron.w[1] plt.plot(x_points, y_)plt.plot(data[:50, 0], data[:50, 1], bo, colorblue, label0) plt.plot(data[50:100, 0], data[50:100, 1], bo, colororange, label1) plt.xlabel(sepal length) plt.ylabel(sepal width) plt.legend()scikit-learn实例 import sklearn from sklearn.linear_model import Perceptronsklearn.__version__ 0.21.2clf Perceptron(fit_interceptTrue, max_iter1000, shuffleTrue) clf.fit(X, y)Perceptron(alpha0.0001, class_weightNone, early_stoppingFalse, eta01.0,fit_interceptTrue, max_iter1000, n_iter_no_change5, n_jobsNone,penaltyNone, random_state0, shuffleTrue, tol0.001,validation_fraction0.1, verbose0, warm_startFalse)# Weights assigned to the features. print(clf.coef_)[[ 23.2 -38.7]]# 截距 Constants in decision function. print(clf.intercept_)[-5.]可视化 # 画布大小 plt.figure(figsize(10,10))# 中文标题 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False plt.title(鸢尾花线性数据示例)plt.scatter(data[:50, 0], data[:50, 1], cb, labelIris-setosa,) plt.scatter(data[50:100, 0], data[50:100, 1], corange, labelIris-versicolor)# 画感知机的线 x_ponits np.arange(4, 8) y_ -(clf.coef_[0][0]*x_ponits clf.intercept_)/clf.coef_[0][1] plt.plot(x_ponits, y_)# 其他部分 plt.legend() # 显示图例 plt.grid(False) # 不显示网格 plt.xlabel(sepal length) plt.ylabel(sepal width) plt.legend()注意 ! 在上图中有一个位于左下角的蓝点没有被正确分类这是因为 SKlearn 的 Perceptron 实例中有一个tol参数。 tol 参数规定了如果本次迭代的损失和上次迭代的损失之差小于一个特定值时停止迭代。所以我们需要设置 tolNone 使之可以继续迭代 clf Perceptron(fit_interceptTrue, max_iter1000,tolNone,shuffleTrue) clf.fit(X, y)# 画布大小 plt.figure(figsize(10,10))# 中文标题 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False plt.title(鸢尾花线性数据示例)plt.scatter(data[:50, 0], data[:50, 1], cb, labelIris-setosa,) plt.scatter(data[50:100, 0], data[50:100, 1], corange, labelIris-versicolor)# 画感知机的线 x_ponits np.arange(4, 8) y_ -(clf.coef_[0][0]*x_ponits clf.intercept_)/clf.coef_[0][1] plt.plot(x_ponits, y_)# 其他部分 plt.legend() # 显示图例 plt.grid(False) # 不显示网格 plt.xlabel(sepal length) plt.ylabel(sepal width) plt.legend()现在可以看到所有的两种鸢尾花都被正确分类了。
http://www.zqtcl.cn/news/580859/

相关文章:

  • 301重定向到新网站在线建站
  • 曰本做爰l网站沙朗做网站公司
  • 广州网站设计智能 乐云践新专家wordpress 头像设置
  • 电子商务学网站建设好吗佛山市手机网站建设企业
  • 为企业做网站电话开场白小说网站的里面的搜索是怎么做的
  • 深圳市设计网站公司自己做网站开网店
  • 智能建站cms管理系统修改wordpress时区
  • 站长怎么添加网站内容重庆网站推
  • 东莞网站建设属于什么专业网页设计代码书
  • 网站后台代码在哪修改wordpress添加搜索小工具
  • 爱站站长工具中国建设监理协会官方网站
  • 珠海微信网站开发东莞网站制作方案定制
  • 大学网站建设说明书记的网站域名
  • 网站如何开通支付功能第一ppt课件免费下载官网
  • 做1元夺宝网站挣钱吗美工网站设计收费
  • 华侨城网站开发wordpress页码颜色
  • 上海建站网络公司制作文字图片
  • 平台型网站制作网站建设张世勇
  • 网站建设云南网页游戏大厅都有哪些
  • 网站建设与管理报告书郑州建设银行网站
  • 做网站网页的人是不是思维公司网站建设包括
  • 网站建设都包括哪些网站后台如何上传文件
  • 网站便民服务平台怎么做迁安做网站中的cms开发
  • 做外贸比较好的网站怎么把网站做的好看
  • 有没有在淘宝找人做网站被骗过的台州市环保局网站开发区
  • 公司外文网站制作河南住房和城乡建设厅网站
  • 东莞做网站公司有哪些代码网站推荐
  • 棋类游戏网站开发网站首页顶部图片尺寸
  • 工信部如何查网站备案大连网络推广广告代理
  • 网站建设基本流程心得wordpress首页截断