原创 leetcode題目2. 兩數相加

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * };

原创 python分析qq聊天記錄漢字頻率

import re # -*- coding: utf-8 -*- with open('C:\\Users\\BIMK\\Desktop\\1.txt','r+',encoding='UTF-8') as f:#讀qq聊天記錄的導

原创 python Requests庫爬取海量百度圖片

import requests import re import os keyword='安徽大學' ##此處是要抓取的百度圖片 def get(n): url='http://image.baidu.com/search/f

原创 O(n)時間複雜度找到數組中任意一個重複元素

解決思路 用計數排序的思想排序,直到發現重複的結束。 關於計數排序請看:計數排序 代碼 #include<stdio.h> /*檢查數組中重複的元素,並輸出,數組裏面的整數大小不超過n-1,n是數組規模 採用交換下標的方式,時間複雜度

原创 Adaboost集成學習方法用於二分類(基於感知機)

Adaboost原理 開始時,算法爲每個訓練樣本分配相同的權值,然後用弱分類器進行訓練,把錯分的樣本對應得權值增加,對分的樣本權值減小或者不變,再把權值歸一化,並記錄這個分類器的總錯誤率。 如此迭代,最後將多個弱分類器進行有權值(錯誤

原创 決策樹matlab實現二分類或者多分類

代碼解釋 maketree函數遞歸建立樹 tree=struct(‘isnode’,1,‘a’,0.0,‘mark’,0.0,‘child’,{}) 所有分支遞歸的存在child{}中 函數gan(D)計算D的信息率 代碼可以自動適應

原创 BP神經網絡實現分類問題(python)

一些代碼解釋 python版本:3.6 梯度更新 下面的代碼 是對輸出層和隱層的梯度計算,具體可參考周志華機器學習103頁梯度更新公式 for i in range(self.outputn):#計算輸出層的梯度

原创 隨機森林原理及其用於分類問題的matlab實現

隨機森林 隨機森林是多個決策樹的集成學習,每個決策樹用bagging的方法選數據集,並且在選擇最佳屬性劃分的時候隨機劃分一些屬性進行分類,比單個分類器效果更好,泛化能力更強。 代碼解釋 1.用結構體的嵌套實現樹的結構。 2.maker

原创 神經網絡-感知機原理及其matlab代碼實現二分類

感知機簡介 感知機是最簡單的神經網絡,結構如下圖所示: 感知機由輸入層和輸出層組成,輸入層可以有多個,輸入的結果等於每個輸入神經元和權值的乘積xw的和: y=x1w1+x2w2-θ 其中θ可以固定爲-1,因此感知機通過不斷訓練來優化

原创 KNN分類算法原理及其Matlab實現

KNN算法原理 K近鄰算法是一種簡單的監督學習算法。對於給定測試樣本,直接計算該樣本和訓練集的距離,將距離最近的k個“鄰居”點的類別作爲參考,作爲預測結果返回。 測試數據 測試數據來自林智仁的分類任務數據集,鏈接:(https://w

原创 樸素貝葉斯原理(naive bayes)及其matlab代碼

樸素貝葉斯原理 貝葉斯決策以概率決策爲基礎。在假設錯分代價相同的情況下,最小化錯誤率可以等價的看作最大化後驗概率, 即是 max P(c|x)=P(c )P(x|c)/P(x). 樸素貝葉斯假設屬性之間都是互

原创 K-means聚類matlab實現

K-means kmeans用貪心策略,能十分簡單有效的聚類,但是k的選取會影響聚類效果。 聚類效果 初始數據集 聚類之後,紅色*是聚類中心 代碼 function kmeans() clear all; clc; k=3;%k爲

原创 AOJ--字符串全排列

問題 設計算法生成n個元素{r1,r2,…,rn}的全排列。n<=10。按照字典序排列。 思路 可以將問題遞歸的看作兩個部分: 1、依次將字符串的每一個按順序一定到第一位,剩下的長度爲(n-1)的字符串看作一個新的串 如:ab

原创 二叉查找樹詳解

二叉查找樹性質 1、二叉樹 每個樹的節點最多有兩個子節點的樹叫做二叉樹。 2、二叉查找樹 一顆二叉查找樹是按照二叉樹的結構來組織的,並且滿足一下性質: 一個節點所有左子樹上的節點不大於蓋節點,所有右子樹的節點不小於該節點。 對查找樹

原创 2018安徽大學計算機機試3--最短的步數

問題描述 輸入兩個整數n,m,( 0 < n,m<100000)每一次,第一個整數可以執行乘2,、減1、加1三種操 作的任意一種,求n到m至少要多少次這樣的操作。 解決思路 每次可以進行三個操作的其中一個,問題可以轉化成單源最短路徑