ML_Basic-机器学习常见概念

本文介绍了机器学习的基础概念,包括奥卡姆剃刀原理、偏差与方差的权衡、不同类型的机器学习(有监督、无监督、半监督、强化学习)以及生成模型和判别模型的对比。重点讨论了偏差和方差在模型复杂度与过拟合中的角色,以及它们如何影响模型的泛化能力。
摘要由CSDN通过智能技术生成

? 机器学习基础系列专栏

整合网路上各种资源

归纳总结于Machine_Learning_Basic系列


? Index

  • 奥卡姆剃刀原理

  • 过拟合与欠拟合

  • 偏差与方差

    • 深度学习中的偏差与方差

    • 偏差与方差的权衡

    • 导致偏差与方差的原因

  • 机器学习类型

    • 有监督学习

    • 无监督学习

    • 半监督学习

    • 强化学习

  • 生成模型和判别模型

    • 两者之间的联系

    • 两者的优缺点

    • 两者常见的模型

  • 先验概率和后验概率

    • 条件概率

    • 先验概率

    • 后验概率

    • 贝叶斯公式


? 奥卡姆剃刀原理

Occam’s Razor and Overfitting,即奥卡姆剃刀原理,指的是对训练数据最简单的解释就是最好的,训练的模型可能越简单越好,即如果有2个模型的效果效果差不多,那选择简单的那个。

640?wx_fmt=png


? 过拟合与欠拟合

教科书式定义:为了得到一致假设而使假设变得过度严格称为过拟合。

通俗来说,就是对你输入的数据进行了非常严格的拟合,但模型的复用性不强,在测试集上效果差,模型泛化能力弱。大家可以看下下图。

640?wx_fmt=png


? 偏差与方差

《机器学习》 2.5 偏差与方差 - 周志华

  • 偏差与方差分别是用于衡量一个模型泛化误差的两个方面;

    • 模型的偏差,指的是模型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Visual Basic是一种常用的编程语言,可以用于编写各种应用程序。而RS-232是一种常用的串行通信协议,用于在计算机与外部设备之间进行数据传输。在Visual Basic中,我们可以利用一些库和组件来实现对RS-232串行通信的控制。 首先,我们需要在Visual Basic中导入相关的库或组件,如MSComm控件。通过该控件,我们可以设置串行端口的参数,如波特率、数据位数、校验位等,并且可以监听串行端口上的数据。我们可以通过编写代码来控制串行通信的过程。 例如,我们可以通过打开串行端口来建立与外部设备的连接。在Visual Basic中,我们可以使用Open方法打开串行端口。然后,我们可以通过Write方法向外部设备发送数据。在发送完毕后,我们可以使用Read方法读取来自外部设备的数据。最后,我们可以使用Close方法关闭串行端口,断开与外部设备的连接。 除了发送和接收数据,我们还可以通过更高级的控制方法来控制串行通信。例如,我们可以使用事件驱动的方式监听串行端口上的数据,当有数据到达时触发某个事件来对数据进行处理。我们可以编写相应的事件处理程序来处理接收到的数据,并根据需要对外部设备进行控制。 总而言之,通过Visual Basic可以实现对RS-232串行通信的控制。我们可以通过导入相应的库或组件,以及编写相应的代码来设置串行端口的参数,建立连接,发送和接收数据,并且可以使用事件驱动的方式来实现更高级的控制。这样可以方便我们与外部设备进行数据传输和控制。 ### 回答2: Visual Basic是一种面向事件驱动的编程语言,可以用于开发各种应用程序,包括与RS-232串行通信控制相关的应用。 RS-232是一种常用的串行通信协议,用于在计算机与外部设备之间传输数据。在Visual Basic中,可以使用串口控件来进行RS-232串行通信控制。 首先,我们需要在Visual Basic中引入MSComm控件,这是一个用于控制串口通信的控件。我们可以在工具箱中找到该控件,然后将其拖动到窗体上。 接下来,我们可以在代码中设置串口的属性,如波特率、数据位、停止位等。例如,可以使用以下代码设置波特率为9600: MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" 然后,我们可以使用Open方法打开串口连接: MSComm1.PortOpen = True 在进行串行通信时,我们可以使用事件处理程序来处理接收和发送的数据。例如,可以使用DataReceived事件处理程序来处理接收到的数据: Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then Dim receivedData As String receivedData = MSComm1.Input ' 在这里处理接收到的数据 End If End Sub 类似地,我们可以使用方法发送数据。例如,可以使用Output方法发送数据: MSComm1.Output "Hello World" 最后,我们需要在程序结束时关闭串口连接: MSComm1.PortOpen = False 综上所述,Visual Basic与RS-232串行通信控制可以通过使用MSComm控件来实现。我们可以设置串口属性、打开和关闭串口连接,并使用事件处理程序和方法来处理接收和发送的数据。这样,我们就可以使用Visual Basic开发与RS-232串行通信相关的应用程序。 ### 回答3: Visual Basic是一种高级编程语言,可以用于开发Windows平台上的应用程序。而RS-232是一种常见的串行通信协议,用于在计算机和外部设备之间进行数据传输。 在Visual Basic中,我们可以使用串口通信库来控制RS-232串行通信。首先,我们需要创建一个串口对象,并设置通信参数,例如波特率、数据位、校验位和停止位等。然后,我们可以使用该串口对象的方法来发送和接收数据。 通过串口对象的Write方法,我们可以向外部设备发送数据。例如,我们可以发送控制命令或数据给连接在计算机上的串行设备。同时,通过串口对象的Read方法,我们可以从外部设备读取数据。例如,我们可以读取传感器的测量值或设备的响应。 在编写Visual Basic程序时,我们可以根据需要设置定时器来定期发送或接收数据。此外,我们还可以使用事件处理程序来响应外部设备发送的数据。例如,当外部设备发送一个特定的字节或命令时,我们可以通过事件处理程序来执行相应的操作。 需要注意的是,RS-232通信的稳定性和可靠性也取决于硬件设备和操作系统的支持。因此,我们需要确保计算机和外部设备之间的连接正确,并配置好相应的串口驱动程序。 总而言之,Visual Basic可以通过串口通信库来控制RS-232串行通信。这使得我们能够方便地与外部设备进行数据交互,从而实现各种应用,例如数据采集、仪器控制、机器人控制等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值