西瓜书第三章学习心得

西瓜书——第三章课后习题 题3.1 试析在什么情况下f(x)=w^(T)+b中不必考虑偏置项b 首先要知道为什么要加偏置项?它的作用是什么?在之前学过的一次函数中,b其实就是函数在y轴的截距,控制着函数偏离原点的距离,那么在线性模型中应该也是类似作用。看了这个博主的文章,大概意思就是加偏置项是为了更好的拟合数据。 其实我自己看到这个题第一反应是,如果让 fi-fj,这样就可以消掉b了,自然也就不用考虑它。也就是让所有数据集都和任意一个数据集相减,最后得到一个新的数据模型f(x)’=w^(T)。 但是又感觉不是这样的吧,莫名心虚, 阅读详情

线性回归的特点

是y,纵坐标的差的和的最小值

之前理解为点到线的距离最小了,这其实是正交回归

机器学习三要素

1.模型:确定假设空间

2.策略:损失函数

3.算法:求解损失函数的最小值,得出参数

所以对于线性回归

1.模型就是线性模型

2.策略一般运用极大似然估计

3.算法就是 梯度下降法或者牛顿法

通过学习完高数概率论线性代数之后,基本上对这一章还是能很清楚理解的,核心问题在于公式结果的运算上,缺少一些知识:

1.矩阵分析:矩阵微分

2.凸函数的最优求解

3.信息论的熵的知识

此外,发现在代码实现累加累乘的时候,如果用for循环,O是非常大的。这时候运用矩阵,向量计算工具库,如numpy,就会很快。

所以接下来还是要补充好矩阵分析的知识。

西瓜书第三章、第五章课后答案—3.3、3.5、5.5 1、3.3编程实现对率回归 1、数据集 西瓜书89页数据集3.0a # -*- coding: utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn import model_selection from sklearn.linear_model import Lo... 阅读详情

相关推荐

西瓜书第三章习题及答案

西瓜书第三章课后习题

qq_43761012的博客 5947

入门人工智能历程,学习西瓜书的体验心得

我很早就冒出来对人工智能的兴趣萌芽,以前也试图去闯入这个领域。我上知乎查过,在百度上搜索过,也看过一些课,每次都是学了一点点就直接被大量看不懂的公式和看似高深的理论劝退,然后我自我安慰道:“难怪国内大学本科开人工智能的学校没几个.”但是我最近又冒出了学习人工智能的想法,因为学校的一位老师和我沟通,想要我去他的创业公司搞算法。我去了解了一下这个公司,主要的业务是使用人工智能优化建筑设计的图纸。我认真思考了一晚上,决定我要入门人工智能这个看似很高深的领域。 老师给我推荐了两本书,一本是周志华写的《机器学习》简

WonderKing'blog 6097

【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型

线性模型形式简单,易于建模。

一个甜甜的大橙子的博客 6889

《西瓜书》读后感

参考资料 浙江大学·研究生“机器学习”课程:https://www.bilibili.com/video/BV1dJ411B7gh (视频里面,西瓜书做为参考) 导学,我感觉比较适合初学者:https://www.bilibili.com/video/BV17J411C7zZ (对西瓜书进行导读、小总结) 看了"深度之眼·西瓜书训练营",这个是属于公式推导&证明,属于加深学习。(有点偏!) 直观感受 看西瓜书的目的: 就是为了知道 AI都有哪些方法,浅显过一遍就行了。 ...

bijingrui的博客 1218

【Java】利用反射执行Spring容器Bean指定的方法,支持多种参数自动调用

目录 使用情景 目的 实现方式 前提: 思路 核心类 测试方法 使用情景 将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法; 配合Netty实现简单的HTTP请求处理框架 其他需要使用反射执行Spring方法的业务亦可 目的 很多文章都提到了反射,但是对于方法参数处理这一块都是明确了类型,不支持按照实际参数动态转换,而本篇文章提供了一个思路怎么做到方法参数的动态调用。 大家也可以...

ITjianshuzhai的博客 2334

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 547

西瓜书机器学习总结(一)

1.基本概念1.数据集,特征属性,属性值,训练集,样本,标记,独立同分布的假设balabala….简单易懂 2.归纳学习与归纳偏好:广义从样例学习,狭义是学习概念。西瓜模型的学习可以理解为从假设空间中搜索匹配,剔除不符合,最终会有多个模型,这个集合也可以叫做版本空间。然后我们必须根据规则选择一个,设计occam’s razor原理,选择最简单的。 3.NFL:所有模型的期望性能相同。(假设各个机

cbf的博客 2064

RK3399驱动开发 | 19 - 阿美林7寸mipi屏幕调试(基于linux4.4.194内核)

NULL

Mculover666的博客(嵌入式) 2661

机器学习第一章学习笔记及心得(周志华著,西瓜书)

西瓜书 L1: 机器主要内容是在计算机上从数据中产生”模型(model)”的算法,即学习算法(learning algorithm),有了学习算法我们可以把经验(数据)提供给它,它能提供相应的判断。如果说计算机科学是研究关于”算法”的学问,那么机器学习就是研究关于”学习算法”的学问。 机器学习的目标是使学得的模型能很好的适用于新样本而不仅仅只在训练样本上工作得好 模型(model):泛指从数据中学...

sun830910的博客 628

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3975

Simulink智能驾驶场景探索:自动泊车系统设计与验证

自动泊车系统(APS)传感器模块:用于检测车辆周围的障碍物和其他车辆的位置。路径规划模块:根据传感器数据生成最优的泊车路径。控制器模块:根据路径规划结果生成转向角、速度等控制信号。执行器模块:根据控制器生成的信号调整车辆的方向盘、油门和刹车。在本实例中,我们将使用超声波传感器和摄像头来检测车辆周围的环境,并使用PID控制器实现自动泊车功能。通过本教程,我们介绍了如何使用 Simulink 进行自动泊车系统的仿真。背景介绍:理解自动泊车系统及其在智能驾驶中的应用。所需工具和环境。

MHD0815的博客 505

西瓜书第二章总结

1、欠拟合比较好解决,过拟合则很麻烦,而且必须认识到过拟合是无法避免的,我们所做的只能是“缓解”。 2、模型评估 2.1、留出法(hold out): 留出法将数据集D划分为两个互斥的集合,其中一个座位训练集S,另一个作为测试集T。 即 S + T= D,S交集T为空。在S上训练出模型后,用T来评估测试误差,作为对泛化误差的估计。 注意1,训练/测试集的划分要尽可能的保持数据分布的一致性...

一座青山的专栏 1412

芒果YOLOv7改进04:Loss篇:原创改进损失函数Repulsion:独家首发最新改进Repulsion Loss解决目标遮挡场景下检测,为解决密集人群检测中遮挡设计的损失函数,打造高效检测器涨点

YOLOv7原创改进Repulsion|首发最新改进为解决密集人群检测中遮挡设计的损失函数

包括YOLOv5、YOLOv7、YOLOv8等模型改进 3251

《西瓜书》第三章 线性模型 手写版笔记

《西瓜书》第三章 线性模型 手写版笔记 文章目录《西瓜书》第三章 线性模型 手写版笔记3.0 知识点总览3.1 线性回归(Linear Regression)求解的推导过程3.1.1 单变量线性回归3.1.2 多变量线性回归3.1.3 对数线性回归3.2 逻辑回归(Logistic Regression)3.3 线性判别(LDA)3.4 多分类学习的拆分策略3.5 处理类别不平衡问题三种方法 3....

u013307195的博客 1927

22、嵌入式软件随机延迟生成与加密算法防护技术

本文探讨了嵌入式软件中的随机延迟生成方法与块密码软件实现的高阶掩码及洗牌技术。重点介绍了浮动均值延迟生成方法,其在8位AVR平台上的实现效率为Θ(1),显著提升了抗相关功率分析(CPA)攻击的能力,相比传统方法更安全且轻量。同时,分析了高阶掩码与洗牌技术结合的方案,通过理论建模量化其对高级差分功率分析(DPA)攻击的抵抗能力,并以AES为例展示了该方案的应用流程。最后对比了不同防护技术在安全性与开销之间的权衡,为实际应用中选择合适的安全策略提供了依据。未来可进一步优化实现效率并融合多种防护手段以应对复杂安全

fern8的博客 88

【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入注意力机制ChannelAttention

本文介绍了在nnunet中加入ChannelAttention的方法,按照本文教的教程,可以快速完成ChannelAttention的加入和自定义模型的跑通。

AI爱好者的博客,分享计算机领域相关知识 5800

《西瓜书》笔记汇总

《西瓜书》第三章 线性模型 手写版笔记 《西瓜书》第四章 决策树 笔记 《西瓜书》第六章 SVM支持向量机 笔记 《西瓜书》第六章 公式6.2推导 空间任一点到超平面的距离 《西瓜书》第六章 公式6.6 凸二次规划问题 ...

u013307195的博客 4558

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

周志华-机器学习西瓜书-第三章习题3.5 LDA

本文为周志华机器学习西瓜书第三章课后习题3.5答案,编程实现线性判别分析LDA,数据集为书本第89页的数据 首先介绍LDA算法流程: LDA的一个手工计算数学实例: 课后习题的代码: # coding=utf-8# import flattenimport tensorflow as tffrom numpy import *import ...

weixin_34013044的博客 2282

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

西瓜书《机器学习》全网最详细解读 第三章:线性模型

机器学习》,又称西瓜书,是南京大学教授周志华教授编著的一本机器学习领域的经典教材。《机器学习》系统地介绍了机器学习的基本理论、常用算法及其应用。全书内容丰富,涵盖了机器学习的多个重要方面,包括监督学习、无监督学习、强化学习等主要学习范式。《机器学习》适合计算机科学、人工智能、数据科学等相关专业的本科生、研究生以及对机器学习感兴趣的自学者。无论是初学者希望系统地学习机器学习的基础知识,还是有一定基础的研究人员和从业者希望深入了解前沿技术,这本书都能提供有价值的参考。在接下来的日子里,我将。

sherlockMa的博客 1817

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

西瓜书的第三章(线性模型)

学习一些相关的概念。基础的形式,线性回归、均方误差、梯度下降等关键内容,涵盖对数几率回归、多分类学习及类别不平衡问题多分类学习(Multi-class Classification)是机器学习中的一种任务类型,旨在将输入的样本划分到多个不同的类别中。与二分类(只有两个类别,是猫或不是猫)不同,多分类面对的是具有三个或更多类别情况,例如在图像识别中区分不同种类的动物(猫、鸟、狗等)在分类任务中不同类别在样本数量上存在较大差异的现象。

oisflo的博客 1213

西瓜书课后习题——第三章

3.1 式3.2 $f(x)=\omega ^{T}x+b$ 中,$\omega ^{T}$ 和b有各自的意义,简单来说,$\omega ^{T}$ 决定学习得到模型(直线、平面)的方向,而b则决定截距,当学习得到的模型恰好经过原点时,可以不考虑偏置项b。偏置项b实质上就是体现拟合模型整体上的浮动,可以看做是其它变量留下的偏差的线性修正,因此一般情况下是需要考虑偏置项的。但如果对数据集进行了归一...

weixin_30787531的博客 2839

西瓜书第三章

Pytorch中nn.module实现。

xiaoluzzz的博客 254

西瓜书——线性模型

本章内容来源于西瓜书第三章的课后题,序号是3.3,关于西瓜书的答案,网上已经有了不少,我自己也是先按照网上西瓜书的答案进行的学习,但是后面发现网上的答案没有很好的利用书中的知识,所以自己按照书中内容,重新做了下 数据介绍 我们先介绍数据,数据如下,可以直接复制拿去用 [[ 1. , 0.697 , 0.46 , 1. ], [ 2. , 0.774 , 0.376 , 1. ], [ 3. , 0.634 , 0.264 , 1. ], [ 4.

Broke_Leaf的博客 254

机器学习(西瓜书) 第三章 线性模型

本文是《机器学习》(周志华)第三章"线性模型"的学习笔记,以通俗易懂的方式讲解核心概念。文章首先介绍了线性模型的基本形式和优势,然后详细解析了线性回归、对数几率回归、线性判别分析等算法。在多分类学习部分,重点讨论了OvO、OvR和MvM三种策略,特别介绍了纠错输出码(ECOC)技术。最后针对类别不平衡问题,提出了欠采样、过采样和阈值移动三种解决方法。作者刻意简化数学公式,强调理解算法思想和应用场景,适合机器学习初学者阅读。文中还穿插了数据预处理、模型评估等实用技巧,并预告下一章将讲解决策

在猴站学算法 949

机器学习(西瓜书)——第三章线性模型(知识点思维导图)

我这里只是写了点只是框架,更多的是靠大家来学习

qq_51999794的博客 2095
上一篇: 西瓜书1-2章笔记
下一篇: 帮同学处理Excel数据
keepgoingYi
博客等级 码龄7年 231粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值