- 博客(115)
- 资源 (12)
- 问答 (9)
- 收藏
- 关注
原创 8.李航机器学习-AdaBoost梯度提升算法python实现
AdaBoost梯度提升算法项目链接:https://github.com/Wchenguang/gglearn/blob/master/AdaBoost/李航机器学习讲解/AdaBoost.ipynb算法步骤与原理训练 mmm 个弱学习分类器,分类器有相同的接口Gm(x):X→{x1,x2… } G_{m}(x) : \mathcal{X} \right...
2019-07-25 11:34:58 439
原创 Kmeans分类python实现
Kmean分类项目链接:https://github.com/Wchenguang/gglearn/blob/master/KmeansClassifier/讲解/KmeansClassifier.ipynb首先, 随机确定 K 个初始点作为质心(不必是数据中的点)。然后将数据集中的每个点分配到一个簇中, 具体来讲, 就是为每个点找到距其最近的质心, 并将其分配该质心所对应的簇. 这一步完...
2019-07-23 23:15:03 766
原创 机器学习实战-线性回归
线性回归项目链接:https://github.com/Wchenguang/gglearn/blob/master/LinearRegression/机器学习实战:基于Scikit-Learn和TensorFlow讲解/LinearRegression.ipynbimport numpy as npimport matplotlib.pyplot as pltclass LinearRe...
2019-07-19 20:56:36 234
原创 5.李航机器学习-决策树python实现
项目链接:https://github.com/Wchenguang/gglearn/blob/master/DecisionTree/李航机器学习讲解/DecisionTree.ipynb'''特征选择算法'''import numpy as npimport math'''熵的计算'''def entropy(y_values): e = 0 unique_...
2019-07-10 16:21:50 358
原创 5.决策树特征重要性判别算法python实现
特征重要性算法项目链接:信息增益法 公式熵的定义:属性 yyy 的熵,表示特征的不确定性:P(Y=yj)=pj,i=1,2,⋯ ,n P\left(Y=y_{j}\right)=p_{j}, \quad i=1,2, \cdots, nP(Y=yj)=pj,i=1,2,⋯,nH(Y)=−∑j=1npjlogpjH(Y)=-\sum_{j=1...
2019-07-07 11:59:18 2218
原创 4.李航机器学习-朴素贝叶斯及Laplace平滑公式笔记与python实现
朴素贝叶斯项目链接:公式推导贝叶斯算法的原理,在李航机器学习的书中已有详细证明,一下只对关键问题进行证明1 为什么贝叶斯中后验概率最大化等价于经验风险最小化令L(y,f(x))L(y, f(x))L(y,f(x))为损失函数,通过积分可以得到经验损失Repp(f)=∫x∫yL(y,f(x))×P(x,y)dxdy=∫x∫yL(y,f(x))×P(y∣x)P(x)dxdy=∫xP(x)...
2019-06-10 16:32:48 1138
原创 3.李航机器学习-KNN公式笔记及实现(未完成)
K近邻分类算法项目链接:https://github.com/Wchenguang/gglearn/blob/master/KNNClassifier-todo/李航机器学习讲解/KNNClassifier.ipynb公式笔记Lp距离公式Lp(xi,xj)=(∑l=1n∣xi(l)−xj(l)∣p)1p L_{p}\left(x_{i}, x_{j}\right)=\left(\su...
2019-06-09 10:27:05 237
原创 1.李航机器学习-多项式回归公式推导及python实现
多项式回归项目链接:https://github.com/Wchenguang/gglearn/blob/master/PolynomialClassifier/李航机器学习-讲解/PolynomialClassifier.ipynb公式推导损失函数定义为平方损失函数cost=12(f(X)−Y)2L=1N×∑i=1N12(∑j=0M(wjxij)−yi)2 \begin{arra...
2019-06-07 10:56:34 987 2
原创 2. 感知机模型实现-matlab
%对于超平面性质的证明在笔记中可以见到,书中对于感知机的介绍已足够详细%输入空间即特征空间,假设空间是所有w及b确定的超平面,输出空间为{-1, 1}%数据集 以书中数据为例T = [3,3,1; 4,3,1; 1,1,-1];w = zeros(size(T, 1) - 1, 1);b = 0;%训练模型,学习速率为1[w,b] = train(w, b, T...
2019-01-19 10:22:23 840
原创 5.决策树节点实现-matlab
实现了ID3和C4.5中最关键的,信息增益及信息增益比的计算以及节点的生成策略,尽量用矩阵运算以及matlab关于矩阵处理的api。%另一个文件中测试代码 p = node([1;2], [1,2,3;2,1,4;2,3,1;3,2,1;2,3,4;4,2,1;3,2,1], 0.6)classdef node properties %该节点的y标记 ...
2019-01-06 10:30:09 724
原创 4.朴素贝叶斯分类器实现-matlab
实现朴素贝叶斯分类器,并且根据李航《统计机器学习》第四章提供的数据训练与测试,结果与书中一致分别实现了朴素贝叶斯以及带有laplace平滑的朴素贝叶斯%书中例题实现朴素贝叶斯%特征1的取值集合A1=[1;2;3];%特征2的取值集合A2=[4;5;6];%S M LAValues={A1;A2};%Y的取值集合YValue=[-1;1];%数据集和T=[ 1,4,-1;...
2019-01-05 10:08:26 3294 2
原创 1.多项式回归-matlab
实现多项式回归,李航《统计机器学习》关于偏导数的求解是错误的,使用正确的求导公式实现,并获得了期望的效果%输入空间X = [1;2;5;6;10];a = size(X, 1);b = size(X, 2);%输出空间Y = [1;10;2;9;1];%假设空间以及模型选择theta_1 = [0; 0];theta_2 = [0; 0; 0; 0];theta_3 = [...
2019-01-05 10:06:55 3385
原创 本科计算机要不要读研
今天备战考研之余来了兴趣又上网搜了一下“本科计算机要不要读研”。这里还是想给以后的学弟学妹留点可以借鉴的想法。纯属个人意见。。博主三流985,大一大二铁了心思要工作,自己也的确蛮好学。大一刚来是小白什么都不懂,室友都是有基础的。所以大一上疯狂学习c语言+大一寒假学习window编程(编出图形洁面后高兴的不行)+(后来等了一些发现图形界面什么的都是浮云)大一下学习c++看斯坦福的数据结构课刷...
2018-09-10 20:00:45 1337
原创 c++线程池的实现
https://github.com/Wchenguang/ThreadPool/github 传送门------------------1.使用实例//测试job写文件class job : public WJob{private: int a; fstream file;public: job(int aa){ a = aa;
2017-10-30 09:16:42 894
原创 c++内存池的实现
https://github.com/Wchenguang/Memana代码坐标见上内存池,申请相对较大的内存免去申请销毁内存的耗时------------------------------------------------------------------------------------------------------------------------------
2017-10-25 16:04:46 451
原创 304. Range Sum Query 2D - Immutable
class NumMatrix {public: vector> *sums; NumMatrix(vector> matrix) { if(0 == matrix.size()) return; sums = new vector>(matrix.size(), vector(matrix[0].size(), 0));
2017-10-09 09:11:05 315
原创 303. Range Sum Query - Immutable
class NumArray {public: vector sums; NumArray(vector nums) { sums.push_back(0); for(auto i : nums){ sums.push_back(sums.back()+i); } } int sum
2017-10-09 08:35:25 265
原创 300. Longest Increasing Subsequence
class Solution {public: int lengthOfLIS(vector& nums) { if(0 == nums.size()) return 0; int maxVal = 1; vector dpVal(nums.size(), 0x80000000); dpVal[0]
2017-10-08 14:49:42 241
原创 290. Word Pattern
class Solution {public: bool wordPattern(string pattern, string str) { map c2sm; map s2cm; stringstream ss(str); string s; for(int i = 0; i <
2017-10-06 10:19:44 311
原创 283. Move Zeroes
class Solution {public: void moveZeroes(vector& nums) { vector notzero(nums.size(), 0); int sz = 0; for(int i = 0; i < nums.size(); ++i){ if(nums[i] != 0)
2017-10-06 09:16:17 285
原创 如何用c++做一个编译器(二)
代码地址https://github.com/Wchenguang/wkC-compiler/tree/master/Lexer-21.向FA中添加了多个自动机,已经可以正常工作为语法分析提供 token 2. 加入了Error模块用于处理遇到的错误基本框架没有改变等待老师下一次布置作业再更新语法分析吧
2017-10-02 14:09:32 1828
原创 278. First Bad Version
// Forward declaration of isBadVersion API.bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { long long low = 0, high = n; long long mid;
2017-09-28 08:55:51 291
原创 268. Missing Number
class Solution {public: int missingNumber(vector& nums) { int mark = 0; int maxi = nums.size(); for(int i = 0; i <= maxi; ++i) mark ^= i; for(auto i :
2017-09-27 21:58:10 287
原创 260. Single Number III
class Solution {public: vector singleNumber(vector& nums) { int res = 0; for(auto i : nums){ res ^= i; } int dif = ((res - 1) & res) ^ res; int a = 0, b = 0; for(auto i : nums){
2017-09-25 09:18:54 238
原创 239. Sliding Window Maximum
class Solution {public: deque maxs; vector maxSlidingWindow(vector& nums, int k) { vector ans; for(int i = 0; i < nums.size(); ++i){ if(!maxs.empty() && maxs.front() == i-k) maxs.pop_
2017-09-24 23:23:59 230
原创 236. Lowest Common Ancestor of a Binary Tree
class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(!root || root == p || root == q) return root; TreeNode *left = lowestCommonAncestor(root-
2017-09-24 09:55:51 200
原创 235. Lowest Common Ancestor of a Binary Search Tree
class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(!root) return NULL; if(!p) return q; if(!q) return q; TreeNode *r = root; int
2017-09-24 07:47:06 223
原创 230. Kth Smallest Element in a BST
class Solution {public: int ans; int step; stack s; Solution(){ step = 0; } int kthSmallest(TreeNode* root, int k) { TreeNode *p = root; while(p || !s.empty()){ while(p){
2017-09-23 21:19:42 214
原创 228. Summary Ranges
class Solution {public: vector summaryRanges(vector& nums) { vector ans; int start = 0, ending = 0; for(int i = 0; i < nums.size(); ++i){ start = nums[i]; while(i < nums.size()-1 && n
2017-09-21 09:01:28 226
原创 223. Rectangle Area
class matrix{private: static const int TOTOP = 0x8; static const int TOBOTTOM = 0x4; static const int TOLEFT = 0x2; static const int TORIGHT = 1; static const int TOMARK = 0x0f; static const in
2017-09-20 14:04:29 247
原创 222. Count Complete Tree Nodes
class Solution {public: int countNodes(TreeNode* root) { if(!root) return 0; int hl = 0, hr = 0; TreeNode *l = root, *r = root; while(l){ l = l->left; ++hl; } while(r){
2017-09-20 11:43:07 272
原创 221. Maximal Square
class Solution{public: int maximalSquare(vector > matrix){ if(0 == matrix.size()) return 0; int row = matrix.size(), col = matrix[0].size(); vector> dp(row, vector(col, 0)); int maxn =
2017-09-20 10:16:33 280
原创 220. Contains Duplicate III
class Solution {public: bool containsNearbyAlmostDuplicate(vector& nums, int k, int t) { set pot; for(int i = 0; i < nums.size(); ++i){ long long val = nums[i];
2017-09-16 10:57:20 347
原创 219. Contains Duplicate II
class Solution {public: bool containsNearbyDuplicate(vector& nums, int k) { set pot; for(int i = 0; i < nums.size(); ++i){ if(i > k) pot.erase(nums[i-k
2017-09-16 10:24:51 331
原创 216. Combination Sum III
class Solution {private: vector> ans; vector s;public: vector> combinationSum3(int k, int n) { vector visited(10, false); dfs(visited, 1, k, n); return ans; }
2017-09-14 09:11:02 215
原创 213. House Robber II
class Solution {public: int rob(vector& nums) { if(0 == nums.size()) return 0; if(1 == nums.size()) return nums[0]; return max(robLine(nums.begin()
2017-09-12 11:49:14 294
原创 207. Course Schedule
class Solution {public: static const int VISITING = 0; static const int VISITED = 1; static const int NOTVISITED = 2; bool canFinish(int numCourses, vector>& prerequisites) {
2017-09-11 08:31:02 287
原创 209. Minimum Size Subarray Sum
class Solution {public: int minSubArrayLen(int s, vector& nums) { if(0 == nums.size()) return 0; int l = 0, r = 0, ans = 0x7fffffff; int sum = nums[0];
2017-09-10 08:46:50 242
原创 205. Isomorphic Strings
class Solution {public: int smap[256] = {0}; int tmap[256] = {0}; bool isIsomorphic(string s, string t) { for(int i = 0; i < s.size(); ++i){ if(smap[s[i]] == 0)
2017-09-07 08:41:30 220
Apache Commons FileUpload jar
2017-10-10
有关linux c++磁盘映射文件扩容
2017-11-25
有关PHP处理POST请求,如何向客户端返回数据
2017-11-21
有关mysql搜索效率问题
2017-11-21
mysql 字符串无法做主键或建索引
2017-11-21
有关mysql不使用自增主键该如何生成唯一的int
2017-11-20
有关数据库的索引的实现
2017-11-20
有关数据库的索引问题
2017-11-19
网站无法使用SSL且有金钱交易该如何保护客户隐私
2017-11-19
安卓开发从后台中移除应用时应重写的方法
2017-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人