- 博客(65)
- 收藏
- 关注
原创 2021-05-26
Win10环境FFmpeg下载与安装STEP1登录官网:http://ffmpeg.org/download.html选择Windows操作系统,点击红框标识的链接,跳转到如下页面:下拉到“Links”,点击空旷标识的链接,下载文件。STEP2下载的文件解压,放在合适的文件目录下(笔者目录为 D:\Work\ffmpeg )。STEP3打开环境变量,在用户变量的“Path”中添加 ffmpeg 的 bin 文件夹路径(笔者路径为 D:\Work\ffmpeg\bi
2021-05-26 12:29:37
206
原创 吴恩达机器学习CS229A_EX5_偏差与方差_Python3
本次实验使用 EX1 写过的线性回归,主要是分析理解欠拟合(高偏差 bias)和过拟合(高方差 variance)。因为编写的代码基本在 EX1 和 EX2 都有涉及,主要记录实验过程,关于代码的详细注解可以参考:吴恩达机器学习CS229A_EX1_线性回归_Python3和吴恩达机器学习CS229A_EX2_逻辑回归与正则化_Python3数据集训练集 12 个样本,验证集和...
2020-04-24 04:21:49
539
原创 吴恩达机器学习CS229A_EX4_神经网络与反向传播算法_Python3
神经网络与反向传播算法数据集依然是手写数字。导入并初始化数据,这里用了 sklearn 的库函数用于生产原始 label 对应 NN 的输出形式:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.io import loadmatfrom sklearn.preproc...
2020-04-23 20:57:05
711
原创 吴恩达机器学习CS229A_EX3_LR与NN手写数字识别_Python3
任务描述数据集为手写数字,是一个多分类问题,分别用逻辑回归和神经网络做。逻辑回归逻辑回归及其正则化已经在 EX 2 做过,这里做一些修改即可。首先导入数据,给出的数据集是 Matlab 的 .mat 格式,每个样本是 20 * 20 的灰度图,共 5000 个样本:import numpy as npfrom scipy.io import loadmatimport s...
2020-04-22 22:38:12
650
原创 吴恩达机器学习CS229A_EX2_逻辑回归与正则化_Python3
逻辑回归问题描述:特征集为学生的两门课的成绩,标签集为是否被大学录取。注意:这里调用 scipy 库函数执行梯度下降的具体迭代,不用手动设置步长和迭代次数,但cost 如何计算、梯度如何求取需要以函数形式传递给 scipy; numpy 对array 执行矩阵运算时,对数据格式比较严格,程序中调用了好几次 shape() 用于将形如 (100, ) 的数据格式转化为 (100, ...
2020-04-21 01:25:43
625
原创 吴恩达机器学习CS229A_EX1_线性回归_Python3
单变量回归问题描述:你的数据集中,x 是某个城市的人口数量,y 是你的餐车在那个城市的盈亏数额。对这个数据集进行挖掘,帮助你进行决策。首先导入并分析数据:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdef loadData(firename): return pd.read_c...
2020-04-19 20:56:21
560
1
原创 机器学习实战_Python3.7_AdaBoost元算法
AdaBoost 元算法AdaBoost 元算法是基于某一个前面介绍过的算法(比如 kNN、决策树、SVM)的,以决策树为例,我们的目标不是直接训练完整的决策树,寻求最优的参数设置,而是用很多不完美的决策树,将它们的计算结果经过加权求和,作为预测的依据。简单的说就是“三个臭皮匠,赛过一个诸葛亮”。算法从一个初始的权重向量 D 开始,训练得到决策树 A (可能是很简单的预测方式,并且预...
2020-04-17 22:20:54
288
原创 机器学习实战_Python3.7_支持向量机SVM
简化版 SMO 算法from numpy import *import randomdef loadDataSet(filename): dataMat = [] labelMat = [] fr = open(filename) for line in fr.readlines(): lineArr = line.strip()....
2020-04-17 19:44:59
580
原创 机器学习实战_Python3.7_Logistic回归
Logistic 回归,算法思想是使用 sigmoid(W * X ) 来预测结果,将特征置以不同权制相加,再加上一个偏置量,得到的值经过 sigmoid 函数的处理,进行预测。其中 W 向量是我们要根据训练集数据得到的,这里用的方法为梯度下降法,以及为了减少运算量而采用的随机梯度下降法。算法特别的细节是对学习率和迭代次数这两个参数的选取,需要深入理解算法原理以及算法迭代过程中的现象,尽...
2020-04-14 01:46:49
294
原创 机器学习实战_Python3.7_决策树_ID3
决策树 ID3 算法原理比较简单,处理数据的过程也比较容易理解,简单的说就是以数据集的香农熵作为判据,利用树的数据结构递归对数据集进行分类。STEP1计算数据集的香农熵#计算数据集的香农熵def calcShannonEnt(dataSet): #获取数据个数 numEntries = len(dataSet) #创建空字典,用于存储 label:个数 的键...
2020-04-13 21:56:32
288
原创 机器学习实战_Python3.7_朴素贝叶斯算法
关于算法原理可参照:朴素贝叶斯算法原理_简单示例描述文本分类实验训练集为手动输入的小型训练集:训练集 X(特征:词条组成的集合) Y(Label:是否侮辱性) ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'] 0 ['maybe', 'not', 'take', 'hi...
2020-04-11 17:20:41
517
原创 朴素贝叶斯算法_简单示例描述
参考李航《统计学习方法》,列出一个自制的简单的数据集,描述朴素贝叶斯算法的原理。一步步往下读,很好理解这个算法!基本设定输入值 X :一个 n维向量,即输入的数据包含 n 个特征值 输出值 Y :{c1, c2, ……, ck}中的一个(总共有 k 种 label) 训练集 T :{(x1, y1), (x2, y2), ……, (xN, yN)}(总共 N 组)以一个简易数...
2020-04-10 22:22:55
574
原创 机器学习实战_Python3.7_kNN算法
使用 Python3.7 编译,代码与书中类似,修改了 python2 被淘汰的语法,附详细注解。kNN算法原理非常简单,无需赘述,缺点主要是运行速度。这里使用的方法全都是矩阵结构,全局遍历,没有用到高级数据结构,运行效率较低,但是实现简单。重点学习Python 和Numpy 的基本语法(列表、矩阵操作)以及基本的文件操作。基本算法from numpy import *...
2020-04-09 00:58:22
340
原创 Mac环境配置Anaconda+Pycharm+Opencv+Tensorflow
Anaconda版本:2020.02Pycharm 为安装Anaconda 过程中,安装界面给的PyCharm CE with Anaconda plugin 下载地址
2020-03-31 03:23:05
842
1
原创 Mac 保留默认的 Python2 ,修改默认路径为 Python3
https://blog.youkuaiyun.com/mghhz816210/article/details/73088406https://www.cnblogs.com/yuuje/p/10114855.html
2020-03-30 21:49:11
643
原创 北理工慕课《Python机器学习应用》环境配置
慕课上的北理工《Python机器学习应用》课程的环境配置。课程内容主要是在 Windows 环境下利用 Python 的 Scikit-learn 库和 tensorflow 库进行机器学习的实践,理论讲解不多,主要是提供一个快速动手实践,体验简单工程的方式。因为课程是2017年开设的,一些库的版本有了升级,配置要求也有了变化,笔者折腾了很久才配置好:C:\Users\VITA>...
2020-03-29 18:40:02
600
原创 CMU_CSAPP_LAB3_ATTACKLAB
本实验要仔细阅读对应的 write up ,上面给了大量的提示信息,主要是介绍两种攻击方式,分两部分,第一部分的方式对于现代计算机已经基本无效了,第二部分的方式过程比较繁杂,不过原理还是很容易理解的。实验的主要目的还是熟悉计算机的程序控制方式、函数栈帧的结构,以及熟练使用 dbg 和 objdump 工具进行调试。本文讲解较少,可参照其他博客,有一些写的很好,附图讲解,思路清晰。本文对实验...
2020-03-28 00:19:02
1133
原创 CMU_CSAPP_LAB2_BOMBLAB
CSAPP第二章的第一个实验BombLab实验记录。实验内容主要使用 gdb 、objdump 等指令在终端调试程序,利用反汇编查看各个函数运行的汇编代码,了解各个函数的执行过程。附gdb指令精简手册:http://csapp.cs.cmu.edu/public/students.htmlPhase_1首先打开终端输入 gdb bomb 进入调试界面。查看 phase_1 的汇...
2020-03-22 00:54:37
783
原创 CMU_CSAPP_LAB1_DATALB_环境配置与代码实现
本文对CSAPP学习第二章《信息的表示与处理》中的编程案例实践和大实验DATALAB进行汇总小结。第二章内容主要包括:数据在内存中的表示方式 布尔运算——位运算(~ & | ^)、逻辑运算(! && ||) 整数的表示方法与运算 浮点数的表示方法与运算实践一对应1;实践二对应2;整数和浮点数的表示与运算主要以数学角度阐述,在DATALAB中有所涉及...
2020-03-21 14:29:42
2409
1
原创 哈工大刘宏伟《计算机组成原理》课程框架总结
哈工大刘宏伟老师的《计算机组成原理》采用自顶向下方法,系统介绍了计算机各个基本部件的体系结构、逻辑实现、控制方式。(一定数电基础是必要的,如果了解汇编更有助于理解部分内容)B站链接计算机组成原理——哈工大刘宏伟(B站)慕课链接(上)计算机组成原理——哈工大刘宏伟(慕课上)慕课链接(下)计算机组成原理——哈工大刘宏伟(慕课下)本文是笔者听完全部课程后结合自己的理解,试图用尽可能通俗的...
2020-03-13 22:50:18
3013
原创 网络科学入门——NetWorkx库
Networkx库的导入过程参见 http://blog.sina.com.cn/s/blog_63edc09f0101jq1p.html。四种典型的网络图实现方式参见 https://www.cnblogs.com/forstudy/archive/2012/03/20/2407954.html。周涛教授的一篇文献汇总 http://blog.sciencenet.cn/home.php
2018-01-11 00:25:35
532
原创 LeetCode-64-Minimum Path Sum(C语言实现)
int minPathSum(int** grid, int gridRowSize, int gridColSize) { int i, j; if(gridRowSize == 0 || gridColSize == 0) return 0; else if(gridRowSize == 1){ int sum = 0; for
2018-01-03 09:04:21
430
原创 LeetCode-63-Unique Paths II(C语言实现)
int uniquePathsWithObstacles(int** obstacleGrid, int obstacleGridRowSize, int obstacleGridColSize) { int i, j; int m = obstacleGridRowSize - 1; int n = obstacleGridColSize - 1; if(
2018-01-03 08:46:31
491
原创 LeetCode-62-Unique Paths(C语言实现)
int uniquePaths(int m, int n) { if(m else if(m == 1 || n == 1) return 1; else{ int a[m][n]; int i, j; for(i = 0; i for(j = 0; j for(i = m
2018-01-03 08:09:48
436
原创 LeetCode-59-Spiral Matrix II(C语言实现)
/** * Return an array of arrays. * Note: The returned array must be malloced, assume caller calls free(). */int** generateMatrix(int n) { if(n == 0) return NULL; int i, j, k, flag =
2018-01-03 07:54:49
515
原创 LeetCode-56-Merge Intervals(C语言实现)
/** * Definition for an interval. * struct Interval { * int start; * int end; * }; *//** * Return an array of size *returnSize. * Note: The returned array must be malloced, a
2018-01-03 07:15:54
918
原创 LeetCode-54-Spiral Matrix(C语言实现)
/** * Note: The returned array must be malloced, assume caller calls free(). */int* spiralOrder(int** matrix, int matrixRowSize, int matrixColSize) { if(matrixRowSize == 0 || matrixColSize
2018-01-03 06:12:17
554
原创 LeetCode-53-Maximum Subarray(C语言实现)
int maxSubArray(int* nums, int numsSize) { if(numsSize == 0) return 0; if(numsSize == 1) return nums[0]; int max = nums[0]; int sum = nums[0]; for(int i = 1; i if(su
2018-01-03 05:26:37
722
原创 LeetCode-48-Rotate Image(C语言实现)
void rotate(int** matrix, int matrixRowSize, int matrixColSize) { int i, j, tmp; for(i = 0; i for(j = 0; j tmp = matrix[i][j]; matrix[i][j] = matrix[matr
2018-01-03 05:03:26
1001
原创 LeetCode-55-Jump Game(C语言实现)
bool canJump(int* nums, int numsSize) { int i = 0; int j = nums[0]; while(i int k = i + nums[i]; if(k > j) j = k; ++i; } if(i == numsSize) return t
2018-01-03 04:34:45
484
原创 LeetCode-407-Trapping Rain Water II(C语言实现)
(在线显示未通过的数据在我自己的IDE(Xcode)上运行结果正确,暂未找到原因,在此记录代码)int len = 0; //记录优先队列长度int v = 0; //记录体积int top = 0;
2018-01-03 04:20:58
329
原创 LeetCode-42-Trapping Rain Water(C语言实现)
int trap(int* height, int heightSize) { int sum = 0; int l = 0; int r = heightSize - 1; int l_top = height[0]; int r_top = height[heightSize - 1]; while(l if(he
2018-01-02 21:44:48
368
原创 LeetCode-34-Search for a Range(C语言实现)
/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */int bsearchLeft(int array[],int low,int high,int target){ while(low
2018-01-02 20:59:03
557
原创 LeetCode-35-Search Insert Position(C语言实现)
int searchInsert(int* nums, int numsSize, int target) { //首部判断 if(numsSize == 0 || nums[0] >= target) return 0; //主体判断 int i = 0; while(i if(nums[i] == target) retur
2018-01-02 03:10:11
470
原创 LeetCode-33-Search in Rotated Sorted Array(C语言实现)
int b_search(int* array,int low,int high,int target){ while(low int mid=(low+high)/2; if(array[mid]>target) high=mid-1; else if(array[mid] low=m
2018-01-02 02:25:02
364
原创 LeetCode-31-Next Permutation(C语言实现)
int cmp(const void *a, const void *b){ return *(int*)a - *(int*)b;}//返回nums数组中下标l到r之间(包含l和r)比flag大的最小的数的下标//如果没有比flag大的数则返回-1int min(int *nums, int l, int r, int flag){ int i, po
2018-01-02 02:03:54
577
原创 LeetCode-27-Remove Element(C语言实现)
int removeElement(int* nums, int numsSize, int val) { int i, j, flag = 0; for(i = 0; i if(nums[i] == val){ ++flag; for(j = i + 1; nums[j] != val && j
2018-01-02 00:47:02
358
原创 LeetCode-26-Remove Duplicates from Sorted Array(C语言实现)
int removeDuplicates(int* nums, int numsSize) { int i, j = 1; if(numsSize == 0) return 0; for(i = 1; i if(nums[i] != nums[i - 1]) nums[j++] = nums[i]; }
2018-01-02 00:38:40
278
原创 LeetCode-18-4Sum(C语言实现)
/** * Return an array of arrays of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */int cmp (const void * a, const void * b){ return ( *(int*)a -
2018-01-01 23:56:44
677
1
原创 LeetCode-16-3Sum Closest(C语言实现)
int cmp (const void * a, const void * b){ return ( *(int*)a - *(int*)b );}int threeSumClosest(int* nums, int numsSize, int target) { int least, max, k, l, r, diff, new_diff, sum, res
2018-01-01 23:04:40
425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人