- 博客(16)
- 收藏
- 关注
原创 【算法】梯度下降算法及python实现
梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。本文将从一个下山的场景开始,先提出梯度下降算法的基本思想,进而从数学上解释梯度下降算法的原理,解释为什么要用梯度,最后实现一个简单的梯度下降算法的实例!
2022-09-30 19:23:24
8548
2
原创 随机森林算法(Random Forest)原理分析及Python实现
随机森林算法(Random Forest)原理分析及Python实现
2022-07-17 23:20:05
20699
5
原创 算法| Java版《剑指offer》第1-10题
文章目录1. 二维数组中的查找1.1 题目描述1.2 题目分析1.3 题目代码1. 二维数组中的查找1.1 题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。1.2 题目分析一个二维数组如图1要查找数组7在不在数组内,我们可以选择从数组的右上角的点开始比较,此时该值为9,9>7,同时9还是第四列最小的数字,那么这意味着,第四列都不
2021-03-27 08:20:32
227
原创 网络模型——四种常见网络IO模型
文章目录1.IO读写原理1.1 内核缓冲区和进程缓存区1.1.1 用户进程和操作系统1.1.2 缓冲区的目的1.2 Java读写IO底层流程2.四种主要的IO模型2.1 基本概念2.1.1 阻塞与非阻塞2.1.2 同步与异步2.1.3 四种IO模型2.2 同步阻塞IO(Blocking IO)网络IO模型一共介绍以下四种: 同步阻塞IO、同步非阻塞IO、IO多路复用和异步IO。1.IO读写原理文件的读写还是socket读写,在Java应用层开发,都是input或者output处理用户程序进行IO操
2021-03-16 17:39:03
4452
1
原创 计算机网络面试题汇总(更新中...)
1.网络协议有哪些?OSI协议七层结构每一层的作用?分别都对应哪些协议?a. 常见的网络协议TCP(Transport Control Protocol):传输控制协议IP(Internet Protocol):Internet协议UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。FTP(File Transfer Protocol):远程文件
2021-03-12 15:25:02
162
原创 LeetCode简单题解——7、整数反转
问题描述给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1输入:x = 123 输出:321示例 2输入:x = -123输出:-321示例 3输入:x = 120输出:21示例 4输入:x = 0输出:0问题解决1.思路及算法本题如果不考虑溢出问题,是非常简单的。解决溢出问题有两个思
2021-03-04 14:28:36
145
1
原创 LeetCode简单题解——1、两数之和
问题描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例1 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1]== 9 ,返回 [0, 1] 。示例2输入:nums = [3,2,4], target = 6 输
2021-03-02 19:54:10
107
原创 volatile关键字
一、并发编程中的三个概念在并发编程中,我们通常会遇到以下三个问题: 原子性问题 , 可见性问题 和 有序性问题 。我们先看具体看一下这三个概念:1、原子性: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。2、可见性 :是指当多个线程访问同一个共享变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。3、有序性:即程序执行的顺序按照代码的先后顺序执行。二、锁的互斥和可见性锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(
2021-02-22 00:24:31
69
原创 synchronized关键字
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。同步机制可以使用synchronized关键字实现。当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。当synchronized方法执行完或发生异常时,会自动释放锁。(一)synchronized(this)1.当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须
2021-02-22 00:10:00
100
原创 线程基础总结
一、线程和进程1.进程进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。2.线程线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也
2021-02-22 00:02:43
178
1
原创 HashMap总结
一、HashMap使用1、创建HashMap对象 HashMap<String,Integer> hashMap = new HashMap<>();线程不安全的哈希表键值对可以存储null,key不可以重复,value可以重复,重复时覆盖oldVlue取出的数据没有顺序2、HashMap类常用方法(1)put(K key, V value)put(K key, V value) 将键(key)/值(value)映射存放到 Map集合中
2021-02-21 23:12:43
347
1
原创 LINUX基础学习——初识LINUX
LINUX基础学习——初识LINUXLinux简介Linux 就是一组软件,而软件分为操作系统软件和应用软件,当然 Linux 属于操作系统软件。操作系统软件操作系统软件就是具有以下功能的软件: windows mac Linux(1)控制硬件资源(2)提供计算机运作所需要的功能(3)提供给程序员系统调用的接口,提供了更容易的开发环境。Linux 和 Windows 的区别Linux 主要使用命令行操作系统,Windows 图形化界面Linux 主要应用
2021-02-21 20:48:14
127
原创 2020.10.17Java知识总结
概括为加入IT大军做准备的第一天,关于今天所学内容的概括和总结。一、JVM、JDK、JRE的概念和关系简单粗暴:JDK包含了JRE,JRE包含了JVM。详细介绍JDK: java development kit, java开发工具包,用来开发Java程序的,针对java开发者。JRE: java runtime environment, java运行时环境,针对java用户JVM: java virtual machine,java虚拟机 用来解释执行字节码文件(class文件)的。JV
2020-10-17 22:02:01
100
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人