ml_支持向量机
关于分类问题与划分超平面对于二分类问题:
\mathbf{D}= \\{\ \mathbf \\{x^{(1)},y^{(1)}\\} ,\\{x^{(2)},y^{(2)}\\},\\{x^{(3)},y^{(4)}\\},\ ...\ ,\\{x^{(5)},y^{(6)}\\},\\{x^{(m)},y^{(m)}\\}\
\\},\ y_{i}\in \\{-1, +1 \\}如果它在特征空间线性可分, 那么我们的目标就是基于$\boldsymbol D$, 在样本空间中找到一个划分超平面,将不同类别的样本分开。
如下图所示:
不难想到这样能将两类样本划分开的超平面应当不止一个,而我们想要找到的超平面,是能做到对训练样本局扰动的“容忍性”最好的那一个。
从上图中可以看到,蓝线虽然能将部分样本分开,但仍会有少部分错误划分,如蓝线可能会将部分负样本划分为正样本(如点B所在区域中的样本),也可能会讲部分正样本划分为负样本(A所在区域中的样本),倘若真实世界的 ...
关于Mysql-逻辑架构
不断更新中
MySQL的逻辑架构通过本节可以明白一条select语句经历了什么。
下图是Mysql的逻辑架构图:
大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。
Server层包括:
连接器、查询缓存、分析器、优化器、执行器等,
涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),
所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
存储引擎层包括:
负责数据的存储和提取。
其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
也就是说,你执行 create table 建表的时候,如果不指定引擎类型,默认使用的就是 InnoDB。
当然我们也可以通过指定存储引擎的类型来选择别的引擎,比如在 create table 语句中使用 engine=memory, 来指定使用内存引擎创建表。
12345create table human( **** **** ****) ...
关于mybatis
关于mybatis(不断更新中)mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
在本篇文章中,除了一些通用的概念外,在实现上主要采用“注解开发”的方式呈现。
使用mybatis注解完成基本的CRUD编写实体类
1234567891011package com.sosactwt.forbatis;import java.io.Serializable;@Datapublic clas ...
Java - 时间
时间LocalDate,LocalTime,LocalDateTime
获取时间1234567import java.time.*LocalDateTime dt= LocalDateTime.now();//2021-07-14T09:53:41.095LocalDate d = dt.toLocalDate()//2021-07-14LocalTime t = dt.toLocalTime()//09:53:41.095 LocalDate d1 = LocalDate.now()//2021-07-14LocalTime t1 = LocalTime.now()//09:53:41.095
设置时间12345// 指定日期和时间:LocalDate d2 = LocalDate.of(2019, 11, 30); // 2019-11-30, 注意11=11月LocalTime t2 = LocalTime.of(15, 16, 17); // 15:16:17LocalDateTime dt2 = LocalDateTime.of(2019, 11, 30, 15, 1 ...
后端之旅 2 - 单元测试
JUnit-单元测试所谓单元测试,就是针对最小功能单元的测试。
在Java程序中,最小功能单元是方法,因此顾名思义,一个单元测试就是针对单个Java方法的测试。
我们设想的理想开发状态是一种测试驱动开发。
就是说,我们先编写接口,紧接着编写测试,编写完测试之后,我们才开始真正编写实现代码。
在编写实现代码的过程中,一边写,一边测,什么时候测试全部通过了,那就表示编写的实现完成了。
当然啦,这是理想状况,我们常常是先写好了实现代码,然后希望对已有的代码做单元测试。
在Java中,我们有专门的单元测试框架-JUnit.
JUnitJUnit是一个开源的Java语言的单元测试框架,专门针对Java设计,使用最广泛。JUnit是事实上的单元测试的标准框架,任何Java开发者都应当学习并使用JUnit编写单元测试。目前最新版是JUnit5。
使用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功的测试和失败的测试,还可以生成测试报告,不仅包含测试的成功率,还可以统计测试的代码覆盖率,即被测试的代码本身有多少经过了测试。对于高质量的代码来说,测 ...
Java-参数绑定
基本类型的参数的传递基本类型包括整型,浮点型,布尔型,字符型。
首先定义一个简单的类:
123456789class Person{ private int age; public int getAge(){ return this.age; } public void setAge(int age){ this.age = age; }}
看一下调用情况:
1234567891011public class Main { public static void main(String[] args) { Person p = new Person(); int n = 15; // n的值为15 p.setAge(n); // 传入n的值 System.out.println(p.getAge()); // 15 n = 20; // n的值改为20 Syst ...
后端之旅 1 - 环境安装
(这里主要以Mac为例,其实装起来没多大区别。)
安装Java环境开发工具:建议IntelliJ IDEA✌️。JDK:可以去oracle官网下载,这里下载的是8,其他版本同样可以在上面下载。下载完了,安装即可。
maven:同样可以去maven的官网下载,maven下载完了之后不需要安装啥的,配置一下就行。
当我们进入这个官网,如果担心速度问题,你可以切换到清华源。
好啦,然后选择下载即可。
使用的话我们下载1即可,对源码感兴趣可以把2也下下来看看。
好啦,下面我们要对1进行操作。
下载好之后,找个你喜欢的地方解压一下,解压好了之后,你会得到一个apache-maven-3.8.1文件夹。
然后要做的就是配置环境变量了。
Mac下我们打开.bash_profile文件,
可以在用户目录下,按shift+command+.显示隐藏文件,就能看见这个文件了,用文本打开就行。
也可以用终端打开:
打开终端,输入
1vi ~/.bash_profile
打开之后,在这个文件里面写入以下两行:
//M2_HOME=后面应该是你自己放apache-maven-3.8.1文件夹的路径
12 ...